Sdílet prostřednictvím


Ladění aplikace pomocí GitHub Copilotu v sadě Visual Studio

V tomto článku se dozvíte, jak efektivněji ladit pomocí GitHub Copilotu. Copilot může poskytnout opravy kódu spolu s hloubkovou analýzou a vysvětlením fungování kódu. Pomáhá s navrhovanými opravami chyb a vysvětluje věci, jako jsou výjimky. Copilot rozumí zásobníkům volání, rámcům, názvům proměnných a hodnotám. V důsledku toho můžete interagovat s AI pracujícím s ladicím programem a pokládat podrobné otázky související s vaším kódem a obecně s laděním problémů.

Kromě toho Copilot poskytuje přesnější nápovědu pro několik cílových scénářů, včetně následujících:

  • Výjimky
  • Proměnné
  • Zablokování
  • Automatické přehledy využití procesoru

Pokud chcete získat pomoc s AI při ladění v těchto scénářích, vyhledejte tlačítko Zeptat se copilotuSnímek obrazovky s tlačítkem Zeptat se copilotu. V těchto scénářích už Copilot zná kontext vašich otázek. Zná například aktuální zásobník volání, řádek kódu, na který se ptáte, a název výjimky (pokud došlo k výjimce), takže nemusíte v chatu zadávat kontext sami. Copilot také nabízí návrhy pro použití podmíněných zarážek a trasovacích bodů.

Další informace o doplňování kopírování z GitHubu v sadě Visual Studio najdete v tématu o doplňování kopírování GitHubu v sadě Visual Studio.

Požadavky

Na začátek budete potřebovat:

Získání pomoci s AI při ladění aplikace

Následující jednoduchý příklad ukazuje, jak získat pomoc s AI pomocí vloženého zobrazení chatu.

Poznámka:

Nápovědu můžete získat také pomocí samostatného okna Chat výběrem možnosti Zobrazit > chat GitHub Copilot Chat. Další informace najdete v tématu Co je rozšíření GitHub Copilot Chat pro Visual Studio?.

Spuštění ladicí relace

  1. V sadě Visual Studio vytvořte novou konzolovou aplikaci jazyka C#.

    V úvodním okně zvolte Vytvořit nový projekt. Do vyhledávacího pole zadejte konzolu , vyberte jazyk C# a pak zvolte Konzolová aplikace pro .NET. Zvolte Další. Zadejte název projektu, například ConsoleApp_Copilot , a vyberte Další.

    Zvolte buď doporučenou cílovou architekturu, nebo .NET 8, a pak zvolte Vytvořit.

    Pokud šablonu projektu konzolové aplikace pro .NET nevidíte, přejděte do části Nástroje>Získat nástroje a funkce, která otevře Instalační program pro Visual Studio. Zvolte úlohu vývoje desktopových aplikací .NET a pak zvolte Upravit.

    Visual Studio vytvoří projekt konzoly, který se zobrazí v Průzkumník řešení v pravém podokně.

  2. Nahraďte kód v Program.cs následujícím kódem:

    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. Klikněte pravým tlačítkem myši na následující příkaz a zvolte Zarážku Vložit zarážku>.

    int value = Int32.Parse(args[0]);
    
  4. Stiskněte klávesu F5 nebo v nabídce Ladění vyberte Spustit ladění.

    Aplikace se pozastaví na zarážce. V okně Automatické položky je vidět, že proměnná args má hodnotu string[0].

    Snímek obrazovky s oknem Automatické položky

  5. Klikněte pravým tlačítkem do kódu a zvolte Zeptat se Copilotu , aby se otevřelo vložené zobrazení chatu.

    Tip

    Případně můžete kliknout pravým tlačítkem myši na proměnnou v okně Automatické hodnoty nebo Místní hodnoty nebo v datovém tipu a zvolit Ask Copilot. To poskytuje copilotu s názvem proměnné a kontextem, takže nemusíte v chatu zadávat kontext sami.

  6. Do vloženého zobrazení chatu zadejte následující otázku:

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

    Snímek obrazovky vloženého chatu Copilot

    Když stisknete Enter, Copilot poskytne odpověď na základě jeho porozumění kódu. (Může se zobrazit jiná odpověď než zobrazená tady.)

    Snímek obrazovky s odpovědí na otázku Copilot

    Pokud má Copilot pro váš kód navrženou opravu, zobrazí se vám. Pokud ne, můžete požádat Copilot o návrh kódu.

    Tip

    V vloženém chatu použijte symbol #a v rozevíracím seznamu vyberte konkrétní informace do Copilotu, zatímco na něj ve své otázce odkazujete. Pokud například vyberete část kódu a potom zadáte #, můžete tento výběr vybrat z rozevíracího # seznamu. Pomocí symbolu #můžete také odkazovat na funkce integrovaného vývojového prostředí (IDE), které se zobrazují v rozevíracím seznamu, například v okně Místní hodnoty.

  7. V tomto příkladu se posuňte na konec odpovědi Copilot a vyberte na konci vloženého okna Chatu následující otázku: "Jak můžu zpracovat případ, když do programu nejsou předány žádné argumenty?"

    Snímek obrazovky s následnou otázkou copilotu

    Copilot zobrazí navrhované opravy kódu.

    Snímek obrazovky s navrhovaným opravou Copilotu

    Pokud chcete použít opravu kódu, zvolte Přijmout.

  8. Zvolte Zrušit , abychom mohli pokračovat ve studiu dalších funkcí copilotu v další části.

