Partilhar via


Obtenha respostas melhores definindo o contexto para o Bate-papo do Copiloto do GitHub no Visual Studio

Você pode pedir ao GitHub Copilot Chat para fornecer sugestões de código, explicar código, gerar testes de unidade e sugerir correções de código. Além do seu prompt, o Copilot recorre a um contexto adicional, como o código presente no seu ficheiro atual e o histórico de bate-papo, para gerar uma resposta.

Neste artigo, você aprende como obter melhores respostas fornecendo mais informações ao Copilot Chat:

  • Use os comandos de barra para especificar rapidamente tarefas frequentes, como /explain para obter explicações de código.
  • Use a experiência de bate-papo guiada e instruções personalizadas para refinar o contexto.
  • Anexe imagens ao seu prompt para fornecer contexto adicional e ilustrar melhor suas ideias.
  • Defina o escopo da conversa para arquivos específicos usando as referências .
  • Analise a fonte usada pelo Copilot para gerar a resposta.
  • Use diferentes threads para cada um dos teus chats do Copilot, para que possas 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.

Orientação para Prompting

A experiência de bate-papo guiado no Visual Studio 17.12 e posterior ajuda a refinar seus prompts para esclarecer o contexto para 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 bate-papo guiada com o GitHub Copilot Chat.

Ativar instruções personalizadas

O recurso de instruções personalizadas permite que você adicione automaticamente detalhes contextuais pré-especificados às suas perguntas de bate-papo. O Copilot Chat usa essas instruções adaptadas ao seu contexto específico, como a maneira como sua equipe trabalha, as ferramentas que você usa 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 do Tools>Options>GitHub>Copilot> selecione (Preview) Habilite instruções personalizadas para serem carregadas de arquivos .github/copilot-instructions.md e adicionadas às solicitações..

As instruções personalizadas não são visíveis na vista de Chat ou no chat em linha. 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 freqüência.

Para criar um arquivo de prompt:

  1. Escreve os teus prompts como farias normalmente na caixa de prompt, usando # referências para incluir informações específicas da tua solução, como métodos, classes e ficheiros. Você pode até mesmo fazer referência a outros arquivos de prompt para obter instruções compartilhadas.
  2. Copiar o prompt num ficheiro markdown e guardá-lo com a extensão .prompt.md na pasta .github/prompts na raiz do teu repositório.

Para usar um arquivo de prompt:

  1. Digite #prompt: na entrada de bate-papo para referenciar quaisquer arquivos de prompt da sua pasta .github/prompts, ou clique no ícone ➕ na entrada de bate-papo para adicioná-los como contexto.
  2. Adicione quaisquer detalhes extras, ou simplesmente digite o prompt como está.

Captura de tela do uso de arquivos 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 rapidamente a intenção para tarefas comuns de desenvolvimento. Usando comandos de barra específicos para formar sua pergunta, você pode obter respostas melhores sem ter que escrever perguntas longas.

Você pode usar comandos de barra numa janela de bate-papo ou diretamente no código que deseja modificar, usando assistência de código inline . Os comandos que ajudam a modificar ou adicionar ao arquivo de código aberto no editor funcionarão tanto no assistente de código embutido quanto nas janelas de bate-papo, enquanto os comandos para perguntas de codificação mais gerais funcionarão apenas no painel de bate-papo.

Comando Utilização Janela de bate-papo Chat em linha
/doc Adicione comentários para o código especificado ou selecionado.
Exemplos:
- /doc DeleteBasketAsync method in BasketService.cs
- selecione o código desejado e digite /doc
Sim Sim
/explicar Obtenha explicações sobre o código.

Exemplos:
- /explain the AddItemToBasket method in BasketService.cs
- selecione o código desejado e digite /explain
Sim Sim
/corrigir Proponha uma correção para problemas no código selecionado.
Exemplos:
- /fix the SetQuantities method in BasketService.cs
- selecione o código desejado e digite /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 digite /optimize
Sim Sim
/testes Crie testes de unidade para o código selecionado.
Exemplo: selecione o código desejado e digite /tests using XUnit Framework
Sim Sim

Captura de ecrã de comandos de barra na vista de chat em linha e nas janelas de chat.

Com o Visual Studio 2022 versão 17.13, à medida que 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 bate-papo

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

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

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

