Получите лучшие ответы, задав контекст для чата GitHub Copilot в Visual Studio
Вы можете использовать GitHub Copilot Chat в Visual Studio для получения сведений о коде и поддержке, таких как синтаксис, концепции программирования, справка по коду, тестовые случаи, отладка и многое другое, не выходя из интегрированной среды разработки. Copilot Chat интегрирован в Visual Studio, что означает, что вы можете понять, над чем вы работаете, собирая полезные подсказки от того, что у вас есть в интегрированной среде разработки.
В дополнение к запросу Copilot использует дополнительный контекст, например код в текущем файле и журнал чата, чтобы создать ответ. В этой статье вы узнаете, как получить лучшие ответы, предоставив дополнительные сведения в Copilot Chat, включая:
- Используйте команды косой черты для быстрого указания распространенных задач, таких как
/explain
получение объяснений кода. - Область чата для определенных файлов с помощью ссылок.
- Просмотрите источник, используемый Copilot для создания ответа.
- Используйте разные потоки для каждого чата Copilot, чтобы вы могли поддерживать разные контексты в каждом из них.
Узнайте больше о разработке с помощью ИИ в Visual Studio и о том, как использовать Copilot Chat в Visual Studio.
Необходимые компоненты
Чтобы приступить к работе с GitHub Copilot Chat в Visual Studio, вам потребуется:
- Visual Studio 2022 версии 17.8 или более поздней версии
- Активная подписка на GitHub Copilot для частных лиц или GitHub Copilot для бизнеса
- GitHub Copilot в Visual Studio
- GitHub Copilot Chat в Visual Studio
- Войдите в Visual Studio с помощью учетной записи GitHub с активной подпиской на GitHub Copilot
Поддержка GitHub Copilot Chat будет предоставлена GitHub и доступна по адресу https://support.github.com.
Использование команд косой черты в Copilot Chat для распространенных задач
Команды Slash в Copilot Chat помогают быстро задать намерение для распространенных задач разработки. Используя определенные команды косой черты для формирования вопроса, вы можете получить лучшие ответы без необходимости писать длинные вопросы.
Команды косой черты можно использовать в окне чата или непосредственно в коде, который вы хотите изменить, с помощью встроенной помощи в коде. Команды, которые помогают изменить или добавить в файл кода, открытый в редакторе, будут работать как в встроенном помощнике по коду, так и в окнах чата, а команды для более общих вопросов программирования работают только в области чата.
Command | Использование | Окно чата | Встроенный чат |
---|---|---|---|
/doc | Добавьте комментарии для указанного или выбранного кода. Примеры: - /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 |
Да | Да |
/help | Получите справку по использованию Чата Copilot. Пример: /help |
Да | Да |
/optimize | Анализ и улучшение времени выполнения выбранного кода. Примеры: - /optimize the AddItemToBasket method in BasketService.cs — выберите нужный код и введите /optimize |
Да | Да |
/Тесты | Создайте модульные тесты для выбранного кода. Пример: выберите нужный код и введите /tests using XUnit Framework |
Да | Да |
Справочник. Область действия Copilot результаты для конкретного файла или всего решения
Вы можете задать вопросы, связанные с программированием на естественном языке, и GitHub Copilot Chat ответит на эти вопросы в контексте базы кода, открытой в Visual Studio. С помощью ссылок вы можете получить более подробную информацию о информации, которую вы хотите, чтобы Copilot учитывал при ответе на ваш вопрос.
Выбрав определенный контекст в базе кода, вы можете легко создавать лучшие вопросы без необходимости записывать или вставлять длинные фрагменты информации. Указание контекста также позволяет Copilot предоставить вам более релевантные ответы.
Ссылка на файл
Чтобы легко ссылаться на файл в GitHub Copilot Chat, просто добавьте # символ в начале имени файла. Например, если у вас есть файл с именем BasketService.cs, обратитесь к нему в чате как #BasketService.cs.
Ссылка на метод, класс или функцию
В Visual Studio 2022 версии 17.11 теперь можно ссылаться на определенный метод, класс или функцию в GitHub Copilot Chat.
Чтобы легко ссылаться на метод, класс или функцию в чате GitHub Copilot, просто добавьте # символ в начале метода, класса или имени функции. Например, если у вас есть метод с именем BasketAddItem, обратитесь к нему в чате как #BasketAddItem.
Ссылка на все решение
Используйте @workspace , чтобы ссылаться на решение, активное в интегрированной среде разработки для контекста. При использовании @workspace для контекста Copilot Chat использует сведения о файлах, проектах и конфигурациях, которые в настоящее время открыты и работают в интегрированной среде разработки. Это позволяет Copilot Chat предоставлять более релевантные и контекстные предложения и ответы.
В Visual Studio 2022 версии 17.11 подписчики GitHub Copilot Enterprise теперь могут использовать @github
в чате для включения контекста из всего репозитория и поиска в Интернете (если поиск включен администратором). Дополнительные сведения о коллекции навыков, относящихся к GitHub, которые Copilot может использовать для ответа на ваш вопрос при использовании @github
, см. в разделе "Использование навыков GitHub для Copilot".
Примеры использования
Ниже приведены некоторые примеры использования ссылок для элемента управления контекстом:
Пример | Контекст, используемый Copilot для формирования вопроса |
---|---|
Какова цель #MyFile.cs: 66-72? | Точный раздел файла |
Где находятся тесты в #BasketService.cs? | BasketService.cs |
/объясните #AddItemToBasket в #BasketService.cs | Метод AddItemToBasket в BasketService.cs |
Есть ли в этом методе удаления корзины @workspace | Текущее решение открыто в интегрированной среде разработки |
У меня есть тестовый метод с именем #TestCalculator. Как убедиться, что он выполняется правильно? | Метод TestCalculator |
Можно ли объяснить различия между классами #BasketService и #OrderService? | Класс BasketService и класс OrderService |
В моем @workspace месте #AddItemToBasket? | Текущее решение открыто в интегрированной среде разработки |
Просмотр источников, используемых Copilot Chat
Copilot Chat отображает контекст, который он используется после каждого результата, чтобы вы могли рассказать, что было учтено при ответе на ваш вопрос. Когда вы задаете вопрос в Copilot Chat и получаете ответ в окне чата, под ответом отображается раскрывающийся список ссылок . Записи в раскрывающемся списке ссылок показывают контекст, на который ссылается Copilot Chat, чтобы создать этот ответ. Эти сведения помогут вам изменить свой вопрос, чтобы получить более подходящие ответы.
Упорядочение: изоляция чатов с Copilot в потоки
Если вы используете Copilot Chat широко задавать вопросы по мере написания кода, вы можете упорядочить беседы таким образом, чтобы держать их в теме. Copilot Chat для Visual Studio теперь предоставляет простой способ начать новые беседы (потоки), чтобы держать их сосредоточенными на задаче, и держать контекст понятным, чтобы ответы основывались на соответствующей истории.
Новый поток чата
Вы можете запустить новый поток, выбрав "Создать новый поток " в окне чата.
Переключение потока чата
Вы можете выбрать между несколькими текущими потоками, чтобы предоставить правильный исторический контекст для вашего вопроса.
Повышение встроенного чата в окне чата
В Visual Studio 2022 версии 17.11 теперь можно сохранить историю встроенного чата, продвигая его в окно чата. Нажмите кнопку "Продолжить в окне чата", чтобы сохранить запись и контекст беседы, а затем продолжить в окне чата.
Рекомендации
Copilot Chat использует журнал чата для получения контекста о запросе. Чтобы дать Copilot только соответствующую историю:
- Используйте потоки для запуска новой беседы для новой задачи.
- Запросы на удаление, которые больше не актуальны или которые не дали вам нужный результат.
Оставьте беседу чата открытой и продолжайте итерацию и предложите Copilot улучшить предлагаемое решение. Copilot имеет как контекст созданного кода, так и текущего журнала бесед. По мере того как вы продолжаете задавать дополнительные вопросы, Copilot дополнительно уточняет ответ в соответствии с вашими требованиями. См . статью "Проектирование запросов" для Github Copilot для стратегий эффективного запроса на улучшение результатов Copilot.