Získání pomoci s AI pro výjimku

Následující jednoduchý příklad ukazuje, jak získat pomoc s AI, když narazíte na výjimku a jak rychle aktualizovat kód na základě navrhovaných oprav AI.

Spuštění ladicí relace

  • Během pozastavení v ladicím programu pomocí stejné ukázkové aplikace stiskněte klávesu F11 nebo Debug>Step Into a spusťte aktuální příkaz.

    Dojde IndexOutOfRangeException a aplikace se pozastaví a zobrazí se výjimka.

    Pokud chcete získat pomoc s AI pro výjimku, pokračujte k další části.

Požádat o pomoc s AI

  1. Pokud je aplikace pozastavená na výjimce, vyberte tlačítko Ask Copilot (Zeptat se zkopírovaného objektu).

    Snímek obrazovky s tlačítkem Zeptat se copilotu ve výjimce

    Pokud ještě není otevřený, zobrazí se okno chatu Copilot a zobrazí posouzení chyby a důvod, proč k ní došlo. V tomto příkladu Copilot identifikuje navrženou opravu kódu, tlačítko pro zkopírování kódu a tlačítko Náhled pro opravu kódu.

    Pokud máte dotazy k výjimce, položte je do textového pole Zeptejte se Copilotu.

  2. Vyberte tlačítko Náhled.

    Snímek obrazovky s tlačítkem Náhled v okně chatu Copilot

    Visual Studio zobrazuje náhled kódu s navrženou opravou.

  3. Projděte si navrženou opravu a zvolte Přijmout , aby se použil návrh kódu.

    Snímek obrazovky s náhledem kódu v sadě Visual Studio

  4. Znovu spusťte ladicí program.

    Tentokrát nedojde k žádné výjimce. Bylo opraveno!

Získání pomoci s AI s podmíněnými zarážky a trasovacími body

Copilot nabízí návrhy pro podmíněné zarážky a trasovací body , které jsou specifické pro váš kód.

V tomto příkladu zobrazíme návrhy umělé inteligence pro podmíněnou zarážku. U trasovacích bodů funguje pomoc s AI stejným způsobem.

  1. Odeberte aktuální zarážku tak, že na ni kliknete nebo kliknete pravým tlačítkem myši a zvolíte Odstranit zarážku.

  2. Nahraďte následující řádek kódu:

    names.Add("Major Major Major");
    

    tímto kódem:

    // names.Add("Major Major Major");
    foreach (var item in args)
    {
       names.Add("Name: " + item);
    }
    
  3. Nalevo od names.Add("Name: " + item) příkazu klikněte pravým tlačítkem myši na hřbet a zvolte Vložit podmíněnou zarážku.

  4. Vyberte pole výrazu a Copilot začne pracovat na návrzích.

    Snímek obrazovky s příkazem Copilot, který pracuje s návrhy podmíněné zarážky

  5. Jakmile se návrhy zobrazí, zvolte jeden z nich, například item == "John". Upravte návrh tak, aby název byl Fred.

    Snímek obrazovky s návrhem copilotu pro podmíněnou zarážku

  6. Testování podmíněného výrazu:

    1. Klikněte pravým tlačítkem myši na projekt ConsoleApp_Copilot v Průzkumník řešení a zvolte Vlastnosti.

    2. Vyberte Ladit>obecné>otevřené uživatelské rozhraní spouštěcích profilů ladění.

    3. Do pole Argumenty příkazového řádku zadejte 5 Fred Joena třech samostatných řádcích.

      Snímek obrazovky se zadáváním argumentů příkazového řádku pro projekt

    4. Znovu spusťte ladicí program.

    Když se ladicí program pozastaví na zarážce, zkontrolujte hodnotu item a ověřte, zda je Fredaktuální hodnota .

Získání pomoci s AI v tabulkovém vizualizéru IEnumerable

Pomoc s AI pro tabulkový vizualizér IEnumerable najdete v tématu Úprava výrazu vizualizéru.

Získání pomoci s AI pro automatické přehledy

Kromě pomoci s interaktivním laděním poskytuje Copilot podrobné informace v nástroji Auto Insights o využití procesoru. Poskytuje informace a přehledy související se sadou konkrétních přehledů výkonu. Pomocí Copilotu položte otázky týkající se funkcí na identifikovaných horkých cestách v kódu, které vám můžou pomoct vytvořit efektivnější nebo nákladově efektivnější kód.

Tlačítko Zeptat se copilotu se zobrazí i v případě, že nejsou identifikovány žádné konkrétní přehledy výkonu. Vyberte Možnost Zeptat se z Copilotu, abyste se mohli učit z Copilotu , a začněte klást otázky.

Animace použití Copilotu s využitím procesoru