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

Завершено

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 включен (по умолчанию в последних версиях Visual Studio Code).
  2. Создайте .github/copilot-instructions.md в корневом каталоге рабочей области.
  3. Описание инструкций с использованием естественного языка и формата Markdown.

Note

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

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

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

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

  • Файлы рабочей области: хранящиеся в .github/instructions папке, доступные только в рабочей области.
  • User-файлы: хранятся в профиле 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 свойства для инструкций для конкретного файла.
  • Эффективно использовать ссылку: ссылки на пользовательские инструкции в файлах запроса, чтобы избежать дублирования.

Файлы подсказок

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

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

Создайте файл запроса

Сохраните файлы запросов в папке .github/prompts/ в рабочей области. Имя файла становится именем запроса.

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

---
mode: "ask"
description: "Generate a product requirements document for a new feature"
---
# Generate a PRD

Create a product requirements document for the described feature.

Include the following sections:
- Product summary
- Target audience
- Core features (prioritized by must-have / should-have / could-have)
- Out of scope
- Technical requirements

Feature description: ${input:Feature description}

Запуск командного файла

  • Палитра команд. Запустите Chat: Run Prompt и выберите файл.
  • Входные данные чата: введите # в окно чата и выберите файл с подсказкой по имени.

Файлы подсказок поддерживают mode значения ask, edit и agent. Они также могут ссылаться на пользовательские файлы инструкций с помощью синтаксиса ссылки Markdown, чтобы избежать дублирования содержимого между файлами.

Настраиваемые режимы чата

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

В vibe-программировании это особенно полезно для разделения этапа планирования от этапа сборки. Режим планирования может ограничить GitHub Copilot только для анализа в режиме чтения, чтобы он предлагал дизайны без внесения изменений, в то время как режим реализации разблокирует полноценные инструменты редактирования.

Создание пользовательского режима чата

Храните файлы пользовательского режима чата в папке .github/chatmodes/ в рабочей области.

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

---
description: "Plan mode: read-only analysis and architecture decisions"
tools: []
---
You are a software architect in planning mode. Analyze the codebase, identify patterns, suggest designs, and answer questions — but do not make any code changes.

Общие конфигурации режима чата для программирования vibe:

Режим Инструменты Сценарий использования
Planning Нет (только для чтения) Решения по архитектуре, проектирование функциональных возможностей, проверка документации требований к продукту (PRD)
Исследование Поиск в Интернете Изучение библиотек, сравнение подходов
Implementation Полный доступ к инструменту Написание и редактирование кода, выполнение команд
Отзыв Только для чтения Проверка кода, аудит безопасности, проверка производительности

Использование пользовательского режима чата

Выберите режим из средства выбора режима чата на панели инструментов представления чата. Режим остается активным в течение сеанса, пока вы его не переключите.

Summary

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