Personalizar as respostas do bate-papo do Copilot do GitHub

Concluído

O GitHub Copilot Chat pode gerar respostas e códigos que correspondem às suas práticas de codificação e requisitos do projeto quando recebem o contexto certo. Em vez de adicionar repetidamente essas informações em cada prompt de chat, você pode armazenar esse contexto em arquivos e incluí-lo automaticamente em cada solicitação de chat.

Há três maneiras principais de personalizar respostas de IA no Visual Studio Code:

  • Instruções personalizadas: defina diretrizes comuns para tarefas como gerar código, executar revisões de código ou gerar mensagens de confirmação. Eles descrevem como as tarefas devem ser executadas e podem especificar práticas de codificação, tecnologias preferidas, regras de segurança ou formatos de mensagem de confirmação.

  • Arquivos de prompt: defina prompts reutilizáveis para tarefas comuns. Esses prompts independentes descrevem o que deve ser feito e podem incluir componentes de suporte, execução de revisões de código, criação de guias passo a passo ou geração de planos de implementação.

  • Modos de chat personalizados: defina como o chat funciona, quais ferramentas ele pode usar e como ele interage com a base de código. Os exemplos incluem modos de planejamento com acesso somente leitura, modos de pesquisa que acessam recursos externos ou modos específicos de função, como desenvolvimento front-end.

Instruções personalizadas

As instruções personalizadas permitem que você descreva diretrizes que obtêm respostas que correspondem às suas práticas específicas de codificação e pilha de tecnologia. Em vez de incluir manualmente esse contexto em cada consulta de chat, as instruções personalizadas incorporam automaticamente essas informações a cada solicitação de chat.

Note

As instruções personalizadas não são levadas em conta para a conclusão do código.

Tipos de instruções personalizadas

O Visual Studio Code oferece suporte a três maneiras de definir instruções personalizadas:

Tipo Description Casos de uso
.github/copilot-instructions.md Arquivo de marcação único no espaço de trabalho, incluído automaticamente em todas as solicitações, suporte a editores cruzados. Práticas gerais de codificação, tecnologias preferidas, requisitos de todo o projeto.
.instructions.md files Vários ficheiros Markdown com suporte a padrões globais, armazenamento em espaço de trabalho ou perfil do utilizador. Instruções específicas da tarefa, controle granular sobre quando as instruções se aplicam.
Configurações de código do Visual Studio Instruções nas configurações de usuário/espaço de trabalho para cenários específicos. Geração de código, geração de testes, mensagens de confirmação, revisões de código, descrições de RP.

Você pode combinar essas abordagens, mas evitar instruções conflitantes, pois nenhuma ordem de prioridade é aplicada.

Exemplos de instruções personalizadas

Orientações gerais de codificação:

---
applyTo: "**"
---
# Project coding standards

## Naming Conventions
- Use PascalCase for component names, interfaces, and type aliases.
- Use camelCase for variables, functions, and methods.
- Prefix private class members with underscore (_).
- Use ALL_CAPS for constants.

## Error Handling
- Use try/catch blocks for async operations.
- Implement proper error boundaries in React components.
- Always log errors with contextual information.

Diretrizes para TypeScript e React

---
applyTo: "**/*.ts,**/*.tsx"
---
# TypeScript and React standards

Apply the [general coding guidelines](./general-coding.instructions.md) to all code.

## TypeScript Guidelines
- Use TypeScript for all new code.
- Follow functional programming principles where possible.
- Use interfaces for data structures and type definitions.
- Prefer immutable data (const, readonly).
- Use optional chaining (?.) and nullish coalescing (??) operators.

## React Guidelines
- Use functional components with hooks.
- Follow the React hooks rules (no conditional hooks).
- Use React.FC type for components with children.
- Keep components small and focused.
- Use CSS modules for component styling.

Use o arquivo .github/copilot-instructions.md

