Изучите запросы и ключевые слова 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 использует обработку естественного языка и машинное обучение для интерпретации запросов и предоставления соответствующих ответов. Ваши запросы и предоставляемый вами контекст являются важными для создания точных и полезных ответов. Вы можете улучшить качество ответов, используя четкие, краткие и конкретные запросы, разбивая сложные запросы на более простые части и применяя ключевые слова, такие как участники чата, команды / и переменные чата.