Чат GitHub Copilot

Завершено

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

  • Как создать код с помощью чата GitHub Copilot.
  • Отладка с помощью чата GitHub Copilot.
  • Как получить объяснения кода с помощью чата GitHub Copilot.
  • Использование команд косой черты для выполнения действий с GitHub Copilot.
  • Использование пользовательских агентов GitHub Copilot для улучшения запросов.

Чтобы получить доступ к Copilot в интегрированной среде разработки (IDE), щелкните значок чата на левой панели навигации.

Снимок экрана: чат.

Чат GitHub Copilot выгоден в определенных сценариях:

  • Сложное создание кода, если необходимо реализовать сложные алгоритмы, структуры данных или создать стандартный код для конкретных шаблонов проектирования, Copilot Chat может помочь упростить процесс. Это может помочь создавать сложные регулярные выражения, создавать подробные запросы SQL или разрабатывать расширенные структуры данных, такие как сортировка пузырьков в Python.

    Снимок экрана: создание кода чата.

  • Помощь по отладке при возникновении ошибок в коде copilot Chat может быть ценным в анализе сообщений об ошибках и предложениях потенциальных исправлений. Он может помочь определить логические ошибки и предоставить пошаговые объяснения проблемных разделов кода. Одним из способов достижения этого результата является использование встроенного чата Copilot путем выделения фрагмента кода, содержащего ошибку, щелчка правой кнопкой мыши и выбора Copilot, а затем встроенного чата.

    Снимок экрана: отладка чата выбора.

    Например, можно спросить: "Я получаю в этом методе NullReferenceException . Можете ли вы помочь мне отладить его?"

    Снимок экрана: создание отладки чата кода.

  • Объяснения кода Copilot Chat также можно использовать для лучшего понимания сложных фрагментов кода. Он может разбить код на более простые термины, объяснить назначение и функциональные возможности незнакомого кода, а также предложить аналитические сведения о рекомендациях и потенциальных оптимизациях. Например, можно спросить: "Можете ли вы объяснить, как работает этот асинхронный или ожидаемый код в Python?"

    Снимок экрана: объяснения кода чата.

Как улучшить ответы чата GitHub Copilot

Вы можете значительно улучшить качество и релевантность ответов GitHub Copilot Chat с определенными ключевыми функциями. Давайте посмотрим на них.

Ссылка на область

Чтобы повысить точность и релевантность ответов, предоставляемых GitHub Copilot Chat, важно правильно задать область ваших вопросов с помощью ссылок. Вот как это сделать.

  • Ссылки на файлы: можно указать конкретный файл в вашем вопросе, добавив #file: перед именем файла.

    Снимок экрана: выбор файла области чата.

    Например, если вы работаете с файлом с именем controller.js, можно использовать команду #file, чтобы выбрать его и ссылаться непосредственно на него в вашем вопросе #file:controller.js. Эта функция инструктирует Copilot Chat, сосредоточиться на содержимом этого файла при создании ответа.

    Снимок экрана: ссылка на файл области чата.

  • Ссылки на среду. Вы можете ссылаться на все решение или рабочую область с помощью @workspace. Эта функция позволяет Copilot Chat рассмотреть более широкий контекст проектов и конфигураций, которые в настоящее время открыты в интегрированной среде разработки Visual Studio. Например, запрос "@workspace где находится функция вычисления?" побуждает Copilot рассмотреть весь проект, чтобы найти наиболее релевантную информацию.

    Снимок экрана: ссылка на рабочую область чата.

Команды косой черты

Команды slash в GitHub Copilot Chat позволяют быстро указать намерение запроса. Это может значительно повысить качество получаемых ответов, сделав запросы более ориентированными. Ниже приведены некоторые часто используемые команды косой черты:

  • /doc: добавляет примечания к указанному или выбранному коду. Например, вы можете ввести /doc, за которым следует код, который вы хотите документировать, и Copilot создаст подходящие комментарии.

    Снимок экрана: команды косой черты /doc.

  • /explain: предоставляет объяснения для выбранного кода. Эта команда полезна, если необходимо понять, что делает конкретный фрагмент кода. Например, /explain the #file:controller.js предоставляет вам подробное описание этого файла.

    Снимок экрана: команды косой черты /explain.

  • /fix: предлагает исправления для проблем в выбранном коде. При возникновении проблем можно выделить проблемный раздел и использовать /fix для получения предложений по устранению проблемы.

    Снимок экрана: команды /fix slash.

  • /generate: помогает создавать новый код на основе ваших требований. Например, /generate code to find the root of a number in client.js создает функцию для выполнения задачи.

    Снимок экрана: /generate slash commands.

  • /optimize: анализирует и предлагает улучшения времени выполнения или эффективности выбранного кода. Например, /optimize the вычисление method in controller.js сосредоточено на повышении производительности этого конкретного метода.

    Снимок экрана: команды /optimize slash.

  • /test: автоматически создает модульные тесты для выбранного кода. Вы можете просто выделить код и использовать /tests using Mocha для создания тестов.

    Снимок экрана: команды косой черты /test.

