Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Пользовательские инструкции помогают 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
- Ограничения и известные проблемы