Personalizar respostas de Copilot Chat do GitHub

Concluído

O GitHub Copilot Chat pode gerar respostas e código que correspondam às práticas de codificação e aos requisitos do projeto quando dado 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. Elas descrevem como as tarefas devem ser executadas e podem especificar práticas de codificação, tecnologias preferenciais, regras de segurança ou formatos de mensagem de confirmação.

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

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

Instruções personalizadas

As instruções personalizadas permitem que você descreva diretrizes que recebam respostas compatíveis com suas práticas de codificação e pilha tecnológica específicas. 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

Instruções personalizadas não são levadas em conta para conclusões de código.

Tipos de instruções personalizadas

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

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

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

Exemplos de instruções personalizadas

Diretrizes 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 de 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.

Usar o arquivo .github/copilot-instructions.md

Armazene instruções personalizadas em um .github/copilot-instructions.md arquivo na raiz do workspace para descrever práticas de codificação, tecnologias preferenciais e requisitos de projeto. Essas instruções se aplicam somente ao workspace e são incluídas automaticamente em cada solicitação de chat.

Etapas de instalação:

  1. Verifique se github.copilot.chat.codeGeneration.useInstructionFiles está habilitado (ativado por padrão em versões recentes do Visual Studio Code).
  2. Criar .github/copilot-instructions.md na raiz do workspace.
  3. Descrever instruções usando o idioma natural e o 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. Elas podem ser aplicadas automaticamente com base em padrões de arquivo ou anexadas manualmente a prompts de chat.

Locais do arquivo:

  • Arquivos de workspace: armazenados na .github/instructions pasta, disponíveis somente no workspace.
  • User files: armazenados no perfil do Visual Studio Code, disponíveis em vários espaços de trabalho e sincronizados através da Sincronização de Configurações.

Estrutura de arquivo:

---
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. Execute Chat: New Instructions File na Paleta de Comandos.
  2. Escolha o workspace ou o local do usuário.
  3. Insira instruções de nome e autor no Markdown.
  4. Use Chat: Configure Instructions para editar arquivos existentes.

Anexo manual:

  • No modo de exibição de chat: adicionar instruções de contexto >
  • Paleta de comandos: Chat: Attach Instructions

Aplicativo automático: usar applyTo metadados com padrões glob (** para todas as solicitações, padrões específicos para o aplicativo de destino)

Especificar instruções personalizadas nas configurações

Configure instruções personalizadas nas configurações de Visual Studio Code para cenários específicos:

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

Defina instruções como texto ou referenciar arquivos externos:

"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 única instrução simples.
  • Evite referências externas: não se refira a padrões ou recursos de codificação externos.
  • Organizar por tópico: dividir instruções em vários arquivos para uma organização melhor.
  • Habilitar o compartilhamento de equipe: armazene instruções em arquivos controlados por versão para colaboração em equipe.
  • Utilize o aplicativo direcionado: utilize a propriedade para obter instruções específicas do arquivo.
  • Referencie com eficiência: faça referência a instruções personalizadas em arquivos de prompt para evitar a duplicação.

Arquivos de prompt

Os arquivos de prompts são prompts de tarefas reutilizáveis ​​e independentes, armazenados como arquivos .prompt.md. Ao contrário das instruções personalizadas — que descrevem como o GitHub Copilot deve responder — os arquivos de prompt descrevem o que deve ser feito para uma tarefa específica. Você os executa sob demanda em vez de fazer com que eles se apliquem automaticamente a cada solicitação.

Os arquivos de prompts são adequados para fluxos de trabalho de codificação repetitivos: criar a estrutura de um novo componente, gerar um primeiro rascunho de um documento de requisitos de produto, realizar uma revisão de código ou iniciar uma sessão com o contexto do seu projeto previamente carregado.

Criar um arquivo de prompt

Armazene arquivos de prompt na .github/prompts/ pasta em seu workspace. O nome do arquivo torna-se o nome do prompt.

Estrutura de arquivo:

---
mode: "ask"
description: "Generate a product requirements document for a new feature"
---
# Generate a PRD

Create a product requirements document for the described feature.

Include the following sections:
- Product summary
- Target audience
- Core features (prioritized by must-have / should-have / could-have)
- Out of scope
- Technical requirements

Feature description: ${input:Feature description}

Executar um arquivo de prompt

  • Paleta de Comandos: execute Chat: Run Prompt e selecione o arquivo.
  • Entrada de chat: digite # na visualização de chat e selecione o arquivo de prompts pelo nome.

Os arquivos de prompts aceitam os valores mode de ask, edit, e agent. Eles também podem referenciar seus arquivos de instruções personalizados usando a sintaxe de link markdown para evitar a duplicação de conteúdo entre arquivos.

Modos de chat personalizados

Os modos de chat personalizados permitem que você configure como o painel de Copilot Chat do GitHub opera para um fluxo de trabalho específico. Você define quais ferramentas estão disponíveis, como a IA interage com sua base de código e qual função ela deve desempenhar sem modificar suas instruções personalizadas.

Para codificação de vibração, é especialmente útil para separar a fase de planejamento da fase de construção. Um modo de planejamento pode restringir o GitHub Copilot à análise em modo somente leitura para que ele proponha designs sem fazer alterações, enquanto um modo de implementação desbloqueia ferramentas completas de edição.

Criar um modo de chat personalizado

Armazene arquivos de modo de chat personalizados na .github/chatmodes/ pasta em seu workspace.

Estrutura de arquivo:

---
description: "Plan mode: read-only analysis and architecture decisions"
tools: []
---
You are a software architect in planning mode. Analyze the codebase, identify patterns, suggest designs, and answer questions — but do not make any code changes.

Configurações comuns do modo de chat para codificação de vibração:

Modo Tools Caso de uso
Planejamento Nenhum (somente leitura) Decisões de arquitetura, design de recursos, revisão de PRD
Pesquisar Pesquisa na Web Investigando bibliotecas, comparando abordagens
Implementation Acesso completo à ferramenta Escrevendo e editando código, executando comandos
Review Somente leitura Revisão de código, auditoria de segurança, verificação de desempenho

Usar um modo de chat personalizado

Selecione o modo no seletor de modo de chat na barra de ferramentas da visualização de chat. O modo persiste durante a sessão até que você o altere.

Summary

Personalizar respostas do GitHub Copilot permite que você modele a assistência à IA para se ajustar ao seu fluxo de trabalho específico. Instruções personalizadas – usando arquivos .github/copilot-instructions.md, arquivos .instructions.md ou as configurações do Visual Studio Code – definem como o GitHub Copilot deve responder, codificando suas práticas de codificação, padrões e preferências. Os arquivos de prompt definem o que deve ser feito para tarefas recorrentes, oferecendo prompts reutilizáveis que você pode executar sob demanda. Os modos de chat personalizados configuram como a sessão de chat funciona, permitindo alternar entre planejamento, pesquisa, implementação e revisão de fluxos de trabalho sem alterar suas instruções subjacentes. Juntas, essas três ferramentas ajudam você a criar um ambiente de programação com estilo consistente, onde o GitHub Copilot compreende o seu projeto desde o princípio.