Debugowanie aplikacji za pomocą narzędzia GitHub Copilot w programie Visual Studio

W tym artykule dowiesz się, jak wydajniej debugować przy użyciu narzędzia GitHub Copilot. Copilot może dostarczać poprawki kodu wraz ze szczegółową analizą i wyjaśnieniami sposobu działania kodu. Pomaga to w proponowanych poprawkach błędów i wyjaśnia takie elementy jak wyjątki. Copilot rozumie stosy wywołań, ramki, nazwy zmiennych i wartości. W związku z tym możesz wchodzić w interakcje ze sztuczną inteligencją z obsługą debugera, aby zadawać szczegółowe pytania związane z kodem i debugować problemy ogólnie.

Ponadto copilot zapewnia bardziej precyzyjną pomoc w przypadku kilku scenariuszy docelowych, w tym następujących:

  • Wyjątki
  • Automatyczne Szczegółowe informacje użycia procesora CPU

Aby uzyskać pomoc dotyczącą sztucznej inteligencji podczas debugowania w tych scenariuszach, poszukaj przycisku Zapytaj copilotZrzut ekranu przedstawiający przycisk Zapytaj Copilot. . W tych scenariuszach Copilot zna już kontekst pytań. Na przykład zna bieżący stos wywołań, wiersz kodu, o którym pytasz, oraz nazwę wyjątku (jeśli wystąpił), więc nie musisz podawać kontekstu samodzielnie podczas czatu.

Aby uzyskać więcej informacji na temat uzupełniania copilot w usłudze GitHub w programie Visual Studio, zobacz About GitHub Copilot Completions in Visual Studio (Informacje o ukończeniach funkcji Copilot w usłudze GitHub w programie Visual Studio).

Wymagania wstępne

Aby rozpocząć pracę, potrzebne będą następujące elementy:

Uzyskiwanie pomocy dotyczącej sztucznej inteligencji w celu debugowania aplikacji

W poniższym prostym przykładzie pokazano, jak uzyskać pomoc dotyczącą sztucznej inteligencji przy użyciu wbudowanego widoku czatu.

Uwaga

Możesz również uzyskać pomoc przy użyciu oddzielnego okna czatu, wybierając pozycję Wyświetl > czat w usłudze GitHub Copilot. Aby uzyskać więcej informacji, zobacz What is the GitHub Copilot Chat extension for Visual Studio? (Co to jest rozszerzenie GitHub Copilot Chat dla programu Visual Studio?).

Rozpoczynanie sesji debugowania

  1. W programie Visual Studio utwórz nową aplikację konsolową języka C#.

    W oknie uruchamiania wybierz pozycję Utwórz nowy projekt. Wpisz konsolę w polu wyszukiwania, wybierz pozycję C# jako język, a następnie wybierz pozycję Aplikacja konsolowa dla platformy .NET. Wybierz Dalej. Wpisz nazwę projektu, taką jak ConsoleApp_Copilot i wybierz przycisk Dalej.

    Wybierz zalecaną strukturę docelową lub platformę .NET 8, a następnie wybierz pozycję Utwórz.

    Jeśli nie widzisz szablonu projektu Aplikacja konsolowa dla platformy .NET, przejdź do pozycji Narzędzia>Pobierz narzędzia i funkcje, co spowoduje otwarcie Instalator programu Visual Studio. Wybierz obciążenie programowanie aplikacji klasycznych platformy .NET, a następnie wybierz pozycję Modyfikuj.

    Program Visual Studio tworzy projekt konsoli, który jest wyświetlany w Eksplorator rozwiązań w okienku po prawej stronie.

  2. Zastąp kod w Program.cs następującym kodem:

    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. Kliknij prawym przyciskiem myszy następującą instrukcję i wybierz polecenie Wstaw punkt przerwania>.

    int value = Int32.Parse(args[0]);
    
  4. Naciśnij klawisz F5 lub wybierz pozycję Rozpocznij debugowanie z menu Debugowanie .

    Aplikacja wstrzymuje się w punkcie przerwania. W oknie Autos jest wyświetlana wartość zmiennej args o string[0]wartości .

    Zrzut ekranu przedstawiający okno Automatyczne.

  5. Kliknij prawym przyciskiem myszy kod i wybierz pozycję Zapytaj Copilot , aby otworzyć wbudowany widok czatu.

  6. Wpisz następujące pytanie w widoku czatu wbudowanego:

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

    Zrzut ekranu przedstawiający wbudowany czat copilot.

    Po naciśnięciu klawisza Enter copilot udostępnia odpowiedź na podstawie zrozumienia kodu. (Możesz uzyskać inną odpowiedź niż pokazana w tym miejscu).

    Zrzut ekranu przedstawiający pytanie, na które odpowiedział Copilot.

    Jeśli aplikacja Copilot ma sugerowaną poprawkę dla kodu, zostanie wyświetlona. Jeśli nie, możesz poprosić Copilot o sugestię dotyczącą kodu.

  7. W tym przykładzie przewiń do końca odpowiedzi Copilot i wybierz pytanie kontynuacji na końcu wbudowanego okna Czat: "Jak mogę obsłużyć przypadek, gdy do programu nie są przekazywane żadne argumenty?"

    Zrzut ekranu przedstawiający kolejne pytanie Copilot.

    Copilot pokazuje sugerowaną poprawkę kodu.

    Zrzut ekranu przedstawiający sugerowaną poprawkę narzędzia Copilot.

    Jeśli chcesz zastosować poprawkę kodu, wybierz pozycję Akceptuj.

  8. Wybierz pozycję Anuluj , aby kontynuować naukę innych funkcji copilot w następnej sekcji.