Выбор моделей и функции уровня "Премиум"

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

Стандартные модели (GPT-4o):

  • Предоставление быстрых, надежных ответов для большинства задач разработки
  • Потребление 1 PRU на запрос
  • Идеально подходит для обычной помощи по написанию кода, объяснениям кода и базовой отладке
  • Примеры: простое создание функций, справка по синтаксису, основные предложения рефакторинга

Модели класса Premium (o1-preview, o1-mini):

  • Расширенные аналитические возможности для решения сложных проблем
  • Расходуется 2 PRU на запрос (вдвое больше стандартной нормы)
  • Лучше подходит для сложного анализа, сложных алгоритмов и архитектурных решений
  • Примеры: расширенная отладка многопотокового кода, комплексного проектирования алгоритмов, анализа безопасности

При работе с сложными проблемами, требующими глубокой рассудки, модели класса Premium могут обеспечить более тщательный анализ и комплексные решения. Однако при выборе моделей для различных типов задач следует учитывать использование PRU.

Замечание

Использование моделей класса Premium (o1-preview, o1-mini) потребляет 2 PRUS вместо 1 для того же запроса. Отслеживайте ежемесячные пособия и выбирайте соответствующую модель на основе сложности задачи. Актуальные сведения о потреблении и ограничениях PRU см. в разделе о запросах в документации GitHub Copilot.

Агенты Copilot

Агенты GitHub Copilot — это пользовательские средства, которые можно создавать и интегрировать с GitHub Copilot Chat, чтобы обеспечить дополнительные функциональные возможности, адаптированные к конкретным потребностям. Помимо команд косой черты можно использовать определенные агенты в Чате Copilot в интегрированной среде разработки для обработки различных задач:

  • @workspace. Этот агент позволяет расширить контекст всех вопросов, которые вы задаете Copilot всему проекту. Полезно использовать автоматически генерируемый код, который сразу же будет подходящим для вашего проекта, базируясь на информации из всего проекта. Его также можно использовать для получения ответов по всей базе кода.

    Снимок экрана: команда агента @workspace.

    Вы также можете использовать смарт-действие "@workspace /new", которое позволяет создавать совершенно новый проект с нуля на основе ваших требований. Например, "@workspace /new генерировать новые страницы html файла и JavaScript для расширенных вычислений"

    Снимок экрана: команда агента @workspace \new.

    Щелкните "Создать рабочую область", чтобы продолжить создание кода и точно так же, как у вас есть новый проект с запрошенным кодом.

    Снимок экрана: новый созданный проект рабочей области.

  • @terminal. Этот агент полезен для вопросов, связанных с командной строкой. Например, можно попросить найти самый большой файл в каталоге или объяснить последнюю команду, выполненную вами.

    Снимок экрана: команда агента @terminal.

  • @vscode. Используйте этот агент, чтобы задать вопросы, связанные с Visual Studio Code, например отладка или изменение параметров в интегрированной среде разработки.

    Снимок экрана: команда агента @vscode.

    Эффективно используя эти средства и методы, вы можете значительно улучшить качество ответов, получаемых от GitHub Copilot Chat, что повышает эффективность и эффективность написания кода.

Замечание

Расширенные агенты, такие как @workspace и сложные операции, могут использовать больше единиц запросов класса Premium (PRUS). Простые запросы обычно используют 1 PRU, в то время как сложный анализ рабочей области или создание проектов может использовать 2-5 PRUS. Сведения о потреблении PRU, ежемесячных лимитах и лимитах ставок см. в документации по запросам в GitHub Copilot.

Общий доступ к отзыву о чате GitHub Copilot

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

Снимок экрана: полезные кнопки.

Щелкните пальцем, чтобы оценить предложение как полезное.

Снимок экрана: пальцы вниз поверх.

Щелкните пальцем вниз, чтобы оценить бесполезную одну.