Compartilhar via


Obter melhores respostas definindo o contexto para o GitHub Copilot Chat no Visual Studio

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. Além do seu comando, o Copilot utiliza contexto adicional, como o código no seu arquivo atual e o histórico do chat, para gerar uma resposta.

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

  • Use comandos de barra para especificar rapidamente tarefas comuns, como /explain obter explicações de código.
  • Use a experiência de chat guiada e as instruções personalizadas para refinar o contexto.
  • Anexe imagens ao prompt para fornecer contexto adicional e ilustrar melhor suas ideias.
  • Limite o chat a arquivos específicos usando as referências .
  • Examine a origem usada pelo Copilot para gerar a resposta.
  • Use threads diferentes para cada um dos chats do Copilot para que você possa manter contextos diferentes em cada um.

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 será 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.

Habilitar 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.

Para configurar instruções personalizadas:

  1. Criar/adicionar um arquivo de instruções personalizado .github/copilot-instructions.md na raiz do repositório.
  2. Habilite o recurso no Visual Studio por meio das Tools>Options>GitHub>Copilot> selecionar (versão prévia) Habilitar instruções personalizadas a serem carregadas de arquivos .github/copilot-instructions.md e adicionadas às solicitações..

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 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 no Copilot Chat 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 funcionarão 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
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, conforme o usuário digita um comando de barra, o comando expande o prompt em linguagem natural para exibir o contexto que o comando usará.

Anexar imagens a um prompt de chat

Com a integração visual do Copilot Chat no Visual Studio 17.14 Versão Prévia 1 e posterior, você pode anexar imagens ao prompt de chat, fornecendo ao Copilot contexto adicional para respostas aprimoradas. Use imagens em combinação com escopo e outros recursos contextuais, como comandos de barra para gerar respostas personalizadas.

No exemplo a seguir, Copilot interpreta a imagem anexada para gerar um plano e sugerir código para criar um jogo de Breakout colorido do zero.

Captura de tela de um cenário de exemplo de adição de uma imagem no Copilot Chat.

Referência: escopo dos resultados do Copilot para um arquivo específico ou solução inteira

Você pode fazer suas perguntas relacionadas à codificação em linguagem natural e o GitHub Copilot Chat responderá a elas no contexto da base de código aberta no Visual Studio. Com referências, você pode obter informações mais específicas sobre as informações que deseja que o Copilot considere ao responder à sua pergunta.

Ao selecionar um contexto específico em sua base de código, você é capaz de formar perguntas melhores facilmente sem precisar escrever ou colar informações longas. Especificar o contexto também permite que o Copilot forneça respostas mais relevantes.

Referenciar um arquivo

Para fazer referência facilmente a um arquivo no GitHub Copilot Chat, basta adicionar um símbolo # no início do nome do arquivo. Por exemplo, se você tiver um arquivo chamado BasketService.cs, consulte-o no chat como #BasketService.cs.

Captura de tela das referências no Copilot Chat.

Referenciar um método, classe ou função

Com Visual Studio 2022 versão 17.11, agora você pode referenciar um método, classe ou função específico no GitHub Copilot Chat.

Para fazer referência facilmente a um método, classe ou função no GitHub Copilot Chat, basta adicionar um símbolo # no início do método, classe ou nome da função. Por exemplo, se você tiver um método chamado BasketAddItem, consulte-o no chat como #BasketAddItem.

Captura de tela de referências a métodos no GitHub Copilot Chat no Visual Studio.

Referenciar a solução inteira

Use @workspace para se referir à solução ativa no IDE para obter contexto. Ao usar @workspace para contexto, o Copilot Chat aproveita as informações sobre os arquivos, projetos e configurações que estão abertos e sendo trabalhados no seu IDE. Isso permite que o Copilot Chat forneça sugestões e respostas mais relevantes e com reconhecimento de contexto.

Captura de tela da referência ao contexto da solução no Copilot Chat.

Com o Visual Studio 2022 versão 17.11, os assinantes do GitHub Copilot Enterprise agora podem usar @github no chat para incluir o contexto de todo o repositório e pesquisar na internet (se a pesquisa estiver habilitada pelo administrador). Para saber mais sobre a coleção de habilidades específicas do GitHub que o Copilot pode usar para responder à sua pergunta ao usar @github, consulte Usando as habilidades do GitHub para o Copilot.

Captura de tela do uso de habilidades do GitHub no Copilot Chat.

Janela de saída de referência

