Configurar instruções para revisão do código do Copilot

Serviços de DevOps do Azure

Important

Esta funcionalidade está em pré-visualização limitada.

Algumas funcionalidades podem ainda não estar disponíveis no seu ambiente, pois a Microsoft está a lançar capacidades de pré-visualização em etapas. Funcionalidades podem mudar ou ser removidas sem aviso prévio. As funcionalidades de pré-visualização não têm Acordo de Nível de Serviço (SLA) e têm suporte limitado.

Use instruções personalizadas para adaptar o comportamento de revisão de código do Copilot ao nível da organização, projeto e repositório. Instruções personalizadas orientam o Copilot a focar-se em normas específicas de codificação, melhores práticas ou políticas organizacionais.

Pré-requisitos

Categoria Requirements
Ativação de funcionalidades A revisão de código do Copilot deve ser ativada ao nível da organização, projeto e repositório.
Permissões de organização Permissões do Administrador da Project Collection para adicionar ou modificar instruções personalizadas ao nível da organização.
Project permissions Permissões do Project Administrator para adicionar ou modificar instruções personalizadas ao nível do project.
Permissões do repositório Envie permissões de administrador para o repositório para adicionar ou modificar instruções personalizadas ao nível do repositório.

Escopos de instruções personalizados

Pode definir instruções personalizadas em múltiplos escopos:

  • Nível organizacional: Normas de referência que se aplicam a todos os projetos.
  • Nível de Project: Normas específicas de equipa ou project.
  • Nível de repositório: Padrões específicos de repositórios em .github/copilot-instructions.md ou .azuredevops/copilot-instructions.md.

Quando existem instruções em múltiplos escopos, o Copilot utiliza todas as instruções aplicáveis durante a revisão.

Note

O Copilot lê apenas ficheiros de instruções ao nível de repositório e com escopo de caminho do ramo de destino do pull request. Alterações aos ficheiros de instruções no pull request não afetam a sua revisão. O Copilot só usa as alterações depois de estas serem integradas no ramo alvo.

Organização e instruções personalizadas do projeto

Configure instruções personalizadas ao nível da organização e do projeto nas definições do Azure DevOps. Utilize estes âmbimos para políticas amplas, como requisitos de segurança, regras de conformidade ou convenções linguísticas partilhadas por múltiplos repositórios.

Ficheiro de instruções personalizadas do repositório

Armazene instruções personalizadas em qualquer um .github/copilot-instructions.md dos dois ou .azuredevops/copilot-instructions.md na raiz do seu repositório. O Copilot lê este ficheiro em cada revisão para compreender as diretrizes específicas do seu repositório.

.github/
   copilot-instructions.md
   instructions/
      api.instructions.md

.azuredevops/                       # same files work here too
   copilot-instructions.md
   instructions/
      api.instructions.md

Criar instruções personalizadas

  1. No teu repositório, cria uma .github pasta OR .azuredevops se ainda não existir.
  2. Crie um novo ficheiro chamado copilot-instructions.md na .github pasta ou..azuredevops
  3. Adiciona as tuas instruções personalizadas em formato Markdown.
  4. Faz commit e envia o ficheiro para o teu repositório.

Adicionar instruções com escopo de caminho

Use ficheiros de instruções com escopo de caminho quando quiser regras diferentes para pastas específicas, tipos de ficheiros ou tecnologias.

  • Crie um ou mais *.instructions.md ficheiros em ou .azuredevops/instructions/.github/instructions/ em .
  • Adiciona matéria inicial YAML com um applyTo valor que vise ficheiros correspondentes.
  • Mantenha a orientação focada numa língua ou preocupação por ficheiro.

O Copilot aplica regras de escopo de caminho apenas a ficheiros alterados que correspondam aos applyTo padrões.

Formato de ficheiro com escopo de caminho

---
applyTo: "**/*.ts,**/*.tsx"
---

## TypeScript standards

- Avoid `any`; prefer `unknown` or a specific type.
- Prefer `const`; avoid `var`.
- Use optional chaining (`?.`) and nullish coalescing (`??`) where appropriate.

Exemplos de padrões applyTo

  • applyTo: "**" Aplica-se a todos os ficheiros.
  • applyTo: "**/*.cs" aplica-se a todos os ficheiros C#.
  • applyTo: "**/*.sql,**/Settings.xml" Aplica-se a múltiplos padrões.

Se um ficheiro com escopo de caminho não incluir applyTo, o Copilot ignora esse ficheiro.

Melhores práticas para instruções personalizadas

  • Seja específico: Forneça orientações claras e acionáveis sobre os tipos de problemas que o Copilot deve identificar.
  • Foque-se nas áreas de maior impacto: Dê prioridade à qualidade do código, à segurança e às preocupações de desempenho relevantes para a sua base de código.
  • Inclua exemplos: Quando apropriado, forneça exemplos de código de problemas a procurar ou padrões a evitar.
  • Seja conciso: O Copilot processa todo o processo de cada avaliação, por isso seja direto e evite explicações extensas.
  • Atualize regularmente: Revise e atualize as instruções à medida que os seus padrões de codificação evoluem.

Instruções personalizadas de exemplo

# Copilot code review instructions

## Security focus
- Flag any hardcoded credentials, API keys, or sensitive data
- Identify potential SQL injection or XSS vulnerabilities
- Check for secure use of cryptographic functions

## Performance considerations
- Suggest database query optimizations
- Identify N+1 query problems
- Flag inefficient loops or algorithms

## Team coding standards
- Enforce naming conventions (camelCase for variables, PascalCase for classes)
- Check for proper error handling and logging
- Ensure consistent use of async/await patterns

## Documentation requirements
- Flag missing or incomplete function documentation
- Verify that complex logic includes explanatory comments

Nível organizacional

Adicione instruções personalizadas ao nível da organização para definir padrões gerais de revisão em toda a sua empresa.

As instruções ao nível da organização influenciam a revisão de código do Copilot para todos os projetos e repositórios dessa organização, por isso utilize-as para requisitos que todas as equipas devem seguir.

Captura de ecrã da configuração personalizada de instruções ao nível da organização mostrando definições que se aplicam a todos os projetos e repositórios numa organização.

Nível do projeto

Adicione instruções personalizadas ao nível do projeto para definir padrões de revisão partilhada em todos os repositórios do projeto.

As instruções ao nível do Project influenciam a revisão de código do Copilot para todos os repositórios desse project, por isso use-as para convenções que todas as equipas do project devem seguir.

Captura de ecrã da configuração personalizada de instruções ao nível do projeto, mostrando as definições que se aplicam a todos os repositórios de um projeto.

Ordem de precedência

Quando as instruções se sobrepõem, o Copilot aplica-as nesta ordem de precedência:

  1. Instruções ao nível do repositório
  2. Instruções ao nível do Project
  3. Instruções ao nível da organização

As instruções do repositório têm a precedência mais alta, seguidas pelas instruções ao nível do projeto e, depois, pelas instruções ao nível da organização.

Se duas instruções entrarem em conflito, o Copilot usa a instrução com o âmbito de precedência superior.

Note

A ordem de precedência orienta o comportamento de revisão do Copilot, mas não é garantida. Como o Copilot utiliza um modelo de linguagem grande, pode ocasionalmente interpretar ou aplicar instruções contraditórias de forma diferente.

Obter ajuda

Para instruções personalizadas de resolução de problemas e respostas a perguntas frequentes sobre revisão de código do Copilot, consulte Resolução de Problemas de revisão do código do Copilot.

Passo seguinte