Compartilhar via


Personalizar respostas de chat e definir o contexto

Você pode solicitar ao GitHub Copilot Chat que forneça sugestões de código, explique o código, gere testes unitários e sugira correções para o código. O chat no Visual Studio pode fornecer respostas e gerar código que corresponda às práticas de codificação e aos requisitos de projeto, se você fornecer 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.

Neste artigo, você aprenderá a obter melhores respostas fornecendo mais informações para o Copilot Chat:

Saiba mais sobre desenvolvimento assistido por IA no Visual Studio e como usar o Copilot Chat no Visual Studio.

Pré-requisitos

Para começar a usar o GitHub Copilot Chat no Visual Studio, você precisa:

O suporte para o GitHub Copilot Chat é fornecido pelo GitHub e pode ser acessado em https://support.github.com.

Diretrizes de prompting

A experiência de chat guiada no Visual Studio 17.12 e posterior ajuda a refinar seus prompts para esclarecer o contexto para obter melhores respostas. O GitHub Copilot Chat agora orienta você com perguntas esclarecedoras quando o contexto não está claro.

Captura de tela da experiência de chat guiada com o GitHub Copilot Chat.

Usar instruções personalizadas

O recurso de instruções personalizadas permite que você adicione automaticamente detalhes contextuais pré-especificados às suas perguntas de chat. O Copilot Chat usa essas instruções adaptadas ao contexto específico, como a maneira como sua equipe funciona, as ferramentas usadas ou as especificidades do seu projeto ao gerar respostas.

Captura de tela dos arquivos de instrução personalizados usados pelo Copilot na lista Referências.

Usar um arquivo .github/copilot-instructions.md

Para usar um .github/copilot-instructions.md arquivo:

  1. Criar/adicionar um arquivo de instruções personalizado .github/copilot-instructions.md na raiz do repositório.
  1. Habilite o recurso no Visual Studio no painelOpções de >. Expanda a seção All Settings>GitHub>Copilot>Copilot Chat e marque a caixa de seleção Habilitar instruções personalizadas a serem carregadas dos arquivos .github/copilot-instructions.md e adicionadas às solicitações.
  1. Habilite o recurso no Visual Studio na caixa de diálogoOpções de >. Expanda a seção GitHub>Copilot e marque a caixa de seleção Habilitar instruções personalizadas para serem carregadas de arquivos .github/copilot-instructions.md e adicionadas às solicitações no grupo Copilot Chat.

As instruções personalizadas não são visíveis no modo de exibição chat ou no chat embutido. No entanto, quando usado pelo Copilot, o arquivo.github/copilot-instructions.md é listado na lista Referências de uma resposta.

Usar arquivos .instructions.md

Em vez de usar um único arquivo de instruções que se aplica a todas as solicitações de chat, você pode criar vários *.instructions.md arquivos que se aplicam a tipos de arquivo ou tarefas específicas. Por exemplo, você pode criar arquivos de instruções para diferentes linguagens de programação, estruturas ou tipos de projeto.

