Rychlý start: Použití vlastních pokynů ke sladění GitHub Copilot s konvencemi T-SQL

Vlastní pokyny seznamují GitHub Copilot se standardy vašeho týmu, takže každá odpověď, ať už z režimu dotazů, režimu agenta nebo inline doplňování, dodržuje vaše konvence pojmenování, formátování a datových typů. Jeden soubor Markdownu s oborem souborů .sql změní obecný výstup Transact-SQL (T-SQL) na zarovnaný výstup, který odpovídá vašemu projektu.

Tip

Vlastní pokyny platí ve všech rozhraních GitHub Copilotu, která odpovídají vzoru glob applyTo, včetně režimu dotazů, režimu úprav, režimu agenta a vloženého doplňování. Nastavte je jednou pro každý jazyk nebo doménu.

Klíčové poznatky

  • Vlastní pokyny jsou v .github/instructions/<name>.instructions.md vašem pracovním prostoru.
  • Klíč applyTo v úvodních metadatech přiřazuje každý soubor ke glob vzoru, například **/*.sql.
  • GitHub Copilot automaticky vloží odpovídající pokyny do každého požadavku. Není vyžadován žádný příkaz se lomítkem.
  • Bez vlastních instrukcí GitHub Copilot používá obecné konvence jako výchozí (PascalCase, INT primární klíče, bez šablon souborů).

Předpoklady

  • Visual Studio Code s nainstalovaným rozšířením MSSQL.
  • Aktivní GitHub Copilot předplatné.
  • Složka pracovního prostoru. V tomto rychlém startu se vytvoří nové soubory v souboru .github/instructions/.

Co jsou vlastní instrukce?

Vlastní pokyny jsou soubory Markdownu, které GitHub Copilot přečte a vztahují se na každý požadavek, který odpovídá vzoru globu. Visual Studio Code je nativně podporuje. Rozšíření MSSQL nevyžaduje žádnou další konfiguraci.

Každý závažný nástroj pro kódování umělé inteligence (AI) nyní podporuje verzi tohoto vzoru: Cursor používá .cursorrules, OpenAI Codex používá AGENTS.md, Anthropic Používá Claudův kód CLAUDE.md. GitHub Copilot v Visual Studio Code používá .github/instructions/*.instructions.md. Výhodou je, že ve stejném úložišti můžete mít více souborů instrukcí s oborem na různé typy souborů.

Obecné Visual Studio Code dokumentaci k této funkci najdete v tématu Přizpůsobení odpovědí umělé inteligence v Visual Studio Code.

Proč jsou vlastní pokyny pro T-SQL důležité

Moderní GitHub Copilot bez nutnosti dalšího nastavování generuje působivé T-SQL: NVARCHAR sloupce, DATETIME2 časová razítka, smysluplné názvy omezení. Ve výchozím nastavení ale používá konvence, které váš tým možná nepoužívá.

Bez vlastních instrukcí GitHub Copilot obvykle:

  • Používá pascalCase pro názvy tabulek a sloupců (UserID, CreatedAt) místo názvu týmu camelCase nebo snake_case.
  • Používá INT primární klíče místo BIGINT.
  • Vynechá šablony hlaviček souborů, SET ANSI_NULLS ONa SET QUOTED_IDENTIFIER ON.
  • Přeskočí kvalifikaci schématu (CREATE TABLE users místo CREATE TABLE dbo.users).
  • Vygeneruje automaticky pojmenovaná omezení místo toho, aby postupoval podle vašeho PK_tableName / FK_child_parent vzoru.

Žádná z těchto výchozích hodnot není chybná. Prostě nejsou tvoje. Vlastní pokyny to všechno vyřeší pomocí jediného souboru.

Vytvoření souboru konvencí T-SQL

Tento příklad vytvoří soubor instrukcí, který vynucuje pojmenování camelCase, kvalifikaci schématu, sloupce auditu a šablonu hlavičky souboru.

Krok 1: Vytvoření souboru pomocí GitHub Copilot

  1. V Visual Studio Code otevřete zobrazení Copilot Chat GitHubu.
  2. Vyberte ikonu nastavení (ozubené kolečko) a pak zvolte Příkazy a pravidla>– Nový instrukční soubor.
  3. Po zobrazení výzvy k zadání umístění vyberte .github/instructions.
  4. Po zobrazení výzvy k zadání názvu souboru zadejte tsql-conventions.

Visual Studio Code vytvoří .github/instructions/tsql-conventions.instructions.md s předpřipraveným front matter.

Krok 2: Přidání konvencí

Předpřipravený obsah nahraďte standardy vašeho týmu pro T-SQL. Následující šablona popisuje pojmenování, datové typy, sloupce auditu, kvalifikaci schématu, pojmenování omezení a zakázané vzory.

---
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

Krok 3: Uložení souboru

GitHub Copilot vyzvedne soubory s pokyny hned po uložení. Neexistuje žádný krok opětovného načtení ani konfigurace.

Zobrazit porovnání před a po

Pokud chcete zobrazit dopad vlastních pokynů, spusťte stejný příkaz na GitHubu Copilot Chat před a po přidání souboru.

Před: žádné vlastní pokyny

V pracovním prostoru bez složky .github/instructions/ se zeptejte GitHub Copilotu:

Create a users table and a projects table for a task management app.

Typický výstup:

  • CREATE TABLE Users (bez kvalifikace schématu, PascalCase)
  • UserID INT IDENTITY(1,1) PRIMARY KEY
  • Žádný blok záhlaví souboru, žádné SET příkazy
  • Automaticky pojmenovaná nebo nekonzistentní omezení

Po: s vlastními pokyny

V pracovním prostoru, ve kterém jste vytvořili tsql-conventions.instructions.md, položte stejnou výzvu:

Create a users table and a projects table for a task management app.

Očekávaný výstup:

  • Celé záhlaví souboru s autorem, datem, účelem, SET ANSI_NULLS ON, SET QUOTED_IDENTIFIER ON
  • CREATE TABLE dbo.users (s oprávněním schématu, camelCase)
  • userId BIGINT IDENTITY(1,1) PRIMARY KEY
  • createdAt a updatedAt sloupce auditu
  • Pojmenovaná omezení: PK_users, UQ_users_email, FK_projects_usersDF_users_createdAt

Stejný model, stejný dotaz, stejný GitHub Copilot. Soubor s pokyny fungoval.

Ověřte, že se používají vlastní pokyny.

Chcete-li si ověřit, že GitHub Copilot čte váš soubor s pokyny, zkontrolujte ladicí výstup.

  1. V aplikaci Visual Studio Code vyberte Zobrazit>Výstup.
  2. V rozevíracím seznamu výstupního kanálu vyberte GitHub Copilot nebo GitHub Copilot Chat.
  3. Odešlete výzvu a sledujte výstupní kanál. V protokolu se zobrazí úplná datová zátěž požadavku, včetně vlastních instrukcí.

Toto zobrazení ladění je zdrojem pravdy. Pokud výstup neobsahuje vaše pokyny, zkontrolujte následující:

  • Soubor se nachází na .github/instructions/<name>.instructions.md adrese ( .instructions.md přípona je nutná).
  • Glob applyTo odpovídá souboru, na kterém pracujete.
  • Soubor se uloží.

Vzory a osvědčené postupy

  • Jeden soubor na jazyk nebo doménu. Pro T-SQL, TypeScript, Python atd. používejte samostatné soubory s vlastním applyTo globem. Nekombinujte jazyky v jednom souboru.
  • Zachovejte to deklarativní. Odrážky a krátká pravidla fungují lépe než souvislý text. GitHub Copilot spolehlivěji postupujte podle pokynů, když jsou prohledávatelné.
  • Správa verzí souborů Zacommitujte .github/instructions/ do svého úložiště, aby z toho automaticky měli prospěch všichni přispěvatelé.
  • Spárujte s režimem plánu. Když pro návrh databáze použijete režim plánu , zdědí se konvence automaticky. Nemusíte je v promptu znovu uvádět.
  • Otestujte po změnách. Pomocí zobrazení ladění potvrďte, že se pokyny použijí při každé aktualizaci souboru.

Podělte se o své zkušenosti

Pokud nám chcete pomoct upřesnit a vylepšit GitHub Copilot pro rozšíření MSSQL, odešlete zpětnou vazbu pomocí následující šablony problému Na GitHubu: Váš názor na GitHub Copilot

Při odesílání zpětné vazby zvažte následující:

  • Testované scénáře: Dejte nám vědět, na které oblasti jste se zaměřili, například na vytváření schématu, generování dotazů, zabezpečení, lokalizaci.

  • Co dobře fungovalo: Popište všechny zkušenosti, které probíhaly hladce, byly užitečné nebo překročily vaše očekávání.

  • Problémy nebo chyby: Zahrňte všechny problémy, nekonzistence nebo matoucí chování. Snímky obrazovky nebo nahrávky obrazovky jsou užitečné hlavně.

  • Návrhy pro zlepšení: Sdílejte nápady na zlepšení použitelnosti, rozšíření pokrytí nebo vylepšení odpovědí GitHub Copilotu.