Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Вы можете попросить GitHub Copilot Chat предоставить вам предложения кода, объяснить код, создать модульные тесты и предложить исправления кода. Чат в Visual Studio может дать ответы и создать код, соответствующий вашим рекомендациям по программированию и требованиям к проекту, если вы даете ему правильный контекст. Вместо многократного добавления этих сведений в каждом запросе чата вы можете хранить этот контекст в файлах и автоматически включать их в каждый запрос чата.
В этой статье вы узнаете, как получить лучшие ответы, предоставив дополнительные сведения в Copilot Chat:
- Используйте команды косой черты для быстрого указания распространенных задач, таких как
/savePrompt, или вызовите ваши собственные запросы напрямую - Использование интерактивного чата для уточнения контекста
- Использование пользовательских инструкций и файлов запроса для настройки ответов
- Использование команды с косой чертой для быстрого выполнения распространенных задач, таких как
/explainполучение объяснений кода - Использование интерактивного чата для уточнения контекста
- Использование пользовательских инструкций и файлов запроса для настройки ответов
Дополнительные сведения о разработке ИИ в Visual Studio и использовании Copilot Chat в Visual Studio.
Необходимые условия
Чтобы приступить к работе с GitHub Copilot Chat в Visual Studio, вам потребуется:
- Visual Studio 2022 версии 17.10 или более поздней
-
Войдите в Visual Studio с аккаунтом GitHub с доступом к Copilot
** Вы можете зарегистрироваться в GitHub Copilot бесплатно.
Поддержка GitHub Copilot Chat предоставляется GitHub и доступна по адресу https://support.github.com.
Руководство по составлению запросов
Интерактивный чат в Visual Studio 17.12 и более поздних версиях помогает улучшить формулировку ваших запросов, чтобы прояснить контекст и получить более точные ответы. GitHub Copilot Chat теперь поможет вам с уточняющими вопросами, когда контекст неясный.
Использование пользовательских инструкций
Функция пользовательских инструкций позволяет автоматически добавлять предварительно заданные контекстные сведения в вопросы чата. Copilot Chat использует эти инструкции, адаптированные к конкретному контексту, например способ работы вашей команды, используемых средств или особенностей проекта при создании ответов.
Использование файла .github/copilot-instructions.md
Чтобы использовать .github/copilot-instructions.md файл:
-
Создайте/добавьте файл пользовательских инструкций
.github/copilot-instructions.mdв корневой каталог вашего репозитория.
- Включите функцию в Visual Studio на панелипараметров>. Разверните раздел «Все настройки»>GitHub>Copilot>Chat и отметьте флажок «Включить пользовательские инструкции для загрузки из файлов .github/copilot-instructions.md и добавления их в запросы».
- Включите функцию в Visual Studio в диалоговом окне"Параметры>". Разверните раздел GitHub> и выберите флажок Включить загрузку пользовательских инструкций из файлов .github/copilot-instructions.md и добавление их к запросам в группе Copilot Chat.
Пользовательские инструкции не отображаются в представлении чата или встроенном чате. Однако при использовании Copilot файл.github/copilot-instructions.md отображается в списке ссылок ответа.
Воспоминания Copilot могут автоматически обнаруживать ваши предпочтения во время чата и добавлять их в файлы инструкций, поэтому их не нужно писать вручную.
Использование настроек уровня пользователя
Помимо пользовательских инструкций на уровне репозитория, можно определить предпочтения на уровне пользователя, которые применяются ко всем сеансам Copilot в проектах. Параметры уровня пользователя сохраняются в %USERPROFILE%/copilot-instructions.md.
Используйте предпочтения уровня пользователя для личных стандартов программирования, предпочитаемых шаблонов или соглашений о рабочих процессах, которые вы хотите, чтобы Copilot следовал независимо от репозитория, в который вы работаете. Инструкции .github/copilot-instructions.md на уровне репозитория по-прежнему применяются вместе с вашими предпочтениями на уровне пользователя, поэтому общие стандарты вашей команды также соблюдаются.
Вы можете добавить параметры в этот файл вручную или разрешить Copilot Memories обнаруживать и сохранять их автоматически, когда вы общаетесь.
Использование файлов instructions.md
Вместо использования одного файла инструкций, который применяется ко всем запросам чата, можно создать несколько *.instructions.md файлов, которые применяются к определенным типам файлов или задачам. Например, можно создавать файлы инструкций для разных языков программирования, платформ или типов проектов.
Чтобы использовать .github/instructions/*.instructions.md файл:
Создайте каталог
.github/instructions, если он еще не существует.Добавьте один или несколько
.github/instructions/*.instructions.mdфайлов.Добавьте свойство
applyToв раздел frontmatter файла инструкций. Используйте синтаксис glob, чтобы указать, к каким файлам или папкам применяются инструкции.Включите функцию в Visual Studio.
В области "Параметры инструментов" разверните раздел Все параметры>GitHub>> и установите флажок Включить загрузку пользовательских инструкций из файлов .github/copilot-instructions.md и добавление к запросам.
В диалоговом окне"Параметры>" разверните раздел GitHub>Copilot. В группе чата Copilot выберите флажок Включить пользовательские инструкции, загружаемые из файлов .github/copilot-instructions.md и добавляемые к запросам.
Формат файла инструкций
Целевые файлы инструкций .instructions.md используют расширение и имеют эту структуру:
-
Заголовок (необязательно): frontmatter YAML
-
description: описание, отображаемое при наведении указателя мыши в представлении чата -
applyTo: шаблон glob, соответствующий файлам или папкам, к которым необходимо применить инструкции.
-
- Текст: инструкции в формате Markdown
Example
Ниже приведен пример пользовательской инструкции C#:
## C# Instructions
---
applyTo: `**/*.cs`
---
- Write clear and concise comments for each function.
- Use PascalCase for component names, method names, and public members.
- Use camelCase for private fields and local variables.
- Add a newline before the opening curly brace of any code block
(such as after `if`, `for`, `while`, `foreach`, `using`, `try`, etc.).
- Ensure that the final `return` statement of a method is on its own line.
Скопируйте эти инструкции в .github/instructions/*.instructions.md файл для использования и автоматического применения к поведению Copilot.
Дополнительные примеры пользовательских инструкций см. в списке примеров инструкций на сайте GitHub.
Как работают файлы инструкций
При начале работы с Copilot он автоматически обнаруживает, какие файлы инструкций относятся к текущему контексту и присоединяет их в качестве ссылок. Это гарантирует, что предложения Copilot всегда соответствуют правилам проекта независимо от того, где вы работаете в базе кода.
Файлы инструкций, используемые Copilot, перечислены в списке ссылок ответа.
Используйте файлы подсказок
Теперь вы можете создавать повторно используемые файлы запросов в репозитории для выполнения или совместного использования часто используемых запросов.
Чтобы создать файл подсказки, выполните приведенные действия.
- Напишите ваши подсказки, как обычно, в поле ввода, используя
#ссылки для включения определенных сведений из вашего решения, таких как методы, классы и файлы. Вы даже можете ссылаться на другие файлы с подсказками для общих инструкций. - Скопируйте запрос в файл markdown и сохраните его с
.prompt.mdрасширением в папке в.github/promptsкорне репозитория.
Чтобы использовать файл запроса:
- Введите
#prompt:входные данные чата, чтобы ссылаться на любые файлы запроса из.github/promptsпапки, или щелкните ➕ значок в входных данных чата, чтобы добавить его в качестве контекста. - Добавьте дополнительные сведения или просто введите запрос как есть.
Создав файлы запроса, вы можете быстро вызвать их, введя / в поле ввода чата.
Вызов пользовательских запросов с помощью слэш-команд
Вы можете быстро вызывать избранные пользовательские запросы непосредственно из поля ввода чата с помощью слэш-команд.
Доступ к пользовательским запросам с помощью /
Введите / в поле ввода чата, чтобы увидеть ваши пользовательские подсказки в верхней части списка IntelliSense.
- Настраиваемые запросы отображаются в верхней части списка со значком закладки
-
Системные команды (например
/help,/savePrompt) отображаются ниже без значка
Создание пользовательских инструкций с помощью /generateInstructions
/generateInstructions Используйте команду для автоматического создания пользовательских инструкций на уровне репозитория для проекта. Эта команда анализирует структуру проекта и шаблоны кодирования, чтобы создать copilot-instructions.md файл, адаптированный к репозиторию.
Чтобы использовать /generateInstructions:
- Откройте чат Copilot в Visual Studio.
- Введите
/generateInstructionsв поле чата и нажмите Enter. - Copilot анализирует структуру проекта и шаблоны кодирования.
-
copilot-instructions.mdФайл создается в.githubпапке.
Эта команда использует смарты проекта для обнаружения стилей и настроек кода, что упрощает настройку пользовательских инструкций без ручной разработки файла.
Сохраните запросы используя /savePrompt
Используйте команду /savePrompt, чтобы извлечь повторно используемую подсказку из текущей беседы и сохранить ее для дальнейшего использования.
Чтобы использовать /savePrompt:
- Введите запрос в чате Copilot, который вы хотите повторно использовать.
- После ответа Copilot введите
/savePromptв поле ввода чата и нажмите ВВОД. - Выберите имя файла запроса.
- Запрос сохраняется в
.github/prompts/[name].prompt.md.
После сохранения вы можете быстро получить доступ к этому запросу, введя / и выбрав его из списка IntelliSense.
Используйте слэш-команды для установки контекста распространённых задач.
Команды Slash в Copilot Chat помогают быстро задать намерение для распространенных задач разработки. Используя определенные слэш-команды для формирования вопроса, вы можете получить лучшие ответы без необходимости формулировать длинные вопросы.
Команды косой черты можно использовать в окне чата или непосредственно в коде, который вы хотите изменить, с помощью помощи в встроенном коде. Команды, помогающие изменять или добавлять в файл кода, открытый в редакторе, работают как в встроенном помощнике по коду, так и в окнах чата, а команды для более общих вопросов программирования работают только в области чата.
| Команда | использование | Окно чата | встроенный чат |
|---|---|---|---|
| /док | Добавьте комментарии для указанного или выбранного кода. Примеры: - /doc DeleteBasketAsync method in BasketService.cs
— выберите нужный код и введите /doc |
Да | Да |
| /объяснить | Получите объяснение кода. Примеры: - /explain the AddItemToBasket method in BasketService.cs
— выберите нужный код и введите /explain |
Да | Да |
| /починить | Предложить исправление проблем в выбранном коде. Примеры: - /fix the SetQuantities method in BasketService.cs
— выберите нужный код и введите /fix |
Да | Да |
| /сгенерировать | Создайте код для ответа на указанный вопрос. Пример: /generate code to add two numbers in Calculator.cs |
Да | Да |
| /generateInstructions | Создайте пользовательские инструкции на уровне репозитория (copilot-instructions.md) на основе шаблонов кода и структуры проекта. |
Да | нет |
| /Справка | Получите справку по использованию Чата Copilot. Пример: /help |
Да | Да |
| /оптимизировать | Анализ и улучшение времени выполнения выбранного кода. Примеры: - /optimize the AddItemToBasket method in BasketService.cs
— выберите нужный код и введите /optimize |
Да | Да |
| /savePrompt | Сохраните повторно используемый запрос из текущего чата в файл .prompt.md, находящийся в папке .github/prompts. |
Да | нет |
| /Тесты | Создайте модульные тесты для выбранного кода. Пример: выберите нужный код и введите /tests using XUnit FrameworkДля .NET рекомендуется GitHub Copilot Testing для .NET |
Да | Да |
| Команда | использование | Окно чата | встроенный чат |
|---|---|---|---|
| /док | Добавьте комментарии для указанного или выбранного кода. Примеры: - /doc DeleteBasketAsync method in BasketService.cs
— выберите нужный код и введите /doc |
Да | Да |
| /объяснить | Получите объяснение кода. Примеры: - /explain the AddItemToBasket method in BasketService.cs
— выберите нужный код и введите /explain |
Да | Да |
| /починить | Предложить исправление проблем в выбранном коде. Примеры: - /fix the SetQuantities method in BasketService.cs
— выберите нужный код и введите /fix |
Да | Да |
| /сгенерировать | Создайте код для ответа на указанный вопрос. Пример: /generate code to add two numbers in Calculator.cs |
Да | Да |
| /Справка | Получите справку по использованию Чата Copilot. Пример: /help |
Да | Да |
| /оптимизировать | Анализ и улучшение времени выполнения выбранного кода. Примеры: - /optimize the AddItemToBasket method in BasketService.cs
— выберите нужный код и введите /optimize |
Да | Да |
| /Тесты | Создайте модульные тесты для выбранного кода. Пример: выберите нужный код и введите /tests using XUnit FrameworkДля .NET рекомендуется GitHub Copilot Testing для .NET |
Да | Да |
При использовании Visual Studio 2022 версии 17.13, когда пользователь вводит слэш-команду, команда расширяется естественным языком, отображая контекст для команды.
Использование действий Copilot
Действия Copilot можно использовать в контекстном меню для быстрого доступа к предварительно настроенным запросам и командам со слэшем для частых задач разработки.
Поведение каждого действия зависит от того, выбран ли код при открытии контекстного меню:
| Действие | Выбранный код | Без выбранного кода |
|---|---|---|
| Объяснить | Описание выбранного кода | Объясняет код рядом с положением курсора |
| Оптимизация выбора | Оптимизирует выбранный код для повышения производительности, удобства обслуживания, надежности и архитектуры | Неприменимо |
| Создание комментариев | Создает примечания для выбранного кода | Сгенерировать комментарии для кода у курсора |
| Создание тестов | Создает тесты для выбранного кода | Создание тестов для кода рядом с положением курсора |
| Добавление в чат | Добавляет выбранный код в чат в качестве ссылки | Добавление всего файла в чат в качестве ссылки |
При выборе любого действия, кроме Оптимизированный выбор, окно чата открывается автоматически и отправляет слэш-команду в Copilot с соответствующим контекстом. Затем вы можете просмотреть ответ Copilot и взаимодействовать с ним в окне чата.
Использование параметра "Оптимизация выбора" для улучшения кода
Выберите определенный раздел кода и выберите "Оптимизировать выделенный фрагмент", чтобы Copilot проанализировал и улучшил только этот фрагмент, а не весь файл.
Copilot проверяет выбранный код и его окружающий контекст для предоставления значимых, контекстных предложений. Оптимизация сохраняет существующий стиль кода, структуру и функциональные возможности, сохраняя упорядоченную и согласованную базу кода. В отличие от других действий, использующих панель чата, оптимизация выбора представляет предложения в виде встроенных дифф, которые можно напрямую просматривать, принимать или отклонять.
Copilot предоставляет предложения по оптимизации в следующих областях:
- Производительность: Более быстрые алгоритмы, сокращение использования памяти, асинхронные шаблоны
- Ремонтопригодность: Упрощенная логика, более четкая структура, лучшее именование
- Надёжность: Обработка ошибок, очистка ресурсов, безопасность потоков
- Архитектура: Внедрение зависимостей, улучшенные интерфейсы, модульный дизайн
Использование действий Copilot
Действия Copilot можно использовать в контекстном меню для быстрого доступа к предварительно настроенным запросам и командам со слэшем для частых задач разработки.
Поведение каждого действия зависит от того, выбран ли код при открытии контекстного меню:
| Действие | Выбранный код | Без выбранного кода |
|---|---|---|
| Объяснить | Описание выбранного кода | Объясняет код рядом с положением курсора |
| Оптимизация выбора | Оптимизирует выбранный код для повышения производительности, удобства обслуживания, надежности и архитектуры | Неприменимо |
| Создание комментариев | Создает примечания для выбранного кода | Сгенерировать комментарии для кода у курсора |
| Создание тестов | Создает тесты для выбранного кода | Создание тестов для кода рядом с положением курсора |
| Добавление в чат | Добавляет выбранный код в чат в качестве ссылки | Добавление всего файла в чат в качестве ссылки |
При выборе любого действия, кроме Оптимизированный выбор, окно чата открывается автоматически и отправляет слэш-команду в Copilot с соответствующим контекстом. Затем вы можете просмотреть ответ Copilot и взаимодействовать с ним в окне чата.
Использование параметра "Оптимизация выбора" для улучшения кода
Выберите определенный раздел кода и выберите "Оптимизировать выделенный фрагмент", чтобы Copilot проанализировал и улучшил только этот фрагмент, а не весь файл.
Copilot проверяет выбранный код и его окружающий контекст для предоставления значимых, контекстных предложений. Оптимизация сохраняет существующий стиль кода, структуру и функциональные возможности, сохраняя упорядоченную и согласованную базу кода. В отличие от других действий, использующих панель чата, оптимизация выбора представляет предложения в виде встроенных дифф, которые можно напрямую просматривать, принимать или отклонять.
Copilot предоставляет предложения по оптимизации в следующих областях:
- Производительность: Более быстрые алгоритмы, сокращение использования памяти, асинхронные шаблоны
- Ремонтопригодность: Упрощенная логика, более четкая структура, лучшее именование
- Надёжность: Обработка ошибок, очистка ресурсов, безопасность потоков
- Архитектура: Внедрение зависимостей, улучшенные интерфейсы, модульный дизайн