Depurar seu aplicativo com o GitHub Copilot no Visual Studio
Neste artigo, você aprenderá como depurar de forma mais eficiente usando o GitHub Copilot. O Copilot pode fornecer correções de código, juntamente com análises aprofundadas e explicações de como o código funciona. Ele ajuda com correções propostas para bugs e explica coisas como exceções. O Copilot compreende pilhas de chamadas, quadros, nomes de variáveis e valores. Como resultado, podes interagir com a IA com capacidade de reconhecer depuradores para fazer perguntas detalhadas relacionadas ao teu código e a problemas de depuração em geral.
Além disso, o Copilot fornece uma ajuda mais precisa para alguns cenários específicos, como os seguintes:
- Exceções
- Variáveis
- Impasses
- Ações rápidas (lâmpada)
Para obter assistência de IA enquanto estiver depurando nestes cenários, procure o botão Perguntar ao Copiloto botão. Nesses cenários, o Copilot já conhece o contexto para suas perguntas. Por exemplo, ele conhece a pilha de chamadas atual, a linha de código sobre a qual você está perguntando e o nome da exceção (se houver), portanto, você não precisa fornecer contexto no bate-papo. O Copilot também fornece sugestões para o uso de pontos de interrupção condicionais e pontos de rastreamento.
Para obter mais informações sobre as Finalizações do Copiloto do GitHub no Visual Studio, consulte Sobre as Finalizações do Copiloto do GitHub no Visual Studio.
Pré-requisitos
Para começar, você precisa:
Visual Studio 2022 versão 17.8 ou posterior
Entre no Visual Studio usando uma conta do GitHub com acesso ao Copilot
** Você pode usar Copilot GitHub gratuitamente. Inscreva-se e aproveite a IA para codificar de forma mais rápida e eficiente.Chat do GitHub Copilot no Visual Studio
Observação
Se você tiver problemas de autenticação depois de instalar a extensão, consulte Solução de problemas de autenticação com o GitHub Copilot Chat.
Obtenha assistência de IA para depurar seu aplicativo
O exemplo simples a seguir mostra como obter assistência de IA usando a visualização de bate-papo embutida.
Observação
Você também pode obter ajuda usando a janela de bate-papo separada selecionando Ver > Chat do GitHub Copilot. Para obter mais informações, consulte O que é a extensão GitHub Copilot Chat para Visual Studio?.
Iniciar uma sessão de depuração
No Visual Studio, crie um novo aplicativo de console C#.
Na janela Iniciar, escolha Criar um novo projeto. Digite de console na caixa de pesquisa, selecione C# como idioma e escolha Aplicativo de Console para .NET. Escolha Próximo. Digite um nome de projeto como ConsoleApp_Copilot e selecione Avançar.
Escolha a estrutura de destino recomendada ou .NET 8 e, em seguida, escolha Criar.
Se você não vir o modelo de projeto do Console App para .NET, vá para Ferramentas >Obter Ferramentas e Recursos, que abre o Visual Studio Installer. Escolha o workload de desenvolvimento de área de trabalho .NET e, em seguida, escolha Modificar.
O Visual Studio cria o projeto de console, que aparece em Gerenciador de Soluções no painel direito.
Substitua o código no Program.cs pelo seguinte código:
using System; using System.Collections.Generic; public class Example { public static void Main(string[] args) { int value = Int32.Parse(args[0]); List<String> names = null; if (value > 0) names = new List<String>(); names.Add("Major Major Major"); } }
Clique com o botão direito do rato na instrução seguinte e escolha Ponto de interrupção>Inserir ponto de interrupção.
int value = Int32.Parse(args[0]);
Pressione F5 ou selecione Iniciar Depuração no menu Depurar.
O aplicativo pausa no ponto de interrupção. A janela Autos mostra que a variável args tem um valor de
string[0]
.Clique com o botão direito do mouse no código e escolha Ask Copilot para abrir a visualização de bate-papo embutida.
Dica
Como alternativa, pode clicar com o botão direito numa variável na janela Autos ou Locals, ou num tooltip, e escolher Ask Copilot. Isso fornece ao Copilot o nome e o contexto da variável, para que você não precise fornecer contexto no bate-papo.
Digite a seguinte pergunta no modo de exibição Chat embutido:
Why does the args variable have a value of string[0]?
Quando você pressiona Enter, o Copilot fornece uma resposta com base em seu entendimento do seu código. (Você pode receber uma resposta diferente da mostrada aqui.)
Se o Copilot tiver uma correção sugerida para o seu código, ele mostrará você. Caso contrário, pode pedir ao Copilot uma sugestão de código.
Dica
No bate-papo embutido, use o símbolo "#" e selecione na lista suspensa para entregar informações específicas ao Copilot enquanto você as referencia em sua pergunta. Por exemplo, se você selecionar uma parte do código e, em seguida, digitar #, poderá escolher essa seleção na lista suspensa #. Você também pode usar o símbolo "#" para fazer referência aos recursos do IDE que aparecem no menu suspenso, como a janela "Locals".
Neste exemplo, role até o final da resposta do Copilot e selecione a pergunta de acompanhamento no final da janela de bate-papo embutida, "Como posso lidar com o caso quando nenhum argumento é passado para o programa?"
O Copilot mostra uma correção sugerida para o seu código.
Se quiser aplicar a correção de código, escolha Aceitar.
Escolha Cancelar para que possamos continuar aprendendo outros recursos do Copilot na próxima seção.
Obtenha assistência de IA para uma exceção
O exemplo simples a seguir mostra como obter assistência de IA quando você encontrar uma exceção e como atualizar rapidamente seu código com base em correções sugeridas por IA.
Iniciar uma sessão de depuração
Enquanto estiver pausado no depurador usando a mesma aplicação de exemplo, pressione F11 ou Debug>Step Into para executar a instrução atual.
Ocorre um
IndexOutOfRangeException
e a aplicação pausa, mostrando a exceção.Para obter assistência de IA para a exceção, siga para a próxima seção.
Peça ajuda para IA
Com a aplicação pausada na exceção, selecione o botão Ask Copilot.
Se ainda não estiver aberta, a janela Copilot Chat será exibida e fornecerá uma avaliação do erro e por que ele ocorreu. Neste exemplo, o Copilot identifica uma correção de código sugerida, um botão para copiar código e um botão de visualização para a correção de código.
Se você tiver dúvidas sobre a exceção, pergunte-as na caixa de texto Pergunte ao Copiloto.
Selecione o botão Pré-visualização.
O Visual Studio mostra uma visualização de código com a correção sugerida.
Revise a correção sugerida e escolha Aceitar para aplicar a sugestão de código.
Reinicie o depurador.
Desta vez, nenhuma exceção ocorre. Foi corrigido!
Obtenha assistência de IA com pontos de interrupção condicionais e pontos de rastreamento
O Copilot oferece sugestões para pontos de interrupção condicionais e pontos de rastreamento específicos para seu código.
Neste exemplo, mostramos sugestões de IA para um ponto de interrupção condicional. Para os pontos de rastreamento, a assistência de IA funciona da mesma maneira.
Remova o ponto de interrupção atual clicando nele ou clicando com o botão direito do mouse e escolha Excluir ponto de interrupção.
Substitua a seguinte linha de código:
names.Add("Major Major Major");
com isso:
// names.Add("Major Major Major"); foreach (var item in args) { names.Add("Name: " + item); }
À esquerda da instrução
names.Add("Name: " + item)
, clique com o botão direito do rato na margem e escolha Inserir ponto de interrupção condicional.Selecione o campo de expressão e o Copilot começa a trabalhar nas sugestões.
Quando as sugestões aparecerem, escolha uma delas, como
item == "John"
. Edite a sugestão para que o nome sejaFred
.Para testar a expressão condicional:
Clique com o botão direito do mouse no projeto ConsoleApp_Copilot no Gerenciador de Soluções e escolha Propriedades.
Selecione Depuração>Geral>Abrir UI de perfis de inicialização de depuração.
No campo Argumentos de linha de comando, introduza
5 Fred Joe
, em três linhas separadas.Reinicie o depurador.
Quando o depurador pausa no ponto de interrupção, verifique o valor de
item
e confirme se o valor atual éFred
.
Obtenha assistência de IA no visualizador tabular IEnumerable
Para obter assistência de IA para o visualizador tabular IEnumerable, consulte Modificar a expressão do visualizador.
Obtenha assistência de IA para insights automáticos
Além da assistência interativa de depuração, o Copilot fornece informações detalhadas noUso da CPU
O botão Ask Copilot é exibido mesmo que nenhum insight de desempenho específico seja identificado. Selecione Pergunte ao Copilot para aprender com o Copilot e começar a fazer perguntas.