Para usar um .github/instructions/*.instructions.md arquivo:

  1. Crie o diretório .github/instructions se ele ainda não existir.

  2. Adicione um ou mais .github/instructions/*.instructions.md arquivos.

  3. Adicione a propriedade applyTo na seção de frontmatter do arquivo de instruções. Use a sintaxe glob para especificar a quais arquivos ou pastas as instruções se aplicam.

  4. Habilite o recurso no Visual Studio.

    No painel Ferramentas>Opções, expanda a seção Todas as Configurações>GitHub>Copilot>Copilot Chat e selecione a caixa de seleção Habilitar instruções personalizadas a serem carregadas dos arquivos .github/copilot-instructions.md e adicionadas às requisições.

    Na caixa de diálogoOpções de >, expanda a seção GitHub>Copilot. No grupo Chat do Copilot, selecione a caixa de seleção Habilitar instruções personalizadas a serem carregadas de arquivos .github/copilot-instructions.md e adicionadas às requisições.

Formato de arquivo de instruções

Os arquivos de instrução de destino usam a .instructions.md extensão e têm esta estrutura:

  • Cabeçalho (opcional): metadados iniciais YAML
    • description: Descrição exibida ao passar o mouse na visualização de chat
    • applyTo: padrão Glob que corresponde aos arquivos ou pastas aos quais você deseja aplicar as instruções
  • Corpo: Instruções no formato Markdown

Example

Aqui está um exemplo de instrução personalizada em C#:

## C# Instructions
---
applyTo: `**/*.cs`
---

- Write clear and concise comments for each function.
- Use PascalCase for component names, method names, and public members.
- Use camelCase for private fields and local variables.
- Add a newline before the opening curly brace of any code block  
  (such as after `if`, `for`, `while`, `foreach`, `using`, `try`, etc.).
- Ensure that the final `return` statement of a method is on its own line.

Copie estas instruções no seu arquivo .github/instructions/*.instructions.md para usar e ser aplicado automaticamente ao comportamento do Copilot.

Para obter mais exemplos de instruções personalizadas, consulte a lista de exemplos de instruções no GitHub.

Como funcionam os arquivos de instrução

Quando você começa a trabalhar com o Copilot, ele detecta automaticamente quais arquivos de instrução são relevantes para o contexto atual e os anexa como referências. Isso garante que as sugestões do Copilot estejam sempre alinhadas com as regras do projeto, independentemente de você estar trabalhando na base de código.

Os arquivos de instrução usados pelo Copilot são listados na lista Referências da resposta.

Usar arquivos de prompt

Agora você pode criar arquivos de prompt reutilizáveis em seu repositório para executar ou compartilhar seus prompts usados com frequência.

Para criar um arquivo de prompt:

  1. Escreva seus prompts normalmente na caixa de prompt, usando referências # para incluir informações específicas de sua solução, como métodos, classes e arquivos. Você pode até mesmo referenciar outros arquivos de prompt para obter instruções compartilhadas.
  2. Copie o prompt em um arquivo markdown e salve-o com a extensão .prompt.md na pasta .github/prompts na raiz do seu repositório.

Para usar um arquivo de prompt:

  1. Digite #prompt: na entrada do chat para fazer referência a quaisquer arquivos de prompt da sua pasta .github/prompts ou clique no ícone ➕ na entrada do chat para adicioná-lo como contexto no chat.
  2. Adicione detalhes adicionais ou simplesmente insira o prompt como está.

Captura de tela do uso de arquivos de prompt no GitHub Copilot Chat.

Usar comandos de barra para definir o contexto para tarefas comuns

Os comandos de barra no Copilot Chat ajudam você a definir a intenção rapidamente para tarefas comuns de desenvolvimento. Usando comandos de barra específicos para formar sua pergunta, você pode obter respostas melhores sem precisar escrever perguntas longas.

Você pode usar comandos de barra em uma janela de chat ou diretamente embutidos no código que você está procurando modificar, usando a assistência de código embutido. Os comandos que ajudam a modificar ou adicionar ao arquivo de código que você abriu no editor funcionam tanto no assistente de código embutido quanto nas janelas de chat, enquanto os comandos para perguntas de codificação mais gerais funcionam apenas no painel de chat.

Comando Uso janela de chat Chats embutido
/Doc Adicione comentários para o código especificado ou selecionado.
Exemplos:
- /doc DeleteBasketAsync method in BasketService.cs
- selecione o código desejado e insira /doc
Sim Sim
/explicar Obtenha explicações de código.

Exemplos:
- /explain the AddItemToBasket method in BasketService.cs
- selecione o código desejado e insira /explain
Sim Sim
/consertar Propor uma correção para problemas no código selecionado.
Exemplos:
- /fix the SetQuantities method in BasketService.cs
- selecione o código desejado e insira /fix
Sim Sim
/gerar Gere código para responder à pergunta especificada.
Exemplo: /generate code to add two numbers in Calculator.cs
Sim Sim
/Ajuda Obtenha ajuda sobre como usar o Copilot Chat.
Exemplo: /help
Sim Sim
/otimizar Analise e melhore o tempo de execução do código selecionado.
Exemplos:
- /optimize the AddItemToBasket method in BasketService.cs
- selecione o código desejado e insira /optimize
Sim Sim
/Testes Crie testes de unidade para o código selecionado.
Exemplo: selecione o código desejado e insira /tests using XUnit Framework
Para o .NET, recomendamos o Teste de Copilot do GitHub para .NET
Sim Sim

Captura de tela dos comandos de barra no modo de exibição de chat embutido e nas janelas de chat.

Com o Visual Studio 2022 versão 17.13, quando o usuário digita um comando de barra invertida (slash), o comando expande para fora o prompt em linguagem natural para exibir o contexto do próprio comando.

Usar ações do Copilot

Você pode usar ações do Copilot no menu de contexto para acessar rapidamente prompts pré-configurados e comandos de barra para tarefas comuns de desenvolvimento.

Captura de tela das ações do Copilot no menu de contexto.

O comportamento de cada ação depende se você tiver o código selecionado ao abrir o menu de contexto:

Ação Com o código selecionado Sem código selecionado
Explicar Explica o código selecionado Explica o código próximo à posição do cursor
Otimizar Seleção Otimiza o código selecionado para desempenho, manutenção, confiabilidade e arquitetura Não aplicável
Gerar comentários Gera comentários para o código selecionado Gerar comentários para código próximo à posição do cursor
Gerar testes Gera testes para o código selecionado Gerar testes para código próximo à posição do cursor
Adicionar ao Chat Adiciona o código selecionado ao Chat como referência Adicionar o arquivo inteiro ao Chat como referência

Quando você seleciona qualquer ação, exceto Otimizar Seleção, a janela de chat é aberta automaticamente e envia um comando de barra para Copilot com o contexto de escopo apropriado. Em seguida, você pode examinar e interagir com a resposta do Copilot na janela de chat.

Usar a opção Otimizar Seleção para obter um código melhor

Selecione uma seção específica do código e escolha Otimizar Seleção para que o Copilot analise e melhore apenas essa seção, em vez de um arquivo inteiro.

Copilot examina o código selecionado e seu contexto ao redor para fornecer sugestões significativas e com reconhecimento de contexto. A otimização preserva seu estilo de código, estrutura e funcionalidade existentes, mantendo sua base de código organizada e consistente. Ao contrário de outras ações que usam o painel de chat, Optimize Selection apresenta sugestões como uma diferença inline que você pode examinar, aceitar ou rejeitar diretamente.

O Copilot fornece sugestões de otimização entre estas áreas:

  • Desempenho: Algoritmos mais rápidos, uso reduzido de memória, padrões assíncronos
  • Manutenibilidade: Lógica simplificada, estrutura mais clara, melhor nomenclatura
  • Fiabilidade: Tratamento de erros, limpeza de recursos, segurança de thread
  • Arquitetura: Injeção de dependência, interfaces melhores, design modular

Próximas etapas