Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In dit artikel leert u hoe u efficiënter fouten kunt opsporen met behulp van GitHub Copilot. Copilot kan codecorrecties bieden, samen met diepgaande analyses en uitleg over hoe code werkt. Het helpt bij voorgestelde oplossingen voor bugs en legt zaken uit zoals uitzonderingen. Copilot begrijpt aanroepstapels, frames, variabelenamen en waarden. Als gevolg hiervan kunt u communiceren met de foutopsporingsprogrammabewuste AI om gedetailleerde vragen te stellen met betrekking tot uw code en om problemen in het algemeen op te sporen.
Daarnaast biedt Copilot nauwkeurigere hulp voor specifieke scenario's, zoals Uitzonderingen, en alle scenario's die worden beschreven in AI-verbeterde scenario's voor foutopsporing. In de meeste van deze scenario's zoekt u naar de -Ask Copilot
knop. In deze scenario's kent Copilot al de context voor uw vragen.
Zie Over GitHub Copilot-voltooiingen in Visual Studiovoor meer informatie over GitHub Copilot-voltooiingen in Visual Studio.
Voorwaarden
U hebt het volgende nodig om aan de slag te gaan:
Visual Studio 2022 versie 17.8 of hoger
meld u aan bij Visual Studio met behulp van een GitHub-account met Copilot-toegang
** U kunt GitHub Copilot voor gratisgebruiken. Registreer en maak gebruik van AI om sneller en efficiënter code te coden.Notitie
Als u verificatieproblemen ondervindt na het installeren van de extensie, raadpleegt u Verificatieproblemen met GitHub Copilot Chatoplossen.
Door AI verbeterde scenario's
Copilot begrijpt aanroepstapels, frames, variabelenamen en waarden. Als gevolg hiervan kunt u communiceren met de foutopsporingsprogrammabewuste AI om gedetailleerde vragen te stellen met betrekking tot uw code en om problemen in het algemeen op te sporen.
Daarnaast biedt Copilot nauwkeurigere hulp voor een aantal gerichte scenario's, zoals de scenario's die in de volgende tabel worden beschreven.
| Kenmerk of scenario | Verbinden |
|---|---|
| Uitzonderingen | Zie Een uitzondering debuggen met Copilot in dit artikel. Hulp bij uitzonderingen omvat hulp bij deadlockdetectiefouten. |
| Variabelen | Zie Hulp bij AI krijgen. |
| LINQ-queryanalyse | Beweeg de muisaanwijzer over LINQ-query's tijdens foutopsporing in de code-editor om de retourwaarde weer te geven. Selecteer de knop Analyseren met Copilot voor HULP bij AI. Zie Retourwaarden van LINQ-query's weergeven. |
| Tips voor gegevens | Zie Hulp bij AI krijgen met tips voor gegevens. |
| Voorwaardelijke onderbrekingspunten en traceringspunten | Zie voor suggesties door middel van voorwaardelijke onderbrekingspunten en traceringspunten in dit artikel. |
| Snelle acties (gloeilamp) | Zie Hulp bij AI krijgen met snelle acties. |
| IEnumerable tabellarische visualisator | Zie Hulp bij AI krijgen. |
| Inline retourwaarden | Zie Weergeven van retourwaarden van methodeaanroepen. |
| Inlinewaarden | Zie Inlinewaarden weergeven. |
| Multithreaded-foutopsporing | Zie Ai-hulp krijgen met de threads-weergave. |
| Het testen van modules | Zie Hulp bij AI krijgen voor foutopsporingstests |
| Onderbrekingspunten oplossen | Zie Hulp bij AI krijgen. |
In de meeste van deze scenario's krijgt u gerichte hulp met behulp of Screenshot of Ask Copilot button.Analyze with Copilot button. Copilot kent al de context voor uw vragen. Het kent bijvoorbeeld de huidige aanroepstack, de coderegel waarover u vraagt en de naam van de uitzondering (als er een is opgetreden), zodat u zelf geen context hoeft op te geven in de chat. Copilot biedt ook suggesties voor het gebruik van voorwaardelijke onderbrekingspunten en traceringspunten.
Fouten opsporen met Copilot
In het volgende eenvoudige voorbeeld ziet u hoe u AI-hulp kunt krijgen met behulp van de inline chatweergave.
Notitie
U kunt ook hulp krijgen bij het gebruik van het afzonderlijke chatvenster door Weergave > GitHub Copilot Chatte selecteren. Zie Wat is de GitHub Copilot Chat-extensie voor Visual Studio voor meer informatie?.
Een foutopsporingssessie starten
Maak in Visual Studio een nieuwe C#-console-app.
Kies in het startvenster Een nieuw project maken. Typ console in het zoekvak, selecteer C# als taal en kies vervolgens Console-app voor .NET. Kies Volgende. Typ een projectnaam zoals ConsoleApp_Copilot en selecteer Volgende.
Kies het aanbevolen doelplatform of .NET 8 en klik vervolgens op Maken.
Als u de Console-app projectsjabloon voor .NET niet ziet, gaat u naar Tools>Hulpprogramma's en onderdelen ophalen, waarmee het installatieprogramma van Visual Studio wordt geopend. Kies de .NET-desktopontwikkeling workload en selecteer vervolgens Wijzigen.
Visual Studio maakt het consoleproject, dat wordt weergegeven in Solution Explorer in het rechterdeelvenster.
Vervang de code in Program.cs door de volgende code:
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"); } }Klik met de rechtermuisknop op de volgende instructie en kies onderbrekingspunt>Onderbrekingspunt invoegen.
int value = Int32.Parse(args[0]);Druk op F5- of selecteer Start Foutopsporing in het menu Foutopsporing.
De app pauzeert op het onderbrekingspunt. In het venster Autos ziet u dat de argumentvariabele een waarde van
string[0]heeft.
Klik met de rechtermuisknop in de code en kies Vraag aan Copilot om de inline chatweergave te openen.
Aanbeveling
U kunt ook met de rechtermuisknop op een variabele klikken in het venster Auto's of Locals, of in een gegevenstip, en Copilot vragenkiezen. Dit biedt Copilot de naam en context van de variabele, dus u hoeft zelf geen context in de chat op te geven.
Typ de volgende vraag in de inline chatweergave:
Why does the args variable have a value of string[0]?
Wanneer u op Enterdrukt, geeft Copilot een antwoord op basis van het begrip van uw code. (Mogelijk krijgt u een ander antwoord dan hier wordt weergegeven.)
Als Copilot een voorgestelde oplossing voor uw code heeft, wordt dit weergegeven. Zo niet, dan kunt u Copilot vragen om een codesuggesties.
Aanbeveling
Gebruik in de inlinechat het symbool '#' en selecteer in de vervolgkeuzelijst om specifieke informatie aan Copilot af te geven terwijl u ernaar verwijst in uw vraag. Als u bijvoorbeeld een deel van de code selecteert en vervolgens #typt, kunt u die selectie kiezen in de vervolgkeuzelijst #. U kunt ook het symbool '#' gebruiken om te verwijzen naar IDE-functies die worden weergegeven in de vervolgkeuzelijst, zoals het venster Locals.
In dit voorbeeld schuift u naar het einde van het Copilot-antwoord en selecteert u de vervolgvraag aan het einde van het inline chatvenster: 'Hoe kan ik de case afhandelen wanneer er geen argumenten aan het programma worden doorgegeven?'
Copilot toont een voorgestelde oplossing voor uw code.
Als u de codeoplossing wilt toepassen, kiest u Accepteer.
Kies annuleren, zodat we in de volgende sectie kunnen doorgaan met het leren van andere functies van Copilot.
Foutopsporing van een exception met Copilot
In het volgende eenvoudige voorbeeld ziet u hoe u ai-hulp krijgt wanneer u een uitzondering tegenkomt en hoe u uw code snel kunt bijwerken op basis van door AI voorgestelde oplossingen.
Een foutopsporingssessie starten
Tijdens pauzeren in de debugger met dezelfde voorbeeld-app drukt u op F11 of Debug>Stap in om de huidige instructie uit te voeren.
Een
IndexOutOfRangeExceptiontreedt op en de app wordt onderbroken, waarbij de uitzondering wordt getoond.Als u AI-hulp voor de uitzondering wilt krijgen, gaat u verder met de volgende sectie.
Hulp bij AI vragen
Bij de uitzondering waarbij de toepassing is onderbroken, selecteert u de knop 'Copilot vragen'.
Als dit nog niet is geopend, wordt het Copilot Chat-venster weergegeven en wordt een evaluatie gegeven van de fout en waarom deze is opgetreden. In dit voorbeeld identificeert Copilot een voorgestelde codeoplossing, een knop voor het kopiëren van code en een preview- knop voor de codeoplossing.
Als u vragen hebt over de uitzondering, stel ze dan in het tekstvak 'Copilot vragen'.
Selecteer de knop Preview.
Visual Studio toont een codevoorbeeld met de voorgestelde oplossing.
Bekijk de voorgestelde oplossing en kies Accepteren om de codesuggesties toe te passen.
Start het foutopsporingsprogramma opnieuw.
Deze keer treedt er geen uitzondering op. Het is opgelost!
Verkrijg suggesties met voorwaardelijke onderbrekingspunten en tracepoints
Copilot geeft u suggesties voor voorwaardelijke onderbrekingspunten en traceringen die specifiek zijn voor uw code.
In dit voorbeeld tonen we AI-suggesties voor een voorwaardelijk onderbrekingspunt. Voor tracepoints werkt de AI-hulp op dezelfde manier.
Verwijder het huidige onderbrekingspunt door erop te klikken of met de rechtermuisknop te klikken en kies Onderbrekingspunt verwijderen.
Vervang de volgende regel van code:
names.Add("Major Major Major");hiermee:
// names.Add("Major Major Major"); foreach (var item in args) { names.Add("Name: " + item); }Klik met de rechtermuisknop in de marge links van de verklaring
names.Add("Name: " + item)en kies Voorwaardelijk onderbrekingspunt invoegen.Selecteer het expressieveld en Copilot begint met het werken aan suggesties.
Wanneer de suggesties worden weergegeven, kiest u er een, zoals
item == "John". Bewerk de suggestie zodat de naamFredis.
De voorwaardelijke expressie testen:
Klik met de rechtermuisknop op het ConsoleApp_Copilot project in Solution Explorer en kies Eigenschappen.
Selecteer Foutopsporing>Algemeen>Open de gebruikersinterface voor het starten van foutopsporingsprofielen.
Voer in het veld opdrachtregelargumenten
5 Fred Joein, op drie afzonderlijke regels.
Start het foutopsporingsprogramma opnieuw.
Wanneer het foutopsporingsprogramma bij het onderbrekingspunt pauzeert, controleert u de waarde van
itemen verifieert u of de huidige waardeFredis.