Изучите запросы и ключевые слова GitHub Copilot

Завершено

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

Качество запроса

При написании запросов на GitHub Copilot рассмотрите следующие рекомендации по улучшению качества ответов:

  • Запросы, которые вы отправляете, должны быть четкими, краткими и конкретными. Например, вместо запроса "Как использовать эту функцию?", можно задать вопрос "Можно ли объяснить, как calculateTotal работает функция в shoppingCart.js файле?".

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

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

Использование ключевых слов запроса

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

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

  • Участники чата: участники чата похожи на экспертов в определенном поле, которые помогают GitHub Copilot создавать лучшие ответы. Участники чата указываются с помощью символа @ .

  • Команды косой черты: Slash-команды помогают описать намерение (цель или задача) вашего запроса. Одна из задач чата GitHub Copilot при ответе на вопросы — определить намерение, понять, что вы хотите сделать. Слэш-команды могут помочь уточнить ваше намерение.

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

Участники чата

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

В настоящее время GitHub Copilot Чат поддерживает следующих встроенных участников чата:

  • @workspace @workspace: участник может ответить на вопросы о коде в рабочей области или предложить способы рефакторинга или улучшения кода.
  • @vscode: участник @vscode знает о командах и функциях в самом редакторе Visual Studio Code и может помочь вам использовать их.
  • @terminal: @terminal участник может помочь с оболочкой интегрированного терминала и его содержимым.
  • @github: участник @github может помочь получить ответы, основанные на веб-поиске, поиске кода и базах знаний вашей организации.

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

Команды слэш

Слэш-команды помогают в GitHub Copilot Chat понять ваш замысел, когда вы задаете вопрос. Вы изучаете кодовую базу (/explain), хотите помощи в устранении проблемы (/fix) или создаете тестовые случаи (/tests)? Предоставив GitHub Copilot чату знать, что вы пытаетесь сделать, он может настроить свой ответ на задачу и предоставить полезные команды, параметры и фрагменты кода.

Участники чата часто ассоциируются с командами косой черты. Команда слэш — это краткий способ объяснить ваше намерение участнику чата. Команда /explain косой черты часто сочетается с участником чата @workspace. Сочетание участника чата и слэш-команды — это мощный способ прояснить свои намерения.

Например, рассмотрим следующий пример запроса:

Create a new workspace that uses Node.js, the Express framework, the Pug template engine, and TypeScript.

GitHub Copilot может интерпретировать этот запрос в виде запроса на новый проект кода, созданный с помощью указанных технологий, но проще GitHub Copilot понять следующий запрос, использующий ключевые слова:

@workspace /new Node.js Express Pug TypeScript

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

Снимок экрана: запрос

Примеры встроенных команд слэш:

  • /help: Узнайте, как использовать GitHub Copilot.
  • /doc: Генерация документации по коду.
  • /clear: запуск нового сеанса чата.
  • /explain: объясните, как работает выбранный код.
  • /tests: создайте модульные тесты для выбранного кода.
  • /fix: предложить исправление для выбранного кода.
  • /new: шаблонный код для новой рабочей области. В качестве контекста используется только запрос чата.
  • /newNotebook: Создайте новый Jupyter Notebook. В качестве контекста используется только запрос чата.

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

  • @workspace /explain: создайте объяснение всей рабочей области.
  • @workspace /fix (или /fix): предложить исправление проблем в выбранном коде.
  • @workspace /tests (или /tests): создание модульных тестов для выбранного кода.
  • @vscode /api (или /api): спросите о разработке расширений Visual Studio Code.
  • @workspace /new (или /new): шаблон кода для новой рабочей области.
  • @workspace /newNotebook (или /newNotebook): создайте новый Jupyter Notebook.

Переменные чата

Переменные чата используются для указания контекста. Вы можете ссылаться на переменную чата в запросе чата с помощью символа # . Например, #selection переменная содержит выделение текста в активном редакторе.

Используя переменную чата, вы можете быть более конкретным в контексте, который вы включаете в запрос чата. Например, запрос "какой алгоритм сортировки используется в #selection" фокусирует запрос чата на выбранном фрагменте кода.

Участники чата, такие как @workspace или @vscode, могут вносить вклад в переменные чата, предоставляющие контекст для конкретного домена.

Примеры встроенных переменных чата:

  • #editor: видимый исходный код в активном редакторе.
  • #selection: текущий выбор в активном редакторе. Содержимое редактора неявно включается в контекст представления чата.
  • #<file or folder name>: введите #, за которым следует имя файла или папки, чтобы добавить его в качестве контекста чата.
  • #codebase: добавьте соответствующее содержимое рабочей области в качестве контекста в запрос.
  • #terminalSelection: выбор активного терминала.
  • #terminalLastCommand: последняя команда запуска активного терминала.

В чем разница между @workspace и #codebase?

Концептуально и @workspace и #codebase позволяют задавать вопросы о всей кодовой базе. Однако существуют некоторые различия в том, как их можно использовать:

О ключевом слове @workspace :

  • Ключевое @workspace слово — это участник чата, предназначенный для ответов на вопросы о кодовой базе.
  • Ключевое @workspace слово контролирует запрос пользователя и использует базу кода для предоставления ответа.
  • Ключевое @workspace слово не может вызывать другие средства.
  • Ключевое @workspace слово можно использовать только при использовании режима агента Ask.
  • Пример: "@workspace how can I validate a date?"

О ключевом слове #codebase :

  • Ключевое #codebase слово — это средство, которое выполняет поиск по базе кода на основе пользовательского запроса и добавляет соответствующий код в качестве контекста в запрос чата.
  • При использовании ключевого слова #codebase языковая модель находится под управлением и может сочетаться #codebase с другими инструментами для редактирования сценариев.
  • Ключевое #codebase слово можно использовать во всех режимах чата (Ask, Agent и Plan).
  • Примеры: "", "add a tooltip to this button, consistent with other button #codebaseadd unit tests and run them #codebase"

GitHub рекомендует использовать #codebase в запросах чата, так как она обеспечивает большую гибкость.

Сводка

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