Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Gerir o contexto do chat no GitHub Copilot Chat combinando contexto implícito, referências, histórico de chat e ferramentas de janela de contexto para obter melhores respostas.
Neste artigo, você aprende como obter melhores respostas fornecendo mais informações ao Copilot Chat:
- Entenda o contexto implícito que o Copilot aproveita nos bastidores
- Restringe o chat a ficheiros específicos, alterações e submissões com referências
- Anexe imagens ao seu prompt para fornecer contexto adicional e ilustrar melhor suas ideias
- Analise a fonte usada pelo Copilot para gerar a resposta
- Use tópicos diferentes para cada um dos seus bate-papos Copilot para manter o histórico de bate-papo e contexto diferente em cada um
- Monitorizar a utilização da janela de contexto
- Resumir (de forma compacta) o histórico da conversa para libertar espaço
Pré-requisitos
Para começar a usar o GitHub Copilot Chat no Visual Studio, você precisa:
- Visual Studio 2022 versão 17.10 ou posterior
-
Entre no Visual Studio usando uma conta do GitHub com acesso ao Copilot
** Você pode se inscrever no GitHub Copilot gratuitamente.
Contexto implícito
O Visual Studio fornece automaticamente contexto para o prompt de bate-papo com base em sua atividade atual.
As seguintes informações estão implicitamente incluídas no contexto do chat:
- O texto atualmente selecionado no editor ativo.
- O ficheiro atualmente ativo no editor.
Dependendo do seu prompt, o Copilot lê o conteúdo do arquivo ativo. Para incluir explicitamente o conteúdo de outro arquivo no contexto do bate-papo, selecione o arquivo sugerido usando o + botão na visualização de bate-papo para Adicionar anexo.
Referência: âmbito de aplicação Resultados do copiloto
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.
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 chat como #BasketAddItem.
Referencie toda a solução
Use @workspace para referir-se à 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 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.
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 Web (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.
Submissões de referência do histórico do Git
Quando estiveres a rever um commit e quiseres ajuda do Copilot para perceber alterações, identificar potenciais problemas ou redigir uma edição semelhante, podes anexar o contexto do commit diretamente ao GitHub Copilot Chat.
Em vez de copiar e colar IDs de commit no chat, use Adicionar ao Chat para anexar o contexto de commit selecionado do IDE.
Utilize Adicionar ao Chat num commit em qualquer uma destas áreas:
- Histórico do Git (Git>Ver histórico do ramo)
- Histórico de Ficheiros (clique com o botão direito num ficheiro em Explorador de Soluções, depois Git>Ver Histórico)
- Anotar (Blame) (clique com o botão direito no editor, depois Git>Anotar (Blame))
Pode selecionar vários commits para anexar vários commits ao chat de uma só vez.
Depois de adicionares o contexto do commit, experimenta pedidos como:
- Explique esta mudança.
- Isto introduz algum problema?
- Escreve uma alteração semelhante para este outro ficheiro.
Refira as suas alterações
Com o Visual Studio 2022, versão 17.14 e seguintes, pode utilizar referências do Git no Chat do Copilot.
Use #changes para referenciar as tuas alterações não comprometidas a partir da janela de Alterações do Git . Esta referência é útil quando quer que o Copilot Chat resuma o trabalho que realizou, explique o impacto das edições pendentes ou sugira os próximos passos antes de se comprometer.
Por exemplo, pode colocar perguntas como:
- Resuma
#changes. - O que fiz até agora em
#changes? - Sugira testes unitários para
#changes.
Abrir o diálogo Tools>Opções, expandir GitHub>Copilot>Integração de Controlo de Versão, selecionar Ativar as funcionalidades de pré-visualização do Git, e depois seleciona OK.
Referenciar um commit
Use #commit: para referenciar um commit específico em Copilot Chat. Quando começas a escrever #commit:, Copilot mostra uma lista de commits recentes que podes selecionar. Se quiseres referenciar um commit mais antigo, insere o ID do commit logo após #commit:.
Pode usar referências de commit para tarefas tais como:
- Explique
#commit:. - Escreva testes unitários para cobrir alterações em
#commit:. - Encontre potenciais problemas em
#commit:.
Esta referência é útil quando quiser rever uma alteração anterior, inspecionar a intenção por trás de um commit ou pedir ao Copilot para o ajudar a acompanhar trabalhos anteriores.
Fazer referência a uma imagem
Com a integração de visão para o Copilot Chat no Visual Studio 17.14 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.
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, Gestor de Pacotes 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 logscomo 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.
URLs de referência
Cole um URL na caixa de prompt e o Copilot extrairá informações da Web para preencher os espaços em branco quando os dados de treinamento do Copilot não cobrirem um tópico ou quando você quiser fazer referência a um recurso específico.
Por exemplo, você pode pedir ao Copilot para ajudá-lo a escrever um arquivo readme.md com base nas práticas recomendadas no GitHub.
Observe que o Copilot só pode fazer referência a conteúdo HTML estático a partir da URL pública fornecida e não acessará outros links nessa página, páginas atrás da autenticação ou conteúdo de páginas dinâmicas.
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 |
| Resume #changes antes de me comprometer | Alterações não comprometidas na janela de Alterações Git |
| Encontre potenciais problemas em #commit:abc1234 | O commit especificado |
| Atualizar minha interface do usuário no App.tsx para se assemelhar a esta imagem | Imagem carregada |
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 no menu suspenso Referências mostram o contexto referenciado pelo Copilot Chat para gerar esta resposta. Esta informação pode ajudá-lo a modificar a sua pergunta para obter respostas melhores e mais relevantes.
Organizar: gerir o contexto do histórico de chat através de tópicos
À medida que vai interagindo e enviando vários pedidos no chat durante uma sessão de chat, o Copilot utiliza o histórico de pedidos e respostas do chat como contexto para o seu pedido atual no chat. Isto significa que pode fazer perguntas de acompanhamento ou esclarecer a sua pergunta anterior sem ter de repetir o contexto. Por exemplo, você pode perguntar "Como isso difere de...", "Agora adicione um caso de teste", "explique com mais detalhes" e muito mais.
Para recomeçar com uma nova sessão de chat e descartar o contexto atual, inicie um novo thread na visualização de chat. Isso é útil quando você deseja mover para um tópico diferente e evitar o contexto e o histórico anteriores. Use tópicos para manter as conversas focadas na tarefa em questão e mantenha 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.
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.
Organizar: gerir o histórico de chat com o painel de histórico de chat
À medida que vai interagindo e enviando vários pedidos no chat durante uma sessão de chat, o Copilot utiliza o histórico de pedidos e respostas do chat como contexto para o seu pedido atual no chat. Isto significa que pode fazer perguntas de acompanhamento ou esclarecer a sua pergunta anterior sem ter de repetir o contexto. Por exemplo, você pode perguntar "Como isso difere de...", "Agora adicione um caso de teste", "explique com mais detalhes" e muito mais.
Para recomeçar com uma nova sessão de chat e descartar o contexto atual, inicie um novo thread na visualização de chat. Isso é útil quando você deseja mover para um tópico diferente e evitar o contexto e o histórico anteriores. Use o painel de histórico de chat para manter as conversas focadas na tarefa em questão e manter o contexto claro para que as respostas se baseem 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.
Alternar conversa de bate-papo
Use o painel de histórico de chat para alternar entre as sessões de chat e fornecer o contexto histórico correto para a sua pergunta.
Cada entrada do histórico de chat mostra:
- O título do chat
- Uma prévia da mensagem mais recente
- Quando a sessão foi atualizada pela última vez
Selecione uma sessão no painel para saltar diretamente para essa conversa.
Mova o bate-papo embutido para a janela de bate-papo
Com
Monitorizar e otimizar a utilização das janelas de contexto
Quando conversas com o Copilot, ele usa uma janela de contexto que inclui o teu histórico de conversas, ficheiros anexos e outras entradas contextuais. À medida que a janela de contexto se enche, o Copilot pode perder detalhes antigos do início do tópico.
Use o indicador da janela de contexto para acompanhar a utilização em tempo real:
- Abre a janela do Copilot Chat.
- No canto superior direito da caixa de introdução do chat, localize o indicador em forma de anel.
- Selecione o indicador para ver a percentagem exata de contexto utilizada.
- Revise a divisão do que contribui para a utilização do contexto (por exemplo, mensagens de conversa e ficheiros de espaço de trabalho).
Resumir e compactar o histórico da conversa
A compactação reduz a quantidade de contexto usada pelas partes mais antigas do tópico atual, para que possa continuar a trabalhar na mesma conversa.
Quando o contexto disponível estiver a esgotar-se, selecione Resumir a conversa para comprimir as partes anteriores do tópico e recuperar espaço mantendo-se na conversa atual.
Utilize a compactação de uma destas formas:
- Selecione Resumir conversa a partir do indicador da janela de contexto para compactar automaticamente as mensagens anteriores.
- Escreva
/compactno chat para compactar manualmente a conversa a qualquer momento.
Após a compactação, o Copilot mantém um resumo das curvas anteriores em vez da transcrição completa. Isto ajuda a libertar espaço de janela de contexto enquanto preserva a direção geral do thread.
Utilize a compactação quando:
- O uso de contexto é elevado e queres evitar perder contexto recente importante.
- Um tópico ficou longo, mas ainda queres continuar no mesmo chat.
- Quer melhorar o foco antes de fazer um novo conjunto de perguntas de seguimento.
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:
- Usa novos tópicos para iniciar uma nova conversa sobre uma nova tarefa.
- Se quiseres manter o mesmo tópico, usa Resume conversa quando o uso de contexto for elevado.
- 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 comandos para o GitHub Copilot para estratégias eficazes de solicitação que melhorem os resultados do Copilot.
Próximos passos
- A experiência do GitHub Copilot para Visual Studio
- Experiência de bate-papo do copiloto do GitHub para Visual Studio
- Faça um commit Git em Visual Studio
- Central de Confiabilidade do Copilot do GitHub
- Envie-nos sugestões, comentários e problemas
- Suporte para o GitHub Copilot Chat
- Como usar o GitHub Copilot: prompts, dicas e casos de uso