Armazene instruções personalizadas em um .github/copilot-instructions.md arquivo na raiz do espaço de trabalho para descrever práticas de codificação, tecnologias preferidas e requisitos de projeto. Estas instruções aplicam-se apenas à área de trabalho e são automaticamente incluídas em todos os pedidos de chat.

Etapas de configuração:

  1. Defina github.copilot.chat.codeGeneration.useInstructionFiles como true.
  2. Crie .github/copilot-instructions.md na raiz do espaço de trabalho.
  3. Descreva instruções usando linguagem natural e formato Markdown.

Note

Esse arquivo funciona em Visual Studio Code, Visual Studio e GitHub.com.

Usar arquivos .instructions.md

Crie vários .instructions.md arquivos para tarefas específicas, linguagens de programação, estruturas ou tipos de projeto. Eles podem ser aplicados automaticamente com base em padrões de arquivo ou anexados manualmente a prompts de bate-papo.

Localizações dos ficheiros:

  • Arquivos do espaço de trabalho: armazenados na .github/instructions pasta, disponíveis somente dentro do espaço de trabalho.
  • Arquivos de usuário: armazenados no perfil de código do Visual Studio, disponíveis em vários espaços de trabalho e sincronizados por meio da Sincronização de configurações.

Estrutura do ficheiro:

---
description: "Brief description of the instructions file"
applyTo: "**/*.ts,**/*.tsx"  # Glob pattern for automatic application
---
# Instructions content in Markdown format

Criar e usar arquivos de instruções:

  1. Executar Chat: New Instructions File a partir da paleta de comandos.
  2. Escolha o espaço de trabalho ou o local do usuário.
  3. Insira as instruções de nome e autor em Markdown.
  4. Use Chat: Configure Instructions para editar arquivos existentes.

Fixação manual:

  • Na vista de Chat: Adicionar Instruções de Contexto >
  • Paleta de comandos: Chat: Attach Instructions

Aplicação automática: use applyTo metadados com padrões glob (** para todas as solicitações, padrões específicos para o aplicativo direcionado)

Especificar instruções personalizadas nas configurações

Configure instruções personalizadas nas configurações de código do Visual Studio para cenários específicos:

Scenario Setting
Geração de código github.copilot.chat.codeGeneration.instructions
Geração de testes github.copilot.chat.testGeneration.instructions
Revisão do código github.copilot.chat.reviewSelection.instructions
Confirmar mensagens github.copilot.chat.commitMessageGeneration.instructions
Títulos/descrições de RP github.copilot.chat.pullRequestDescriptionGeneration.instructions

Defina instruções como texto ou arquivos externos de referência:

"github.copilot.chat.codeGeneration.instructions": [
  {
    "text": "Always add a comment: 'Generated by Copilot'."
  },
  {
    "text": "In TypeScript always use underscore for private field names."
  },
  {
    "file": "general.instructions.md"
  },
  {
    "file": "db.instructions.md"
  }
]

Práticas recomendadas para instruções personalizadas

  • Mantenha as instruções concisas: cada instrução deve ser uma declaração única e simples.
  • Evite referências externas: não se refira a padrões ou recursos de codificação externos.
  • Organizar por tópico: Divida as instruções em vários arquivos para uma melhor organização.
  • Habilitar compartilhamento de equipe: armazene instruções em arquivos com controle de versão para colaboração em equipe.
  • Utilizar a aplicação direcionada: tirar partido da applyTo propriedade para obter instruções específicas do arquivo.
  • Referência eficiente: faça referência a instruções personalizadas em arquivos de prompt para evitar duplicação.

Summary

As instruções personalizadas no GitHub Copilot Chat permitem que você defina práticas de codificação, tecnologias preferidas e requisitos de projeto que são incluídos automaticamente em cada solicitação de bate-papo. Utilizando .github/copilot-instructions.md arquivos, .instructions.md arquivos ou definições do Visual Studio Code, pode garantir que as respostas geradas por IA estejam alinhadas com os seus padrões de codificação e necessidades do projeto. Essa abordagem melhora a qualidade e a relevância da assistência de IA, mantendo o controle sobre o processo de codificação.