Uzyskiwanie pomocy dotyczącej sztucznej inteligencji dla wyjątku

Poniższy prosty przykład pokazuje, jak uzyskać pomoc dotyczącą sztucznej inteligencji w przypadku napotkania wyjątku i jak szybko zaktualizować kod na podstawie sugerowanych poprawek sztucznej inteligencji.

Rozpoczynanie sesji debugowania

  • Podczas wstrzymania w debugerze przy użyciu tej samej przykładowej aplikacji naciśnij klawisz F11 lub Krok do debugowania>, aby wykonać bieżącą instrukcję.

    Występuje i IndexOutOfRangeException aplikacja wstrzymuje się, pokazując wyjątek.

    Aby uzyskać pomoc dotyczącą sztucznej inteligencji dla wyjątku, przejdź do następnej sekcji.

Poproś o pomoc dotyczącą sztucznej inteligencji

  1. Po zatrzymaniu aplikacji w wyjątku wybierz przycisk Zapytaj Copilot .

    Zrzut ekranu przedstawiający przycisk Zapytaj Copilot w wyjątku.

    Jeśli nie jest jeszcze otwarty, zostanie wyświetlone okno czatu copilot i wyświetli ocenę błędu i przyczynę jego wystąpienia. W tym przykładzie Copilot identyfikuje sugerowaną poprawkę kodu, przycisk do kopiowania kodu i przycisk Podgląd poprawki kodu.

    Jeśli masz pytania dotyczące wyjątku, zadaj je w polu tekstowym Zapytaj Copilot.

  2. Wybierz przycisk Podgląd.

    Zrzut ekranu przedstawiający przycisk Podgląd w oknie czatu copilot.

    Program Visual Studio wyświetla podgląd kodu z sugerowaną poprawką.

  3. Przejrzyj sugerowaną poprawkę i wybierz pozycję Akceptuj , aby zastosować sugestię dotyczącą kodu.

    Zrzut ekranu przedstawiający podgląd kodu w programie Visual Studio.

  4. Uruchom ponownie debuger.

    Tym razem nie ma wyjątku. To zostało naprawione!

Uzyskiwanie pomocy dotyczącej sztucznej inteligencji w celu uzyskania automatycznego wglądu w szczegółowe informacje

Oprócz interaktywnej pomocy przy debugowaniu copilot udostępnia szczegółowe informacje w Szczegółowe informacje użycia procesora CPU. Zawiera on informacje i szczegółowe informacje związane z zestawem szczegółowych informacji o wydajności. Za pomocą narzędzia Copilot zadaj pytania dotyczące funkcji na zidentyfikowanych ścieżkach gorących w kodzie, co może pomóc w tworzeniu bardziej wydajnego lub ekonomicznego kodu.

Gdy narzędzie Użycie procesora CPU udostępnia automatyczne szczegółowe informacje w sekcji Top Szczegółowe informacje (Najważniejsze Szczegółowe informacje), wybierz pozycję Ask Copilot (Zapytaj Copilot), aby dowiedzieć się od copilota i rozpocząć zadawanie pytań.

Animacja użycia narzędzia Copilot z użyciem procesora CPU.