Depurar seu aplicativo com o GitHub Copilot no Visual Studio

Neste artigo, você aprenderá a depurar com mais eficiência usando o GitHub Copilot. O Copilot pode fornecer correções de código, juntamente com análises detalhadas 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 entende pilhas de chamadas, quadros, nomes de variáveis e valores. Como resultado, você pode interagir com a IA com reconhecimento do depurador para fazer perguntas detalhadas relacionadas ao seu código e aos problemas de depuração em geral.

Além disso, o Copilot fornece ajuda mais precisa para alguns cenários específicos, incluindo o seguinte:

  • Exceções
  • Insights automáticos para Uso da CPU

Para obter assistência de IA enquanto estiver depurando nesses cenários, procure o botão Perguntar ao CopilotoCaptura de tela do botão Perguntar ao Copilot.. Nesses cenários, o Copilot já conhece o contexto das 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 ocorreu), portanto, não é necessário fornecer um contexto na conversa.

Para obter mais informações sobre as Conclusões do GitHub Copilot no Visual Studio, consulte Sobre as Conclusões do GitHub Copilot no Visual Studio.

Pré-requisitos

Para começar, você precisa do seguinte:

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 Exibir > bate-papo do GitHub Copilot. Para obter mais informações, consulte O que é a extensão de bate-papo do GitHub Copilot para Visual Studio?

Iniciar uma sessão de depuração

  1. No Visual Studio, crie um aplicativo de console em C#.

    Na tela Iniciar, selecione Criar um novo projeto. Digite console na caixa de pesquisa, selecione C# como a linguagem e escolha Aplicativo de Console para .NET. Escolha Próxima. Digite um nome de projeto, como ConsoleApp_Copilot, e selecione Avançar.

    Escolha a estrutura de destino recomendada ou o .NET 8 e escolha Criar.

    Caso não veja o modelo de projeto Aplicativo de Console para o .NET, acesse Ferramentas>Obter Ferramentas e Recursos e o Instalador do Visual Studio será aberto. Escolha a carga de trabalho Desenvolvimento de área de trabalho do .NET e, em seguida, selecione Modificar.

    O Visual Studio criará o projeto de console, que aparecerá no Gerenciador de Soluções no painel à direita.

  2. Substitua o código em Program.cs pelo código a seguir:

    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");
        }
    }
    
  3. Clique com o botão direito do mouse na declaração a seguir e escolha Ponto de Interrupção>Inserir Ponto de Interrupção.

    int value = Int32.Parse(args[0]);
    
  4. 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].

    Captura de tela da janela Autos.

  5. Clique com o botão direito do mouse no código e escolha Perguntar ao Copilot para abrir a visualização de bate-papo embutida.

  6. Digite a seguinte pergunta no modo de exibição de bate-papo embutido:

    Why does the args variable have a value of string[0]?
    

    Captura de tela do Copilot Chat embutido.

    Quando você pressiona Enter, o Copilot fornece uma resposta com base em sua compreensão do seu código. (Você pode obter uma resposta diferente da mostrada aqui.)

    Captura de tela de uma pergunta respondida pelo Copilot.

    Se o Copilot tiver uma correção sugerida para o seu código, ele mostrará a você. Caso contrário, você pode pedir ao Copilot uma sugestão de código.

  7. 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?"

    Captura de tela de uma pergunta de acompanhamento do Copilot.

    O Copilot mostra uma correção sugerida para o seu código.

    Captura de tela de uma correção sugerida pelo Copilot.

    Se quiser aplicar a correção de código, escolha Aceitar.

  8. 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ê encontra uma exceção e como atualizar rapidamente seu código com base nas correções sugeridas pela IA.

Iniciar uma sessão de depuração

  • Enquanto estiver pausado no depurador usando o mesmo aplicativo de exemplo, pressione F11 ou Depurar>Intervir para executar a instrução atual.

    Um IndexOutOfRangeException ocorre e o aplicativo pausa, mostrando a exceção.

    Para obter assistência de IA para a exceção, vá para a próxima seção.

Solicitar assistência com IA

  1. Com o aplicativo pausado na exceção, selecione o botão Pergunte ao Copilot.

    Captura de tela do botão Perguntar ao Copilot em uma exceção.

    Se ainda não estiver aberta, a janela Chat do Copilot 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 Pré-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 Copilot.

  2. Selecione o botão Visualizar.

    Captura de tela do botão Preview na janela do Copilot Chat.

    O Visual Studio mostra uma pré-visualização de código com a correção sugerida.

  3. Revise a correção sugerida e escolha Aceitar para aplicar a sugestão de código.

    Captura de tela de preview de código no Visual Studio.

  4. Reinicie o depurador.

    Desta vez, nenhuma exceção ocorre. O problema foi corrigido.

Obter assistência de IA para insights automáticos

Além da assistência de depuração interativa, o Copilot fornece informações detalhadas nos insights automáticos de Uso da CPU Insights Automáticos. Ele fornece informações e insights relacionados a um conjunto de insights de desempenho específicos. Com o Copilot, faça perguntas sobre funções nos caminhos críticos identificados em seu código, o que pode ajudá-lo a produzir um código mais eficiente ou econômico.

Quando a ferramenta Uso da CPU fornecer insights automáticos na seção Principais Insights, selecione Perguntar ao Copilot para aprender com o Copilot e começar a fazer perguntas.

Animação do uso do Copilot com Uso de CPU.