Obter melhores respostas definindo o contexto para o GitHub Copilot Chat no Visual Studio
Você pode usar o GitHub Copilot Chat no Visual Studio para obter informações de codificação e suporte, como sintaxe, conceitos de programação, ajuda de código específica de contexto, casos de teste, depuração e muito mais, sem sair do IDE. O Copilot Chat é integrado ao Visual Studio, o que significa que ele pode entender no que você está trabalhando coletando pistas úteis do que você tem no IDE.
Além do prompt, o Copilot usa contexto adicional, como o código no arquivo atual e o histórico de chat, para gerar uma resposta. Neste artigo, você aprenderá a obter melhores respostas fornecendo mais informações para o Copilot Chat, entre elas:
- 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, e as instruções personalizadas e, para refinar o contexto no Visual Studio 17.12 ou posterior.
- Escopo do chat para arquivos específicos usando 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 AI 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:
- Visual Studio 2022 versão 17.8 ou posterior
- Assinatura ativa do GitHub Copilot for Individuals ou do GitHub Copilot for Business
- GitHub Copilot no Visual Studio
- GitHub Copilot Chat no Visual Studio
- Entre no Visual Studio com a conta do GitHub que tem uma assinatura ativa do GitHub Copilot
O suporte para o GitHub Copilot Chat será fornecido pelo GitHub e pode ser acessado em https://support.github.com.
Orientação de solicitação
A experiência de chat guiado 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.
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:
- Criar/adicionar um arquivo de instruções personalizado
.github/copilot-instruction.md
na raiz do repositório. - 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 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 ao código especificado ou selecionado. Exemplos: - /doc DeleteBasketAsync method in BasketService.cs - selecione o código desejado e insira /doc |
Sim | Sim |
/explain | Obter explicações do código. Exemplos: - /explain the AddItemToBasket method in BasketService.cs - selecione o código desejado e insira /explain |
Sim | Sim |
/fix | Propor uma correção para os problemas no código selecionado. Exemplos: - /fix the SetQuantities method in BasketService.cs - selecione o código desejado e insira /fix |
Sim | Sim |
/generate | Gerar código para responder à pergunta especificada. Exemplo: /generate code to add two numbers in Calculator.cs |
Sim | Sim |
/help | Obtenha ajuda para usar o Copilot Chat. Exemplo: /help |
Sim | Sim |
/optimize | Analisar e melhorar 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 | Criar testes de unidade para o código selecionado. Exemplo: selecione o código desejado e insira /tests using XUnit Framework |
Sim | Sim |
Referência: escopo dos resultados do Copilot para um arquivo específico ou para toda uma solução
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.
Fazer referência a um arquivo
Para fazer referência facilmente a um arquivo no GitHub Copilot Chat, basta adicionar um # no início do nome do arquivo. Por exemplo, se você tiver um arquivo chamado BasketService.cs, consulte-o no chat como #BasketService.cs.
Fazer referência a um método, classe ou função
Com o Visual Studio 2022 versão 17.11, agora você pode fazer referência a um método, classe ou função específica 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 nome do método, classe ou função. Por exemplo, se você tiver um método chamado BasketAddItem, consulte-o no chat como #BasketAddItem.
Fazer referência a toda a solução
Use @workspace para se referir à solução ativa no IDE para contexto. Ao usar @workspace para contexto, o Copilot Chat aproveita as informações sobre os arquivos, projetos e configurações que estão abertos no momento e sendo trabalhados em seu IDE. Isso permite que o Copilot Chat forneça sugestões e respostas mais relevantes e sensíveis ao contexto.
Com o Visual Studio 2022 versão 17.11, os assinantes do GitHub Copilot Enterprise agora podem usar @github
no chat para incluir contexto de todo o repositório e pesquisar na Web (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 o @github
, consulte Usar habilidades do GitHub para o Copilot.
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 de #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 |
Eu tenho um método de teste chamado #TestCalculator. Como posso garantir que está sendo executado corretamente? | Método TestCalculator |
Você poderia explicar as diferenças entre as classes #BasketService e #OrderService? | Classe BasketService e classe OrderService |
No meu @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.
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 tópico de bate-papo
Você pode iniciar um novo thread selecionando Criar novo thread na janela de chat.
Alternar tópico de bate-papo
Você pode selecionar entre vários threads contínuos para fornecer o contexto histórico certo para sua pergunta.
Promova o chat em linha para a janela de chat
Com o Visual Studio 2022 versão 17.11, agora você pode preservar o histórico do seu chat em linha promovendo-o para a janela de chat. Selecione Continuar na janela de chat... para manter um registro e contexto da conversa e continuar na janela de chat.
Práticas recomendadas
O Copilot Chat usa o histórico de chat obter contexto sobre sua solicitação. Para fornecer ao 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 produziram o resultado desejado.
Mantenha a conversa de bate-papo aberta e continue a iterar e solicitar que o Copilot melhore a solução sugerida. O Copilot tem o contexto do código gerado e seu histórico de conversas atual. À medida que você continua fazendo perguntas adicionais, o Copilot refina ainda mais a resposta de acordo com o que você precisa. Consulte Engenharia de prompt para o Github Copilot para obter estratégias sobre solicitações eficazes para aperfeiçoar os resultados do Copilot.