Изучите встроенный чат, умные действия и быстрый чат GitHub Copilot

Завершено

Помимо представления чата, GitHub Copilot Чат предоставляет несколько других способов взаимодействия с программистом пары ИИ. К ним относятся встроенный чат и интеллектуальные действия.

Встроенный чат

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

Функция встроенного чата доступна только при открытии файла в редакторе. Существует несколько способов открытия встроенного сеанса чата:

  • Выберите Editor Inline Chat в меню чата GitHub Copilot.
  • Используйте сочетание клавиш: CTRL+I.
  • Щелкните правой кнопкой мыши в редакторе кода, выберите Copilot в контекстном меню, а затем выберите Editor Inline Chat.

Screenshot, показывающий, как получить доступ к встроенному чату из меню GitHub Copilot в Visual Studio Code.

Вы можете использовать встроенный сеанс чата, чтобы задать GitHub Copilot вопросы при написании или итерации кода.

При открытии встроенного сеанса чата в редакторе представлен следующий интерфейс.

Скриншот, показывающий, как получить доступ к встроенному чату с помощью сочетаний клавиш в Visual Studio Code.

Рассмотрим следующий сценарий:

  • Вы разрабатываете приложение C#, которое обрабатывает числовой список. Данные обрабатываются в пакетах по 100.
  • Приведенный ниже фрагмент кода используется для создания списка 100 случайных целых чисел от 1 до 1000, которые можно использовать для тестирования.
// create a list of 100 random number between 1 and 1000
List<int> numbers = new List<int>();
Random random = new Random();
for (int i = 0; i < 100; i++)
{
    numbers.Add(random.Next(1, 1000));
}

Код работает нормально. Однако что делать, если требования изменяются? Что делать, если необходимо убедиться, что список не содержит повторяющихся чисел?

Чтобы обновить код с помощью автозавершения GitHub Copilot, вам потребуется:

  1. Удалите существующий код.
  2. Создайте комментарий, который отражает обновленное требование.
  3. Используйте GitHub Copilot для создания нового фрагмента кода из обновленного комментария.
  4. Просмотрите предложения и выберите оптимальный вариант.

К счастью, это не обязательно. Лучшее решение — использовать GitHub Copilot Chat для предложения необходимых обновлений кода.

Вы можете использовать встроенный сеанс чата, чтобы предложить обновление кода следующим образом:

  1. Выделите фрагмент кода, который требуется обновить.
  2. Нажмите, Ctrl + I чтобы открыть встроенный чат.
  3. Спросите у GitHub Copilot Chat, как выполнить обновление.
  4. Просмотрите предложения и выберите оптимальный вариант.

В этом случае можно попросить: Update this code to ensure that numbers doesn't include any duplicates

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

Скриншот с предлагаемым обновлением из встроенного чата в Visual Studio Code.

Если вы не любите предложенные обновления, вы можете попросить GitHub Copilot Чат создать другое предложение, выбрав Rerun... значок . Значок повторного запуска отображается как круговая стрелка, которая отображается под текстовым полем запроса.

Если вы повторно запустите запрос и по-прежнему не получаете необходимые результаты, попробуйте обновить запрос с дополнительным контекстом. GitHub Copilot чат создает лучшие предложения, когда запрос является четким, кратким и точным. Вы можете выбрать "Отменить" , чтобы закрыть встроенный чат без внесения изменений.

Интеллектуальные действия

Некоторые задачи являются настолько распространенными, что они могут быть автоматизированы. GitHub Copilot чат включает в себя интеллектуальные действия, которые позволяют выполнять определенные задачи без необходимости писать запрос. Интеллектуальные действия — это стандартные действия, которые можно выполнять непосредственно из редактора Visual Studio Code, чтобы быстро и легко выполнять распространенные задачи программирования.

