Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Пользовательские инструкции помогают GitHub Copilot следовать стандартам вашей команды, чтобы каждый ответ — будь то в режиме ask, режиме agent или во встроенных автодополнениях — соответствовал принятым у вас соглашениям об именовании, форматировании и использовании типов данных. Один файл Markdown, применяемый к файлам .sql, преобразует универсальный вывод Transact-SQL (T-SQL) в согласованный вывод, соответствующий вашему проекту.
Tip
Пользовательские инструкции применяются во всех компонентах GitHub Copilot, соответствующих шаблону applyTo glob, включая режим вопросов, режим редактирования, режим агента и встроенные автодополнения. Настройте их один раз на язык или домен.
Основные итоги
- Пользовательские инструкции находятся внутри
.github/instructions/<name>.instructions.mdвашей рабочей области. - Ключ
applyTofront matter задаёт для каждого файла область действия с помощью glob-шаблона, например**/*.sql. - GitHub Copilot автоматически внедряет соответствующие инструкции в каждый запрос. Слэш-команда не требуется.
- Без пользовательских инструкций GitHub Copilot по умолчанию использует универсальные соглашения (PascalCase, первичные ключи,
INTбез шаблонов файлов).
Prerequisites
- Visual Studio Code с установленным расширением MSSQL.
- Активная GitHub Copilot подписка.
- Папка рабочей области. Это краткое руководство создаёт новые файлы в каталоге
.github/instructions/.
Что такое индивидуальные инструкции?
Пользовательские инструкции — это файлы Markdown, которые GitHub Copilot считывает и применяет к каждому запросу, соответствующему glob-шаблону. Visual Studio Code поддерживает их изначально. Расширение MSSQL не требует дополнительной конфигурации.
Теперь каждый серьёзный ИИ-инструмент для программирования поддерживает ту или иную версию этого шаблона: Cursor использует .cursorrules, OpenAI Codex использует AGENTS.md, а Claude Code от Anthropic использует CLAUDE.md. GitHub Copilot в Visual Studio Code использует .github/instructions/*.instructions.md. Преимущество заключается в том, что в одном репозитории можно использовать несколько файлов инструкций, охватывающих разные типы файлов.
Общую документацию Visual Studio Code по этой функции см. в статье Настройка ответов ИИ в Visual Studio Code.
Почему пользовательские инструкции важны для T-SQL
Современный GitHub Copilot из коробки генерирует впечатляющий T-SQL: NVARCHAR столбцы, DATETIME2 метки времени, осмысленные имена ограничений. Но по умолчанию используются соглашения, которые ваша команда может не использовать.
При отсутствии пользовательских инструкций GitHub Copilot обычно:
- Использует PascalCase для имен таблиц и столбцов (
UserID,CreatedAt) вместо принятых в вашей командеcamelCaseилиsnake_case. - Использует
INTпервичные ключи вместоBIGINT. -
Пропускает шаблоны заголовков файлов,
SET ANSI_NULLS ONиSET QUOTED_IDENTIFIER ON. -
Пропускает квалификацию схемы (
CREATE TABLE usersвместоCREATE TABLE dbo.users). - Создает автоматически именованные ограничения вместо того, чтобы следовать шаблону
PK_tableName/FK_child_parent.
Ни одно из этих значений по умолчанию не является ошибочным. Они просто не ваши. Пользовательские инструкции исправляют все это с помощью одного файла.
Создание файла соглашений T-SQL
В этом примере создается файл инструкций, который задает соглашение об именовании в стиле camelCase, обязательное указание схемы, аудитные столбцы и шаблон заголовка файла.
Шаг 1. Создание файла с помощью GitHub Copilot
- В Visual Studio Code откройте представление Copilot Chat GitHub.
- Выберите значок настроек (шестеренка), затем выберите Инструкции и правила>Новый файл инструкций.
- Когда появится запрос на выбор местоположения, выберите
.github/instructions. - При появлении запроса на имя файла введите
tsql-conventions.
Visual Studio Code создает .github/instructions/tsql-conventions.instructions.md с помощью шаблонной передней материи.
Шаг 2: Добавьте свои соглашения
Замените шаблонное содержимое стандартами T-SQL вашей команды. Следующий шаблон охватывает именование, типы данных, столбцы аудита, квалификацию схемы, именование ограничений и запрещенные шаблоны.
---
applyTo: "**/*.sql"
---
# T-SQL conventions
## Database environment
- Local development: [!INCLUDE [sssql25-md](../../../includes/sssql25-md.md)] running in a Docker container
- Cloud / production: Azure SQL Database
- All T-SQL must be compatible with both environments
## File template
Every .sql file MUST begin with this header block:
-- ================================================================
-- Author: <your name>
-- Created: <YYYY-MM-DD>
-- Purpose: <brief description>
-- ================================================================
SET ANSI_NULLS ON;
GO
SET QUOTED_IDENTIFIER ON;
GO
## T-SQL conventions
- Use camelCase for ALL identifiers: table names, column names, parameters
- Use NVARCHAR for all text columns - never VARCHAR
- Use BIGINT for all primary keys and foreign keys - never INT
- Every table MUST include these audit columns:
createdAt DATETIME2(7) NOT NULL DEFAULT GETUTCDATE()
updatedAt DATETIME2(7) NOT NULL DEFAULT GETUTCDATE()
- Always schema-qualify all objects: dbo.tableName
- Use clustered primary keys on all tables
- Foreign key column names follow the pattern: [referencedTable]Id
- Never use SELECT * - always name columns explicitly
## Constraint naming conventions
- Primary keys: PK_tableName
- Foreign keys: FK_childTable_parentTable
- Unique constraints: UQ_tableName_columnName
- Check constraints: CK_tableName_columnName
- Default constraints: DF_tableName_columnName
## What to avoid
- Do NOT generate stored procedures unless I explicitly ask for one
- Do NOT use deprecated T-SQL syntax (no *= for joins, no non-ANSI joins)
- Do NOT generate object-relational mapping (ORM) models or application code
Шаг 3. Сохранение файла
GitHub Copilot распознаёт файлы с инструкциями сразу после сохранения. Нет шага перезагрузки или конфигурации.
См. контрастность до и после
Чтобы увидеть влияние пользовательских инструкций, выполните тот же запрос в GitHub Copilot Chat до и после добавления файла.
Прежде: нет пользовательских инструкций
В рабочей области без папки .github/instructions/, попросите GitHub Copilot:
Create a users table and a projects table for a task management app.
Типичные выходные данные:
-
CREATE TABLE Users(без квалификации схемы, PascalCase) UserID INT IDENTITY(1,1) PRIMARY KEY- Без блока заголовка файла, без
SETинструкций - Автоматически именованные или несогласованные ограничения
После: с пользовательскими инструкциями
В рабочей области, где вы создали tsql-conventions.instructions.md, введите тот же запрос:
Create a users table and a projects table for a task management app.
Ожидаемые выходные данные:
- Полный заголовок файла с автором, датой, назначением,
SET ANSI_NULLS ONSET QUOTED_IDENTIFIER ON -
CREATE TABLE dbo.users(с указанием схемы, camelCase) userId BIGINT IDENTITY(1,1) PRIMARY KEY- столбцы аудита
createdAtиupdatedAt - Именованные ограничения:
PK_users,UQ_users_email,FK_projects_usersDF_users_createdAt
Одна и та же модель, один и тот же запрос, тот же GitHub Copilot. Файл с инструкциями выполнил задачу.
Проверка применения пользовательских инструкций
Чтобы убедиться, что GitHub Copilot считывает файл инструкций, проверьте выходные данные отладки.
- В Visual Studio Code выберите "Просмотреть>выходные данные".
- В раскрывающемся списке выходного канала выберите GitHub Copilot или GitHub Copilot чат.
- Отправьте запрос и просмотрите выходной канал. В журнале отображается полное тело запроса, включая ваши пользовательские инструкции.
Это представление отладки является источником истины. Если выходные данные не содержат ваши инструкции, проверьте следующее:
- Файл находится в
.github/instructions/<name>.instructions.mdпапке (.instructions.mdтребуется суффикс). - Глоб
applyToсоответствует файлу, над которым вы работаете. - Файл сохраняется.
Шаблоны и рекомендации
- Один файл на язык или домен. Используйте отдельные файлы для T-SQL, TypeScript, Python и т. д., каждый из которых имеет собственный
applyToглоб. Не смешивайте языки в одном файле. - Сохраняйте его декларативным. Маркированные списки и короткие правила работают лучше, чем сплошной текст. GitHub Copilot более точно следует инструкциям, если их удобно просматривать.
- Управление версиями файлов. Добавьте
.github/instructions/в свой репозиторий, чтобы каждый участник автоматически получал преимущества. - Сопрягайте с режимом планирования. При использовании режима плана для проектирования базы данных соглашения наследуются автоматически. Вам не нужно повторно указывать их в запросе.
- Протестируйте после изменений. Используйте представление отладки, чтобы подтвердить применение инструкций при обновлении файла.
Оставьте свой отзыв
Чтобы помочь нам уточнить и улучшить GitHub Copilot для расширения MSSQL, используйте следующий шаблон проблемы GitHub для отправки отзывов: GitHub Copilot Feedback
При отправке отзывов рассмотрите возможность включения:
Тестируемые сценарии: сообщите нам, на какие области вы ориентированы, например создание схемы, создание запросов, безопасность, локализация.
Что хорошо работало: Опишите любые ситуации, которые были безупречными, полезными или превысили ваши ожидания.
Проблемы или ошибки: любые проблемы, несоответствия или запутанное поведение. Снимки экрана или записи экрана особенно полезны.
Предложения по улучшению: поделитесь идеями для улучшения удобства использования, расширения охвата или улучшения ответов GitHub Copilot.
Связанный контент
- Как GitHub Copilot работает с расширением MSSQL
- Краткое руководство: использование режима плана для проектирования баз данных на основе спецификаций
-
Краткое руководство: Чат с участником
@mssql(режим вопросов) - Краткое руководство: используйте режим агента GitHub Copilot
- Настройка ответов ИИ в Visual Studio Code
- Ограничения и известные проблемы