Автор возглавляет GTM по повышению продуктивности разработчиков в Microsoft в Западной Европе. GitHub Copilot — часть этого направления бизнеса.
GitHub Copilot Chat — невероятно мощная и полезная функция, которая позволяет вам общаться с вашим кодом или о нем. Несмотря на то, что он на 100% совместим с естественным языком (т. е. вы можете отправлять сообщения без использования какого-либо специального синтаксиса), использование некоторых специальных возможностей чата может открыть новые сценарии разработки с помощью искусственного интеллекта и значительно повысить вашу производительность.
Эти мощные функции, которые вы можете использовать, применяя специальный синтаксис, включают участников чата, команды с косой чертой и контекстные переменные. Обратите внимание, что описанные функции доступны в VS Code и могут не полностью поддерживаться в других IDE, где доступен GitHub Copilot Chat.
В GitHub Copilot Chat вы можете сослаться на одного из «экспертов предметной области» на базе искусственного интеллекта, используя обычный синтаксис чата — добавив @ к имени участника. Доступные на данный момент участники чата:
@workspace
: знает все о коде в вашем рабочем пространстве, открытом в данный момент. Это участник чата, с которым вы, скорее всего, будете часто общаться.
@terminal
: Знает все об интегрированной оболочке терминала, ее содержимом и буфере.
@vscode
: Знает о редакторе VS Code, его командах и функциях. Пример. Давайте получим информацию о серверной части проекта, на который нас только что назначили, спросив участника чата @workspace
сразу после того, как мы откроем папку проекта в VS Code.
В данном конкретном случае вам даже не нужно открывать файлы в редакторе. Сравните это с ответом, который вы получите без тега @workspace
:
Участник чата @workspace
полезен для всех запросов всего решения, когда вы хотите, чтобы весь код учитывался при ответе в чате. Однако это не означает, что весь код будет использоваться и отправляться как часть приглашения. Расширение GitHub Copilot Chat в VS Code делает все возможное, чтобы определить соответствующие файлы и части этих файлов, сначала используя местные знания и аналитику. Проверить, какие файлы и строки кода использовались для подсказки, можно, развернув строку «Использованные ссылки»:
Совет по продуктивности: используйте Ctrl-Enter (Cmd-Enter) вместо простого Enter после ввода сообщения, и строка @workspace
будет автоматически вставлена в ваше сообщение перед отправкой.
Во многих случаях рассмотрение полного решения в качестве контекста вашего вопроса или запроса (с использованием @workspace
) является излишним. Возможно, вы захотите указать на определенные файлы или даже части файлов в своем сообщении. Переменные чата могут помочь! Используйте # для вызова одного из этого списка:
#file
: указывает на определенный файл в вашей рабочей области.
#codebase
: Все содержимое открытой рабочей области. Это похоже на использование @workspace
и может быть полезно, когда вы общаетесь с другим агентом (например, @terminal
), но все же хотите сослаться на полное решение.
#editor
: Исходный код в окне просмотра редактора (видимая часть).
#git
: Текущий репозиторий git: ветка, пульты, путь и т. д.
#selection
: текущий выбранный код.
#terminalLastCommand
: последняя команда запуска в терминале редактора.
#terminalSelection
: Выбор в терминале редактора.Пример: давайте получим помощь по улучшению имен методов в конкретном файле (и мы хотим убедиться, что все содержимое файла принимается во внимание).
Совет по повышению производительности: используйте стрелки вверх и вниз на клавиатуре, чтобы выбрать нужную переменную чата после ввода #. В случае #file
снова используйте навигацию с помощью клавиатуры, чтобы выбрать один из предложенных файлов.
Общаться с кодом на естественном языке — это весело, но еще лучше иметь возможность вызывать часто используемые действия с помощью удобных ярлыков. Сравните ввод полного сообщения «Объясните, как работает выбранный код» и ввод «/», а затем с помощью стрелок клавиатуры выберите /explain
во всплывающем окне.
Еще одним преимуществом использования предопределенного синтаксиса команд является уверенность в том, что GitHub Copilot на 100 % правильно понимает наши намерения (естественный язык может иметь некоторую двусмысленность).
Доступно множество слэш-команд. Вы можете использовать их вместе со ссылкой на участника чата, чтобы обеспечить желаемую область действия. Некоторые из команд:
/help
: справка по доступным командам слэша, участникам чата, переменным чата и т. д.
/doc
: создать документацию для кода.
/explain
: объясните, как работает код (или получите помощь по командам терминала, если вы добавите @terminal).
/fix
: оптимизировать и/или исправить проблемы в коде.
/tests
: создать модульные тесты для кода.
/new
: Создайте новое рабочее пространство. Пример: давайте получим объяснение одного из регулярных выражений в нашем коде. Выделите строку кода и используйте косую черту « /explain
.
Совет по повышению производительности: попробуйте GitHub Copilot Chat во встроенном режиме вместо того, чтобы чат всегда был открыт на боковой панели. Нажмите Ctrl-I (Cmd-I) и введите свое сообщение в небольшом диалоговом окне, которое появляется прямо над строкой, где находится курсор, в окне кода.
Используйте участников чата, переменные чата и команды с косой чертой, чтобы сохранить полный контроль над контекстом разговора, обеспечить правильное и последовательное понимание ваших намерений и, в конечном итоге, общаться и кодировать быстрее! Начните бесплатную пробную версию GitHub Copilot здесь: https://aka.ms/try-github-copilot.
https://github.blog/changelog/2023-11-30-github-copilot-november-30th-update/
https://code.visualstudio.com/docs/copilot/copilot-chat#_chat-participants
https://devblogs.microsoft.com/visualstudio/copilot-chat-slash-commands-and-context-variables/
https://code.visualstudio.com/updates/v1_85#_terminal-agent-and-command-suggestion-improvements
https://code.visualstudio.com/updates/v1_84#_chat-agents