Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Copilot Chat в Visual Studio разработан для учета контекста, предоставляя высоко релевантные и специализированные ответы, глубоко понимая структуру и содержимое проекта. В этой статье описано, как copilot Chat создает и использует контекст для улучшения рабочего процесса написания кода.
Как Copilot Chat собирает контекст решения
Copilot Chat использует многоуровневый подход к созданию контекста в базе кода, чтобы убедиться, что его предложения и ответы актуальны и точны.
Индексирование базы кода
Если репозиторий размещен на сайте GitHub или Azure DevOps, Copilot создает удаленный индекс базы кода и вычисляет внедрение, которое фиксирует шаблоны и связи в коде. Дополнительные сведения об удаленном индексировании на GitHub.
Если код размещен в другом месте, Copilot создает локальный индекс.
Семантический поиск
На основе запроса Copilot может определить, что для точного реагирования требуется больше контекста проекта. В таких случаях он выполняет семантический поиск по удаленному или локальному индексу.
В отличие от традиционного поиска, который соответствует точным словам, семантический поиск фокусируется на значении. Используя расширенные векторные внедрения, Copilot идентифицирует файлы с наивысшим семантическим сходством с запросом и добавляет их в свой контекст.
Эти файлы дополняют системный запрос, инструкции, неявный контекст (например, журнал чата и открытые файлы), а также любое явное содержимое, предоставляемое, например ошибки.
Узнайте, как добавлять ссылки в качестве контекста в чате.
Как Copilot Chat применяет рекомендации по коду
Copilot Chat часто предоставляет предложения по коду в своих ответах. Эти предложения должны быть точно сопоставлены с базой кода, прежде чем их можно будет применить и протестировать.
Сопоставление кода на основе модели
Copilot Chat использует спекулятивное декодирование для точной вставки предложений в существующие файлы, что снижает риск ошибок. В режиме агента это позволяет Copilot вносить надежные изменения, поддерживающие сборку, отладку и независимое тестирование кода.
Память Copilot
Воспоминания Copilot позволяют Copilot изучать конкретные стандарты кодирования и лучшие практики вашего проекта, делая его ориентированным на проект и обеспечивая согласованность между сессиями.
Как работает память Copilot
Воспоминания используют интеллектуальное обнаружение, чтобы понимать предпочтения вашей команды, когда вы делаете запрос в чате. Когда вы даете команду, Copilot определяет случаи, в которых вы исправляете его поведение, указываете правила или просите его запомнить что-то.
При обнаружении таких случаев отображается уведомление, чтобы сохранить настройку.
Затем Copilot классифицирует предпочтения в один из трех файлов:
-
.editorconfigдля стандартов кодирования -
CONTRIBUTING.mdдля лучших практик, рекомендаций и архитектурных стандартов. -
README.mdсведения о проекте высокого уровня
При обнаружении предпочтения можно выбрать место его сохранения:
-
Настройки уровня пользователя: сохранено в
%USERPROFILE%/copilot-instructions.md. Эти настройки применяются ко всем сеансам Copilot в проектах. -
Параметры уровня репозитория: сохранены в
/.github/copilot-instructions.md. Эти настройки предоставляются команде через репозиторий.
Этот подход позволяет персонализировать Copilot для собственного рабочего процесса, а также устанавливать общие стандарты программирования для вашей команды.
По мере того как вы продолжаете запрашивать Copilot, вы учите его более эффективно реагировать на ваши потребности и помогаете вашей команде, документируя лучшие практики разработки, которые повышают их будущие взаимодействия с Copilot.