Настройка ответов чата GitHub Copilot

Завершено

GitHub Copilot Chat может создавать ответы и код, соответствующие вашим рекомендациям по написанию кода и требованиям проекта при указании правильного контекста. Вместо многократного добавления этих сведений в каждом запросе чата вы можете хранить этот контекст в файлах и автоматически включать их в каждый запрос чата.

Существует три основных способа настройки ответов ИИ в Visual Studio Code:

  • Пользовательские инструкции. Определение общих рекомендаций для задач, таких как создание кода, выполнение проверок кода или создание сообщений фиксации. В этих документах описывается, как должны выполняться задачи, и указываются методики написания кода, предпочитаемые технологии, правила безопасности или форматы сообщений коммитов.

  • Файлы запроса: определение повторно используемых запросов для распространенных задач. Эти автономные запросы описывают, что необходимо сделать, и могут включать компоненты шаблонов, выполнение проверок кода, создание пошаговых руководств или планы реализации.

  • Настраиваемые режимы чата: определите, как работает чат, какие инструменты он может использовать, и как он взаимодействует с базой кода. Примеры включают режимы планирования с доступом только для чтения, режимы исследования, которые обращаются к внешним ресурсам или режимам конкретной роли, таким как интерфейсная разработка.

Пользовательские инструкции

Пользовательские инструкции позволяют описать рекомендации по получению ответов, соответствующих определенным методикам написания кода и стеку технологий. Вместо того, чтобы вручную включить этот контекст в каждый запрос чата, пользовательские инструкции автоматически включают эти сведения с каждым запросом чата.

Note

Пользовательские инструкции не учитываются для завершения кода.

Типы пользовательских инструкций

Visual Studio Code поддерживает три способа определения пользовательских инструкций:

Type Description Варианты использования
.github/copilot-instructions.md Единый файл Markdown в рабочей области, автоматически включаемый во все запросы, поддержка разных редакторов. Общие методики написания кода, предпочитаемые технологии, требования на уровне проекта.
.instructions.md files Несколько файлов Markdown с поддержкой шаблона glob, с возможностью хранения в рабочей области или профиле пользователя. Инструкции для конкретной задачи, детализированный контроль при применении инструкций.
Параметры Visual Studio Code Инструкции в параметрах пользователя или рабочей области для определенных сценариев. Создание кода, создание тестов, фиксация сообщений, проверки кода, описания PR.

Эти подходы можно объединить, но избежать конфликтов инструкций, так как приоритет не применяется.

Примеры пользовательских инструкций

Общие рекомендации по программированию:

---
applyTo: "**"
---
# Project coding standards

## Naming Conventions
- Use PascalCase for component names, interfaces, and type aliases.
- Use camelCase for variables, functions, and methods.
- Prefix private class members with underscore (_).
- Use ALL_CAPS for constants.

## Error Handling
- Use try/catch blocks for async operations.
- Implement proper error boundaries in React components.
- Always log errors with contextual information.

Рекомендации по TypeScript и React:

---
applyTo: "**/*.ts,**/*.tsx"
---
# TypeScript and React standards

Apply the [general coding guidelines](./general-coding.instructions.md) to all code.

## TypeScript Guidelines
- Use TypeScript for all new code.
- Follow functional programming principles where possible.
- Use interfaces for data structures and type definitions.
- Prefer immutable data (const, readonly).
- Use optional chaining (?.) and nullish coalescing (??) operators.

## React Guidelines
- Use functional components with hooks.
- Follow the React hooks rules (no conditional hooks).
- Use React.FC type for components with children.
- Keep components small and focused.
- Use CSS modules for component styling.

Использование файла .github/copilot-instructions.md

Сохраните пользовательские инструкции в файле в корневом .github/copilot-instructions.md каталоге рабочей области, чтобы описать методики написания кода, предпочитаемые технологии и требования к проекту. Эти инструкции применяются только к рабочей области и автоматически включаются в каждый запрос чата.

Действия по настройке:

  1. Задайте для параметра github.copilot.chat.codeGeneration.useInstructionFiles значение true.
  2. Создайте .github/copilot-instructions.md в корневом каталоге рабочей области.
  3. Описание инструкций с использованием естественного языка и формата Markdown.

Note

Этот файл работает в Visual Studio Code, Visual Studio и GitHub.com.

Использование файлов instructions.md

Создайте несколько .instructions.md файлов для определенных задач, языков программирования, платформ или типов проектов. Их можно применять автоматически на основе шаблонов файлов или вручную прикрепляться к запросам чата.

Расположения файлов:

  • Файлы рабочей области: хранящиеся в .github/instructions папке, доступные только в рабочей области.
  • Пользовательские файлы: Хранящиеся в профиле Visual Studio Code, доступные в нескольких рабочих областях и синхронизированные с помощью синхронизации параметров.

Структура файлов:

---
description: "Brief description of the instructions file"
applyTo: "**/*.ts,**/*.tsx"  # Glob pattern for automatic application
---
# Instructions content in Markdown format

Создание и использование файлов инструкций:

  1. Запустите Chat: New Instructions File из палитры команд.
  2. Выберите рабочую область или расположение пользователя.
  3. Введите имя и инструкции автора в Markdown.
  4. Используется Chat: Configure Instructions для редактирования существующих файлов.

Вложение вручную:

  • В представлении чата: добавление инструкции по контексту >
  • Палитра команд: Chat: Attach Instructions

Автоматическое приложение: использование applyTo метаданных с глоб-шаблонами (** для всех запросов, для конкретных запросов)

Указание пользовательских инструкций в параметрах

Настройте пользовательские инструкции в параметрах Visual Studio Code для определенных сценариев:

Scenario Setting
Создание кода github.copilot.chat.codeGeneration.instructions
Создание тестов github.copilot.chat.testGeneration.instructions
проверка кода; github.copilot.chat.reviewSelection.instructions
Фиксация сообщений github.copilot.chat.commitMessageGeneration.instructions
Заголовки и описания pr github.copilot.chat.pullRequestDescriptionGeneration.instructions

Определите инструкции в виде текста или ссылки на внешние файлы:

"github.copilot.chat.codeGeneration.instructions": [
  {
    "text": "Always add a comment: 'Generated by Copilot'."
  },
  {
    "text": "In TypeScript always use underscore for private field names."
  },
  {
    "file": "general.instructions.md"
  },
  {
    "file": "db.instructions.md"
  }
]

Рекомендации по пользовательским инструкциям

  • Будьте краткими: каждая инструкция должна быть одной простой инструкцией.
  • Избегайте внешних ссылок: не ссылайтесь на внешние стандарты кодирования или ресурсы.
  • Упорядочение по разделу: разделение инструкций на несколько файлов для лучшей организации.
  • Включение общего доступа для команды: Храните инструкции в файлах с контролем версий для совместной работы команды.
  • Используйте целевое приложение: использованиеapplyTo свойства для инструкций для конкретного файла.
  • Эффективно использовать ссылку: ссылки на пользовательские инструкции в файлах запроса, чтобы избежать дублирования.

Summary

Пользовательские инструкции в чате GitHub Copilot позволяют определять методики написания кода, предпочитаемые технологии и требования к проекту, которые автоматически включаются в каждый запрос чата. С помощью файлов .github/copilot-instructions.md, файлов .instructions.md или настроек Visual Studio Code можно убедиться, что ответы, сгенерированные ИИ, соответствуют вашим стандартам кодирования и потребностям проекта. Этот подход повышает качество и актуальность помощи искусственного интеллекта при сохранении контроля над процессом написания кода.