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.
En outre, Copilot fournit une aide plus précise pour certains scénarios ciblés, tels que les suivants :
- Exceptions
- Variables
- Interblocages
- Actions rapides (ampoule)
Pour obtenir l'assistance de l'IA pendant que vous déboguez dans ces scénarios, recherchez le 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. Copilot fournit également des suggestions pour l’utilisation de points d’arrêt conditionnels et de points de trace.
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 :
Visual Studio 2022 version 17.8 ou ultérieure
Abonnement actif à GitHub Copilot for Individuals ou GitHub Copilot for Business
GitHub Copilot dans Visual Studio
-
Remarque
Si vous rencontrez des problèmes d’authentification après l’installation de l’extension, consultez Résolution des problèmes d’authentification avec GitHub Copilot Chat.
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
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.
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"); } }
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]);
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]
.Cliquez avec le bouton droit de la souris dans le code et choisissez Demander au copilote pour ouvrir la vue Chat en ligne.
Conseil
Vous pouvez également cliquer avec le bouton droit de la souris sur une variable dans la fenêtre Autos ou Locals, ou dans une astuce de données, et choisir Ask Copilot. Copilot reçoit ainsi le nom de la variable et le contexte, de sorte que vous n'avez pas besoin de fournir le contexte vous-même dans le chat.
Tapez la question suivante dans la vue Chat en ligne :
Why does the args variable have a value of string[0]?
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).
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.
Conseil
Dans le chat intégré, utilisez le symbole # et sélectionnez dans la liste déroulante pour transmettre des informations spécifiques à Copilot tout en y faisant référence dans votre question. Par exemple, si vous sélectionnez une partie du code, puis tapez #, vous pouvez choisir cette sélection dans la liste déroulante #. Vous pouvez également utiliser le symbole # pour faire référence aux fonctions de l’IDE qui apparaissent dans la liste déroulante, telles que la fenêtre Locals.
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 ? »
Copilot propose une correction de votre code.
Si vous souhaitez appliquer la correction du code, sélectionnez Accepter.
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
Une fois l’application mise en pause sur l’exception, sélectionnez le bouton Demander à Copilot.
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.
Sélectionnez le bouton Aperçu.
Visual Studio montre un aperçu du code avec le correctif suggéré.
Passez en revue la correctif suggérée et choisissez Accepter pour appliquer la suggestion de code.
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 les points d’arrêt conditionnels et les points de trace
Copilot vous propose des suggestions pour les points d’arrêt conditionnels et les points de trace spécifiques à votre code.
Dans cet exemple, nous affichons les suggestions de l’IA pour un point d’arrêt conditionnel. Pour les points de trace, l’assistance IA fonctionne de la même façon.
Supprimez le point d’arrêt actuel en cliquant dessus ou en cliquant avec le bouton droit, puis choisissez Supprimer le point d’arrêt.
Remplacez la ligne de code suivante :
names.Add("Major Major Major");
par le code :
// names.Add("Major Major Major"); foreach (var item in args) { names.Add("Name: " + item); }
À gauche de l’instruction
names.Add("Name: " + item)
, cliquez avec le bouton droit dans la ligne de séparation et choisissez Insérer un point d’arrêt conditionnel.Sélectionnez le champ d’expression et Copilot commence à travailler sur des suggestions.
Lorsque les suggestions apparaissent, choisissez l’une d’entre elles, comme celle-ci
item == "John"
. Modifiez la suggestion pour que le nom soitFred
.Pour tester l’expression conditionnelle :
Cliquez avec le bouton droit de la souris sur le projet ConsoleApp_Copilot dans l’explorateur de solutions et choisissez Propriétés.
Sélectionnez Débogage>Général>Ouvrir l’IU de profils de lancement de débogage.
Dans le champ Arguments de ligne de commande, saisissez
5 Fred Joe
, sur trois lignes distinctes.Redémarrez le débogueur.
Lorsque le débogueur s’interrompt au point d’arrêt, vérifiez la valeur de
item
et vérifiez que la valeur actuelle soit bienFred
.
Obtenir de l’aide sur l’IA dans le visualiseur tabulaire IEnumerable
Pour obtenir de l’aide sur l’IA pour le visualiseur tabulaire IEnumerable, consultez Modifier l’expression du visualiseur.
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.
Le bouton Ask Copilot apparaît même si aucun aperçu spécifique de la performance n'est identifié. Sélectionnez Ask Copilot pour apprendre de Copilot et commencer à poser des questions.