Доступны следующие интеллектуальные действия:

  • Объяснение. Действие Explain создает описание естественного языка выбранного кода. Это может быть полезно для понимания цели и функциональности фрагмента кода. Это Explain действие особенно полезно, если вы работаете с незнакомым кодом или хотите объяснить код другим пользователям.
  • Исправление. Действие Fix предлагает исправление для выбранного кода. Это может быть полезно, если вы столкнулись с ошибкой или проблемой в коде, и вам потребуется руководство по ее устранению. GitHub Copilot Чат может предложить изменения переменных, структур управления или вызовов функций, которые могут устранить проблему.
  • Проверка и комментарий. Действие Review and Comment предоставляет проверку кода выбранного кода. Это может быть полезно для выявления потенциальных проблем, улучшения качества кода и обеспечения соблюдения рекомендаций. Это Review and Comment действие поможет выявить ошибки, узкие места производительности и уязвимости безопасности в коде.
  • Создание документов: Generate Docs действие создает документацию для выбранного кода. Это может быть полезно для документирования базы кода, особенно если вы работаете над проектом с несколькими участниками или хотите поделиться кодом с другими пользователями.
  • Создание тестов. Действие Generate Tests создает модульные тесты для выбранного кода. Это может быть полезно для обеспечения правильности и надежности кода, особенно если вы работаете над проектом с сложной логикой или критической функциональностью.

Чтобы получить доступ к смарт-действиям, щелкните правой кнопкой мыши фрагмент кода в редакторе и выберите нужное действие в контекстном меню GitHub Copilot.

Screenshot, показывающий, как получить доступ к интеллектуальным действиям в Visual Studio Code.

Еще раз рассмотрим приложение для простых чисел.

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

// create a list of 100 random numbers between 1 and 1000
List<int> numbers = new List<int>();
Random random = new Random();
while (numbers.Count < 100)
{
    int randomNumber = random.Next(1, 1000);
    if (!numbers.Contains(randomNumber))
    {
        numbers.Add(randomNumber);
    }
}

Хотя этот код обеспечивает коллекцию уникальных элементов, могут быть возможности для улучшения.

Вы можете использовать интеллектуальное действие Review This для проверки выбора кода. Чтобы использовать умное действие «Оцените это»

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

  2. Выберите Review This в контекстном меню GitHub Copilot.

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

Для фрагмента кода, создающего случайные числа, смарт-действие Review This предлагает следующее:

  • Инициализация List<int> numbers с емкостью 100, чтобы избежать многократных изменений размера во время заполнения.
  • Использование HashSet<int> вместо List<int> обеспечивает более быстрый поиск при проверке дубликатов.

В этом случае умное действие Просмотреть это приводит вас к использованию HashSet<int>, а не List<int>, для повышения производительности.

// create a list of 100 random numbers between 1 and 1000
HashSet<int> numbers = new HashSet<int>();
Random random = new Random();
while (numbers.Count < 100)
{
    int randomNumber = random.Next(1, 1000);
    if (!numbers.Contains(randomNumber))
    {
        numbers.Add(randomNumber);
    }
}

int sum = addPrimeNumbersInNumericList(numbers);
Console.WriteLine(sum);

Хотя использование HashSet эффективно для обеспечения коллекции уникальных элементов, обновление создает новую проблему. Метод addPrimeNumbersInNumericList ожидает List<int> в качестве входных данных, но обновленный код создает HashSet<int>. Это приводит к следующей ошибке компиляции:

Скриншот, показывающий ошибку компиляции в Visual Studio Code.

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

  1. Щелкните правой кнопкой мыши фрагмент кода, который необходимо исправить. В этом случае код подчеркнут красным цветом.

  2. Выберите Fix в контекстном меню GitHub Copilot.

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

Интеллектуальное Fix действие создает одно или несколько предложений для устранения ошибки. В этом случае одно из предложений использует метод ToList() для преобразования HashSet в List во время вызова addPrimeNumbersInNumericList. Полученный код будет выглядеть примерно так, как показано в следующем фрагменте кода:

// create a list of 100 random numbers between 1 and 1000
HashSet<int> numbers = new HashSet<int>();
Random random = new Random();
while (numbers.Count < 100)
{
    int randomNumber = random.Next(1, 1000);
    if (!numbers.Contains(randomNumber))
    {
        numbers.Add(randomNumber);
    }
}

int sum = addPrimeNumbersInNumericList(numbers.ToList());
Console.WriteLine(sum);

Как всегда, просмотрите предложение, предоставленное GitHub Copilot чате. Там могут быть лучшие решения. Вы можете выбрать "Принять" , чтобы обновить код с помощью предлагаемого исправления.

Сводка

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