Limite os resultados do Copilot a um arquivo específico ou a toda a solução.

Você pode fazer suas perguntas relacionadas à codificação em linguagem natural e o GitHub Copilot Chat as responderá 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 ter que escrever ou colar longas partes de informação. A especificação do contexto também permite que o Copilot forneça respostas mais relevantes.

Fazer referência a um ficheiro

Para referenciar facilmente um arquivo no GitHub Copilot Chat, basta adicionar um símbolo de # no início do nome do arquivo. Por exemplo, se você tiver um arquivo chamado BasketService.cs, consulte-o no bate-papo como #BasketService.cs.

Captura de tela de referências no Copilot Chat.

Fazer referência a um método, classe ou função

Com 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 referenciar facilmente um método, classe ou função no GitHub Copilot Chat, basta adicionar um símbolo de # no início do nome do método, classe ou função. Por exemplo, se tiveres um método chamado BasketAddItem, refere-te a ele no bate-papo como #BasketAddItem.

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

Referenciar toda a solução

Use @workspace para se referir à solução ativa no IDE para contextualizar. Ao usar @workspace para contexto, o Copilot Chat aproveita as informações sobre os arquivos, projetos e configurações que estão atualmente abertos 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.

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

Com o Visual Studio 2022 versão 17.11, assinantes do GitHub Copilot Enterprise agora podem usar @github no chat para incluir contexto de todo o repositório e pesquisar na Internet (se a pesquisa estiver habilitada pelo seu 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 Usando habilidades do GitHub para o Copilot.

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

Janela de saída de referência

Agora pode usar a janela de saída como contexto no chat para fazer perguntas e obter ajuda com registos de saída. As janelas de saída suportadas incluem Build, Debug, Tests, Source Control, Package Manager ou qualquer outro painel de janela de saída ativo.

Use os registos de saída de referência no bate-papo de uma das seguintes maneiras:

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

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

Exemplos de utilização

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

Exemplo Contexto utilizado pelo Copilot para formar a pergunta
Qual é o objetivo do #MyFile.cs: 66-72? Seção exata do arquivo
Onde estão os testes em #BasketService.cs? BasketService.cs
/explicar a função #AddItemToBasket no #BasketService.cs Método AddItemToBasket em BasketService.cs
Existe um método de exclusão de cesta neste @workspace Solução atual aberta no IDE
Eu tenho um método de teste chamado #TestCalculator. Como posso garantir que está a ser executado corretamente? Método TestCalculator
Pode explicar as diferenças entre as classes #BasketService e #OrderService? Classe BasketService e classe OrderService
Onde está o #AddItemToBasket na minha @workspace? Solução atual aberta no IDE

Analise 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 ao Copilot Chat e recebe uma resposta na janela de chat, uma lista suspensa Referências aparece abaixo da resposta. As entradas na lista suspensa Referências mostram o contexto referido pelo Copilot Chat para gerar essa resposta. Esta informação pode ajudá-lo a modificar a sua pergunta para obter respostas melhores e mais relevantes.

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

Organize: isole as conversas com o Copilot em threads

Se você estiver usando o Copilot Chat extensivamente para fazer perguntas enquanto codifica, você pode organizar suas conversas de uma forma que as mantenha no tópico. O Copilot Chat for Visual Studio agora fornece uma maneira fácil de iniciar novas conversas (threads) para mantê-los focados 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

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

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

Alternar conversa de bate-papo

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

Captura de ecrã da alternância entre tópicos em curso no Copilot Chat.

Converta o chat embutido para a janela de chat

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

Captura de tela da elevação de uma conversa contínua da conversa integrada para a janela de conversa.

Melhores práticas

O Copilot Chat usa o histórico de bate-papo para obter contexto sobre sua solicitação. Para dar ao Copilot apenas o histórico relevante:

  • Utilize tópicos para iniciar uma nova conversa para uma nova tarefa.
  • Exclua solicitações que não são mais relevantes ou que não deram o resultado desejado.

Mantenha a conversa no chat aberta e continue a fazer iterações e a pedir ao Copilot para melhorar a solução sugerida. O copiloto 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 suas necessidades. Consulte Engenharia de prompts para o GitHub Copilot para estratégias eficazes de solicitação que melhorem os resultados do Copilot.

Próximos passos