Agora você pode usar a janela de saída como contexto no chat para fazer perguntas e obter ajuda nos logs de saída. As janelas de saída com suporte incluem Build, Depuração, Testes, Controle do Código-Fonte, Gerenciador de Pacotes ou qualquer outro painel de janela de saída ativo.

Faça referência aos logs de saída no chat de uma das seguintes maneiras:

  • Use #output para referenciá-lo diretamente no chat.
  • Selecione o ➕ ícone na entrada do chat e adicione Output logs como contexto.
  • Pergunte diretamente ao Copilot, por exemplo, verifique meus logs de saída e ajude-me a corrigir esse erro.
  • Clique com o botão direito do mouse na Janela de Saída e selecione Explicar com Copilot para anexá-la.

Captura de tela da janela de saída como contexto no Copilot Chat.

Exemplos de uso

Aqui estão alguns exemplos de como usar referências para controle de contexto:

Exemplo Contexto usado por Copilot para formar a pergunta
Qual é a finalidade do #MyFile.cs: 66-72? Seção exata do arquivo
Onde estão os testes em #BasketService.cs? BasketService.cs
/explain o #AddItemToBasket em #BasketService.cs Método AddItemToBasket em BasketService.cs
Existe um método de exclusão de carrinho neste @workspace Solução atual aberta no IDE
Tenho um método de teste chamado #TestCalculator. Como posso garantir que ele esteja sendo executado corretamente? Método TestCalculator
Você poderia explicar as diferenças entre as classes #BasketService e #OrderService? Classe BasketService e classe OrderService
Na minha @workspace onde está #AddItemToBasket? Solução atual aberta no IDE

Examinar as fontes usadas pelo Copilot Chat

O Copilot Chat exibe o contexto usado após cada resultado, para que você possa dizer o que foi levado em conta ao responder à sua pergunta. Quando você faz uma pergunta a um Copilot Chat e recebe uma resposta na janela de chat, um menu suspenso Referências aparece abaixo da resposta. As entradas na lista suspensa Referências mostram o contexto referenciado pelo Copilot Chat para gerar essa resposta. Essas informações podem ajudá-lo a modificar sua pergunta para obter respostas melhores e mais relevantes.

Captura de tela do menu suspenso de referências usadas no Copilot Chat.

Organizar: isolar chats com Copilot em threads

Se você estiver usando o Copilot Chat extensivamente para fazer perguntas à medida que codifica, poderá organizar suas conversas de uma maneira que as mantenha no tópico. O Copilot Chat para Visual Studio agora fornece uma maneira fácil de iniciar novas conversas (threads) para mantê-las focadas na tarefa em questão e manter o contexto claro para que as respostas sejam baseadas no histórico relevante.

Novo thread de chat

Selecione Criar novo thread ou Ctrl+N na janela de chat para iniciar um novo thread.

Captura de tela do ícone Criar novo tópico no Copilot Chat.

Mudar thread de chat

Você pode selecionar entre vários threads contínuos para fornecer o contexto histórico certo para sua pergunta. Você pode usar Ctrl+PgDown para thread anterior ou Ctrl+PgUp para o próximo thread na janela de chat. Ctrl+Shift+T expande a lista suspensa de tópicos.

Captura de tela da alternância entre threads em andamento no Copilot Chat.

Promover chat embutido para a janela de chat

Com o visual Studio 2022 versão 17.11, agora você pode preservar o histórico do chat embutido promovendo-o para a janela de chat. Selecione Continuar na janela de bate-papo... para manter um registro e o contexto da conversa e continuar na janela de bate-papo.

Captura de tela da promoção de um tópico em andamento no chat integrado para a janela de chat.

Práticas recomendadas

O Copilot Chat usa o histórico de chat para obter contexto sobre sua solicitação. Para dar a Copilot apenas o histórico relevante:

  • Use threads para iniciar uma nova conversa para uma nova tarefa.
  • Exclua solicitações que não são mais relevantes ou que não lhe deram o resultado desejado.

Mantenha a conversa de chat aberta e continue iterando e solicite ao Copilot que melhore a solução sugerida. Copilot tem o contexto do código gerado e seu histórico de conversa atual. À medida que você continua fazendo perguntas adicionais, o Copilot refina ainda mais a resposta de acordo com seus requisitos. Confira Engenharia de prompt para o GitHub Copilot para obter estratégias sobre o uso eficaz de prompts para aprimorar os seus resultados do Copilot.

Próximas etapas