Felsöka din app med GitHub Copilot i Visual Studio
I den här artikeln får du lära dig hur du felsöker mer effektivt med GitHub Copilot. Copilot kan tillhandahålla kodkorrigeringar tillsammans med djupgående analys och förklaringar av hur kod fungerar. Det hjälper till med föreslagna korrigeringar av buggar och förklarar saker som undantag. Copilot förstår anropsstackar, ramar, variabelnamn och värden. Därför kan du interagera med den felsökningsmedvetna AI:n för att ställa detaljerade frågor som rör din kod och felsöka problem i allmänhet.
Dessutom ger Copilot mer exakt hjälp för vissa målscenarier, till exempel följande:
- Undantag
- Variabler
- Dödlägen
- Snabbåtgärder (glödlampa)
Om du vill få AI-hjälp när du felsöker i dessa scenarier letar du efter Fråga Copilot knapp. I dessa scenarier känner Copilot redan till kontexten för dina frågor. Den känner till exempel till den aktuella anropsstacken, kodraden som du frågar om och namnet på undantaget (om det inträffade), så du behöver inte ange kontext själv i chatten. Copilot innehåller också förslag på användning av villkorsstyrda brytpunkter och spårningspunkter.
Mer information om GitHub Copilot-slutföranden i Visual Studio finns i Om GitHub Copilot-slutföranden i Visual Studio.
Förutsättningar
För att komma igång behöver du:
Visual Studio 2022 version 17.8 eller senare
Aktiv prenumeration till GitHub Copilot for Individuals eller GitHub Copilot för företag
GitHub Copilot i Visual Studio
-
Not
Om du får autentiseringsproblem när du har installerat tillägget kan du läsa Felsöka autentiseringsproblem med GitHub Copilot Chat.
Få AI-hjälp för att felsöka din app
Följande enkla exempel visar hur du får AI-hjälp med hjälp av den infogade chattvyn.
Not
Du kan också få hjälp med det separata chattfönstret genom att välja View > GitHub Copilot Chat. Mer information finns i Vad är GitHub Copilot Chat-tillägget för Visual Studio?.
Starta en felsökningssession
Skapa en ny C#-konsolapp i Visual Studio.
I startfönstret väljer du Skapa ett nytt projekt. Skriv konsol i sökrutan, välj C# som språk och välj sedan Console App för .NET. Välj Nästa. Skriv ett projektnamn som ConsoleApp_Copilot och välj Nästa.
Välj antingen det rekommenderade målramverket eller .NET 8 och välj sedan Skapa.
Om du inte ser projektmallen Console App för .NET går du till Tools>Hämta verktyg och funktioner, som öppnar Installationsprogrammet för Visual Studio. Välj arbetsbelastningen .NET-skrivbordsutveckling, och välj sedan Ändra.
Visual Studio skapar konsolprojektet, som visas i Solution Explorer i det högra fönstret.
Ersätt koden i Program.cs med följande kod:
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"); } }
Högerklicka på följande instruktion och välj Brytpunkt>Infoga brytpunkt.
int value = Int32.Parse(args[0]);
Tryck på F5 eller välj Starta felsökning på menyn Felsökning.
Appen pausar vid brytpunkten. Fönstret Autos visar att args-variabeln har värdet
string[0]
.Högerklicka i koden och välj Be Copilot att öppna den infogade chattvyn.
Tips
Du kan också högerklicka på en variabel i fönstret Autos eller Locals eller i ett datatips och välja Fråga Copilot. Detta ger Copilot variabelnamnet och kontexten, så du behöver inte ange kontext själv i chatten.
Skriv följande fråga i den infogade chattvyn:
Why does the args variable have a value of string[0]?
När du trycker på Returger Copilot ett svar baserat på dess förståelse av din kod. (Du kan få ett annat svar än vad som visas här.)
Om Copilot har en föreslagen korrigering för din kod visas den. Annars kan du be Copilot om ett kodförslag.
Tips
I den infogade chatten använder du symbolen "#" och väljer i listrutan för att lämna ut specifik information till Copilot medan du refererar till den i din fråga. Om du till exempel väljer en del av koden och sedan skriver #, kan du välja det valet i listrutan #. Du kan också använda symbolen "#" för att referera till IDE-funktioner som visas i listrutan, till exempel fönstret Lokal.
I det här exemplet bläddrar du till slutet av Copilot-svaret och väljer uppföljningsfrågan i slutet av det infogade chattfönstret, "Hur kan jag hantera ärendet när inga argument skickas till programmet?"
Copilot visar en föreslagen korrigering av koden.
Om du vill använda kodkorrigeringen väljer du Acceptera.
Välj Avbryt så att vi kan fortsätta lära oss andra funktioner i Copilot i nästa avsnitt.
Få AI-hjälp angående ett undantag
Följande enkla exempel visar hur du får AI-hjälp när du stöter på ett undantag och hur du snabbt uppdaterar koden baserat på AI-föreslagna korrigeringar.
Starta en felsökningssession
När du har pausat felsökningsprogrammet med samma exempelapp trycker du på F11 eller Felsöka>Steg in i för att köra den aktuella instruktionen.
En
IndexOutOfRangeException
inträffar och appen pausar och visar undantaget.Om du vill få AI-hjälp för undantaget fortsätter du till nästa avsnitt.
Be om AI-hjälp
När programmet har pausats vid undantaget, välj knappen Fråga Copilot.
Om den inte redan är öppen visas Copilot Chat-fönstret och ger en utvärdering av felet och varför det inträffade. I det här exemplet identifierar Copilot en föreslagen kodkorrigering, en knapp för att kopiera kod och en förhandsgranskningsknapp för kodkorrigeringen.
Om du har frågor om undantaget kan du ställa dem i textrutan Fråga Copilot.
Välj förhandsgranskningsknappen.
Visual Studio visar en förhandsgranskning av koden med den föreslagna korrigeringen.
Granska den föreslagna korrigeringen och välj Acceptera för att tillämpa kodförslaget.
Starta om felsökningsprogrammet.
Den här gången inträffar inget undantag. Det har åtgärdats!
Få AI-hjälp med villkorsstyrda brytpunkter och spårningspunkter
Copilot ger dig förslag på villkorliga brytpunkter och spårpunkter som är specifika för din kod.
I det här exemplet visar vi AI-förslag för en villkorlig brytpunkt. För spårningspunkter fungerar AI-hjälpen på samma sätt.
Ta bort den aktuella brytpunkten genom att klicka på den eller högerklicka och välja Ta bort brytpunkt.
Ersätt följande kodrad:
names.Add("Major Major Major");
med detta:
// names.Add("Major Major Major"); foreach (var item in args) { names.Add("Name: " + item); }
Till vänster om
names.Add("Name: " + item)
-instruktionen högerklickar du i marginalen och väljer Infoga villkorsstyrd brytpunkt.Välj uttrycksfältet och Copilot börjar arbeta med förslag.
När förslagen visas väljer du en sådan som
item == "John"
. Redigera förslaget så att namnet blirFred
.Testa villkorsuttrycket:
Högerklicka på projektet ConsoleApp_Copilot i Solution Explorer och välj Egenskaper.
Välj Felsökning>Allmänt>Öppna gränssnittet för felsökningsprofiler.
I fältet kommandoradsargument anger du
5 Fred Joe
på tre separata rader.Starta om felsökningsprogrammet.
När felsökningsprogrammet pausar vid brytpunkten kontrollerar du värdet för
item
och kontrollerar att det aktuella värdet ärFred
.
Få AI-hjälp i IEnumerable tabular visualizer
AI-hjälp för IEnumerable tabellvisualiseraren finns under Ändra visualiseringsuttrycket.
Få AI-hjälp för automatiska insikter
Förutom interaktiv felsökningshjälp tillhandahåller Copilot detaljerad information i processoranvändningen Auto Insights. Den innehåller information och insikter som rör en uppsättning specifika prestandainsikter. Med Copilot kan du ställa frågor om funktioner på de identifierade heta sökvägarna i koden, vilket kan hjälpa dig att skapa mer effektiv eller kostnadseffektiv kod.
Knappen Fråga Copilot visas även om inga specifika prestandainsikter identifieras. Välj Be Copilot att lära dig av Copilot och börja ställa frågor.