Déboguer votre application avec GitHub Copilot dans Visual Studio

Dans cet article, vous apprendrez à déboguer plus efficacement en utilisant GitHub Copilot. Copilot peut fournir des corrections de code ainsi qu'une analyse et des explications approfondies sur le fonctionnement du code. Il vous aide à proposer des corrections de bogues et explique des éléments tels que les exceptions. Copilot comprend les piles d’appels, les cadres, les noms de variables et les valeurs. Ainsi, vous pouvez interagir avec l'IA sensibilisée au débogage pour poser des questions détaillées sur votre code et sur les problèmes de débogage en général.

De plus, Copilot fournit une aide plus précise pour quelques scénarios ciblés, notamment les suivants :

  • Exceptions
  • Insights automatiques pour l’utilisation du processeur

Pour obtenir l’assistance de l’IA lors du débogage dans ces scénarios, cherchez le bouton Demander à CopilotCapture d'écran du bouton Demander à Copilot.. Dans ces scénarios, Copilot connaît déjà le contexte de vos questions. Par exemple, il connaît la pile des appels actuelle, la ligne de code sur laquelle vous posez une question et le nom de l'exception (s'il y en a une), de sorte que vous n'avez pas besoin de fournir le contexte vous-même dans la discussion.

Pour plus d’informations sur l’extension GitHub Copilot dans Visual Studio, consultez À propos de l’extension GitHub Copilot dans Visual Studio.

Prérequis

Pour commencer, vous avez besoin des éléments suivants :

Obtenir l'assistance de l'IA pour déboguer votre application.

L'exemple suivant montre comment obtenir l'aide de l'IA à l'aide de la vue Chat en ligne.

Remarque

Vous pouvez également obtenir de l'aide en utilisant la fenêtre de chat séparée en sélectionnantAffichage > GitHub Copilot Chat. Pour plus d'informations, consultez Qu'est-ce que l'extension GitHub Copilot Chat pour Visual Studio ?.

Démarrer une session de débogage

  1. Dans Visual Studio, créez une nouvelle application en ligne de commande C#.

    Dans la fenêtre de démarrage, choisissez Créer un projet. Saisissez console dans la zone de recherche, sélectionnez C# comme langage, puis choisissez Application en ligne de commande pour .NET. Choisissez Suivant. Saisissez un nom de projet comme ConsoleApp_Copilot, puis sélectionnez Suivant.

    Choisissez l’infrastructure cible recommandée ou .NET 8, puis sélectionnez Créer.

    Si vous ne voyez pas le modèle de projet Application console pour .NET, accédez à Outils>Obtenir les outils et fonctionnalités, qui ouvre Visual Studio Installer. Choisissez la charge de travail Développement .NET Desktop, puis choisissez Modifier.

    Visual Studio crée le projet de console, qui apparaît dans l’Explorateur de solutions dans le volet droit.

  2. Remplacez le code dans Program.cs par le code suivant :

    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. Cliquez avec le bouton droit de la souris sur l'instruction suivante et choisissez Point d’arrêt>Insérer un point d’arrêt.

    int value = Int32.Parse(args[0]);
    
  4. Appuyez sur F5 ou sélectionnez Démarrer le débogage dans le menu Déboguer.

    L’application s’interrompt au point d’arrêt. La fenêtre Autos montre que la variable args a une valeur de string[0].

    Capture d'écran de la fenêtre Auto.

  5. Cliquez avec le bouton droit de la souris dans le code et choisissez Demander au copilote pour ouvrir la vue Chat en ligne.

  6. Tapez la question suivante dans la vue Chat en ligne :

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

    Capture d'écran de la discussion avec Copilot en ligne.

    Lorsque vous appuyez sur Entrée, Copilot fournit une réponse basée sur sa compréhension de votre code. (Il se peut que vous obteniez une réponse différente de celle présentée ici).

    Capture d'écran de la question à laquelle Copilot a répondu.

    Si Copilot a suggéré une correction pour votre code, il vous l'indique. Si ce n'est pas le cas, vous pouvez demander à Copilot de vous suggérer un code.

  7. Dans cet exemple, faites défiler jusqu'à la fin de la réponse de Copilot et sélectionnez la question de suivi à la fin de la fenêtre de discussion en ligne, « Comment puis-je gérer l'incident lorsqu'aucun argument n'est transmis au programme ? »

    Capture d'écran de la question de suivi de Copilot.

    Copilot propose une correction de votre code.

    Capture d'écran de la correction proposée par Copilot.

    Si vous souhaitez appliquer la correction du code, sélectionnez Accepter.

  8. Choisissez Annuler pour continuer à apprendre d'autres fonctions de Copilot dans la section suivante.

Obtenir une l’aide de l’IA pour une exception

L’exemple simple suivant montre comment obtenir de l’aide de l’IA quand vous rencontrez une exception et comment mettre à jour rapidement votre code en fonction des correctifs suggérés par l’IA.

Démarrer une session de débogage

  • Lorsque vous êtes en pause dans le débogueur et que vous utilisez la même application, appuyez sur F11 ou sur Debug>Step Into pour exécuter l'instruction en cours.

    Une exception IndexOutOfRangeException se produit et l’application s’interrompt, montrant l’exception.

    Pour obtenir de l’aide de l’IA pour l’exception, passez à la section suivante.

Demander de l’aide à l’IA

  1. Une fois l’application mise en pause sur l’exception, sélectionnez le bouton Demander à Copilot.

    Capture d'écran du bouton Demander à Copilot dans une exception.

    Si elle n’est pas déjà ouverte, la fenêtre Conversation Copilot apparaît, et donne une évaluation de l’erreur et de la raison pour laquelle elle s’est produite. Dans cet exemple, Copilot identifie un correctif suggéré du code, un bouton pour copier le code et un bouton Aperçu pour le correctif du code.

    Si vous avez des questions sur l’exception, posez-les dans la zone de texte Demander à Copilot.

  2. Sélectionnez le bouton Aperçu.

    Capture d'écran du bouton Aperçu dans la fenêtre de conversation Copilot.

    Visual Studio montre un aperçu du code avec le correctif suggéré.

  3. Passez en revue la correctif suggérée et choisissez Accepter pour appliquer la suggestion de code.

    Capture d'écran de l'aperçu du code dans Visual Studio.

  4. Redémarrez le débogueur.

    Cette fois, aucune exception ne se produit. Elle a été corrigée.

Obtenir de l’aide de l’IA pour des insights automatiques

En plus de l’assistance au débogage interactive, Copilot fournit des informations détaillées dans les insights automatiques sur l’utilisation du processeur. Il fournit des informations et des aperçus liés à un ensemble d'aperçus spécifiques sur les performances. Avec Copilot, posez des questions sur les fonctions sur les chemins chauds identifiés dans votre code, ce qui peut vous aider à produire du code plus efficace ou économique.

Lorsque l’outil Utilisation du processeur fournit des insights automatiques dans la section Insights principaux, sélectionnez Demander à Copilot pour apprendre de Copilot et commencer à poser des questions.

Animation de l'utilisation de Copilot avec utilisation de l'UC.