Отладка приложения с помощью GitHub Copilot в Visual Studio

В этой статье вы узнаете, как эффективнее выполнять отладку с помощью GitHub Copilot. Copilot может предоставлять исправления кода вместе с подробным анализом и объяснением работы кода. Это помогает с предлагаемыми исправлениями ошибок и объясняет такие вещи, как исключения. Copilot понимает стеки вызовов, кадры, имена переменных и значения. В результате вы можете взаимодействовать с отладчиком ИИ, чтобы задать подробные вопросы, связанные с кодом и отладкой проблем в целом.

Кроме того, Copilot предоставляет более точную помощь для нескольких целевых сценариев, включая следующие:

  • Исключения
  • Автоматическое Аналитика для использования ЦП

Чтобы получить помощь по искусственному интеллекту во время отладки в этих сценариях, найдите кнопку Ask CopilotСнимок экрана: кнопка Ask Copilot.. В этих сценариях Copilot уже знает контекст ваших вопросов. Например, он знает стек текущих вызовов, кодовую строку, которую вы запрашиваете, и имя исключения (если произошло), поэтому вам не нужно предоставлять контекст в чате.

Дополнительные сведения о завершении GitHub Copilot в Visual Studio см. в разделе "Сведения о завершении GitHub Copilot" в Visual Studio.

Необходимые компоненты

Для начала работы необходимы перечисленные ниже компоненты и данные.

Получение помощи по отладке приложения с помощью ИИ

В следующем простом примере показано, как получить помощь СИ с помощью встроенного представления чата.

Примечание.

Вы также можете получить помощь в отдельном окне чата, выбрав "Просмотреть > GitHub Copilot Chat". Дополнительные сведения см. в разделе "Что такое расширение чата GitHub Copilot для Visual Studio?".

Запуск сеанса отладки

  1. В Visual Studio создайте консольное приложение C#.

    На начальном экране выберите Создать проект. Введите консоль в поле поиска, выберите язык C# и выберите консольное приложение для .NET. Нажмите кнопку Далее. Введите имя проекта, например ConsoleApp_Copilot , и нажмите кнопку "Далее".

    Выберите рекомендуемую целевую платформу или .NET 8, а затем нажмите кнопку "Создать".

    Если вы не видите шаблон проекта консольного приложения для .NET, перейдите в раздел "Сервис>получения инструментов и функций", который открывает установщик Visual Studio. Выберите рабочую нагрузку Разработка классических приложений .NET и нажмите Изменить.

    Visual Studio создаст консольный проект и откроет его в Обозревателе решений в области справа.

  2. Замените код файла Program.cs на код, приведенный ниже:

    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. Щелкните правой кнопкой мыши следующую инструкцию и выберите точку>останова вставить точку останова.

    int value = Int32.Parse(args[0]);
    
  4. Нажмите клавишу F5 или выберите "Начать отладку" в меню отладки.

    Приложение приостанавливается в точке останова. В окне "Автозапуск" показано, что переменная args имеет значение string[0].

    Снимок экрана: окно

  5. Щелкните код правой кнопкой мыши и выберите "Попросить Copilot ", чтобы открыть встроенное представление чата.

  6. Введите следующий вопрос в режиме встроенного чата:

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

    Снимок экрана: встроенный чат Copilot.

    При нажатии клавиши ВВОД Copilot предоставляет ответ на основе его понимания кода. (Вы можете получить другой ответ, отличный от того, что показано здесь.)

    Снимок экрана: ответ на вопрос Copilot.

    Если в Copilot есть предлагаемое исправление для кода, отображается. Если нет, вы можете попросить Copilot предложить код.

  7. В этом примере прокрутите страницу до конца ответа Copilot и выберите следующий вопрос в конце встроенного окна чата: "Как можно справиться с ситуацией, когда аргументы не передаются в программу?"

    Снимок экрана: дальнейший вопрос Copilot.

    Copilot показывает предлагаемое исправление в коде.

    Снимок экрана: предлагаемое исправление Copilot.

    Если вы хотите применить исправление кода, нажмите кнопку "Принять".

  8. Нажмите кнопку "Отмена" , чтобы продолжить изучение других функций Copilot в следующем разделе.

Получение помощи по искусственному интеллекту для исключения

В следующем простом примере показано, как получить помощь по искусственному интеллекту при возникновении исключения и как быстро обновить код на основе исправлений, предлагаемых ИИ.

Запуск сеанса отладки

  • При приостановке работы отладчика с помощью того же примера приложения нажмите клавишу F11 или Debug>Step In, чтобы выполнить текущую инструкцию.

    Происходит IndexOutOfRangeException и приложение приостанавливается, показывая исключение.

    Чтобы получить помощь по ИИ для исключения, перейдите к следующему разделу.

Запрос помощи по искусственному интеллекту

  1. При приостановке приложения в исключении нажмите кнопку Ask Copilot .

    Снимок экрана: кнопка Ask Copilot в исключении.

    Если он еще не открыт, откроется окно чата Copilot и предоставляет оценку ошибки и причин ее возникновения. В этом примере Copilot определяет предлагаемое исправление кода, кнопку для копирования кода и кнопку предварительного просмотра для исправления кода.

    Если у вас есть вопросы об исключении, задайте их в текстовом поле Ask Copilot.

  2. Нажмите кнопку "Предварительный просмотр ".

    Снимок экрана: кнопка предварительного просмотра в окне чата Copilot.

    Visual Studio отображает предварительный просмотр кода с предлагаемым исправлением.

  3. Просмотрите предлагаемое исправление и нажмите кнопку "Принять ", чтобы применить предложение кода.

    Снимок экрана: предварительный просмотр кода в Visual Studio.

  4. Перезапустите отладчик.

    На этот раз исключение не возникает. Исправлено!

Получение помощи по искусственному интеллекту для автоматической аналитики

Помимо интерактивной помощи по отладке, Copilot предоставляет подробные сведения в Аналитика использования ЦП. Он предоставляет сведения и аналитические сведения, связанные с набором конкретных аналитических сведений о производительности. С помощью Copilot задайте вопросы о функциях на определенных горячих путях в коде, которые помогут вам создать более эффективный или экономичный код.

Когда средство использования ЦП предоставляет автоматические аналитические сведения в разделе "Топ-Аналитика", выберите "Задать Copilot", чтобы узнать о Copilot и начать задавать вопросы.

Анимация использования Copilot с использованием ЦП.