Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Az egyéni utasítások megtanítják a GitHub Copilotnak a csapat szabványait, így minden válasz, akár a kérdező módban, az ügynök módban vagy a beágyazott kódkiegészítések során érkezik, az elnevezési, formázási és adattípus-konvencióitokat követi. A fájlokra .sql vonatkozó egyetlen Markdown-fájl az általános Transact-SQL (T-SQL) kimenetét a projektnek megfelelő igazított kimenetre módosítja.
Tip
Az egyéni utasítások minden, a applyTo glob mintának megfelelő GitHub Copilot-felületen érvényesek, beleértve az ask módot, az edit módot, az agent módot és a soron belüli kiegészítéseket. Nyelvenként vagy tartományonként egyszer állítsa be őket.
A legfontosabb tudnivalók
- Az egyéni utasítások
.github/instructions/<name>.instructions.mda munkaterületen belül találhatók. - A
applyTofront matter kulcs minden fájlt egy globmintához rendel, például a**/*.sqlmintához. - GitHub Copilot minden kérésbe automatikusan beszúrja a megfelelő utasításokat. Nincs szükség perjeles parancsra.
- Egyéni utasítások nélkül a GitHub Copilot alapértelmezetten általános konvenciókat használ (PascalCase,
INTelsődleges kulcsok, fájlsablonok nélkül).
Prerequisites
- Visual Studio Code az MSSQL-bővítmény telepítve van.
- Aktív GitHub Copilot előfizetés.
- Egy munkaterületi mappa. Ez a rövid útmutató új fájlokat hoz létre a fájlban
.github/instructions/.
Mik azok az egyéni utasítások?
Az egyéni utasítások olyan Markdown-fájlok, amelyeket a GitHub Copilot beolvas és alkalmaz minden olyan kérésre, amely megfelel egy glob mintának. Visual Studio Code natív módon támogatja őket. Az MSSQL-bővítmény nem igényel további konfigurációt.
Ma már minden komoly MI-alapú kódolóeszköz támogatja ennek a mintának valamely változatát: a Cursor a .cursorrules használja, az OpenAI Codex a AGENTS.md-t, az Anthropic Claude Code-ja pedig a CLAUDE.md-t. A Visual Studio Code-ban elérhető GitHub Copilot a(z) .github/instructions/*.instructions.md használja. Ennek az az előnye, hogy ugyanabban a repozitóriumban több, különböző fájltípusokra vonatkozó utasításfájl is lehet.
A funkció általános Visual Studio Code dokumentációját lásd: AI-válaszok testreszabása Visual Studio Code.
Miért fontosak az egyéni utasítások a T-SQL-hez?
A modern GitHub Copilot alapértelmezetten is lenyűgöző T-SQL-t generál: NVARCHAR oszlopok, DATETIME2 időbélyegek, értelmes megszorításnevek. Ez azonban alapértelmezés szerint olyan konvenciókra igaz, amelyet a csapat esetleg nem használ.
Egyéni utasítások nélkül általában GitHub Copilot:
- A táblák és oszlopok neveihez PascalCase formátumot használ (
UserID,CreatedAt) a csapata által használtcamelCasevagysnake_casehelyett. - Elsődleges kulcsokat használ
INTahelyett, hogyBIGINT. -
Kihagyja a fájlfejlécsablonokat,
SET ANSI_NULLS ON, ésSET QUOTED_IDENTIFIER ON. -
Kihagyja a séma minősítését (
CREATE TABLE usershelyettCREATE TABLE dbo.users). -
PK_tableName/FK_child_parentmintát követné helyett automatikus nevű megszorításokat hoz létre.
Ezek közül az alapértelmezett értékek egyike sem hibás. Csak nem a sajátjaid. Az egyéni utasítások mindezt egyetlen fájllal javítják ki.
T-SQL-konvenciós fájl létrehozása
Ez a példa létrehoz egy utasításfájlt, amely kikényszeríti a CamelCase elnevezését, a séma minősítését, a naplózási oszlopokat és egy fájlfejlécsablont.
1. lépés: A fájl létrehozása GitHub Copilot használatával
- A Visual Studio Code-ban nyissa meg a GitHub Copilot Chat nézetet.
- Válassza a beállítások (fogaskerék) ikont, majd válassza az Utasítások > Szabályok>Új utasításfájl lehetőséget.
- Amikor a rendszer egy hely megadását kéri, válassza a
.github/instructionslehetőséget. - Amikor a rendszer fájlnevet kér, írja be a következőt
tsql-conventions: .
A Visual Studio Code létrehozza a .github/instructions/tsql-conventions.instructions.md elemet előre létrehozott front matterrel.
2. lépés: Konvenciók hozzáadása
Cserélje le a sablonszöveget a csapata T-SQL-szabványaira. Az alábbi sablon az elnevezést, az adattípusokat, a naplózási oszlopokat, a séma minősítését, a kényszerek elnevezését és a tiltott mintákat ismerteti.
---
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. lépés: A fájl mentése
GitHub Copilot mentés után azonnal felveszi az utasításokat tartalmazó fájlokat. Nincs újratöltési vagy konfigurációs lépés.
A kontraszt előtti/utáni kontraszt megtekintése
Az egyéni utasítások hatásának megtekintéséhez futtassa ugyanazt a parancssort a GitHubon Copilot Chat a fájl hozzáadása előtt és után.
Előtte: nincsenek egyéni utasítások
Egy .github/instructions/ mappa nélküli munkaterületen kérdezze meg a GitHub Copilotot:
Create a users table and a projects table for a task management app.
Jellemző kimenet:
-
CREATE TABLE Users(nincs sémaminősítés, PascalCase) UserID INT IDENTITY(1,1) PRIMARY KEY- Nincs fájlfejlécblokk, nincs
SETutasítás - Automatikus vagy inkonzisztens korlátozások
Utána: egyéni utasításokkal
Abban a munkaterületen, ahol létrehozta a(z) tsql-conventions.instructions.md elemet, adja meg ugyanazt az utasítást:
Create a users table and a projects table for a task management app.
Várt kimenet:
- Teljes fájlfejléc szerzővel, dátummal, céllal,
SET ANSI_NULLS ONSET QUOTED_IDENTIFIER ON -
CREATE TABLE dbo.users(sémanévvel minősített, camelCase) userId BIGINT IDENTITY(1,1) PRIMARY KEY-
createdAtésupdatedAtaudit oszlopok - Elnevezett megkötések:
PK_users,UQ_users_email,FK_projects_users,DF_users_createdAt
Ugyanaz a modell, ugyanaz a kérdés, ugyanaz a GitHub Copilot. Az utasítások fájlja működött.
Egyéni utasítások alkalmazásának ellenőrzése
Annak ellenőrzéséhez, hogy GitHub Copilot olvassa-e az utasítások fájlját, vizsgálja meg a hibakeresési kimenetet.
- A Visual Studio Code-ban válassza a Nézet>Kimenet elemet.
- A kimeneti csatorna legördülő listájában válassza GitHub Copilot vagy GitHub Copilot Csevegés lehetőséget.
- Küldjön egy üzenetet, és nézze meg a kimeneti csatornát. A kérelem teljes adattartalma, beleértve az egyéni utasításait is, megjelenik a naplóban.
Ez a hibakeresési nézet az igazság forrása. Ha a kimenet nem tartalmazza az utasításokat, ellenőrizze, hogy:
- A fájl a következő helyen
.github/instructions/<name>.instructions.mdtalálható (az.instructions.mdutótag megadása kötelező). - A
applyToglob megegyezik a fájllal, amelyen dolgozik. - A fájl mentése megtörtént.
Minták és ajánlott eljárások
- Nyelvenként vagy tartományonként egy fájl. Használjon külön fájlokat a T-SQL, TypeScript, Python stb. számára, mindegyikhez saját
applyToglob tartozik. Ne keverje a nyelveket egy fájlban. - Deklaratív maradjon. A listajelek és a rövid szabályok jobban működnek, mint a próza. GitHub Copilot megbízhatóbb utasításokat követ, ha azok vizsgálhatók.
- A verzió szabályozza a fájlokat. Commitolja
.github/instructions/a tárolóba, hogy minden közreműködő automatikusan profitáljon belőle. - Párosítás terv móddal. Ha terv módot használ az adatbázis-tervezéshez, a konvenciók automatikusan öröklődnek. Nem kell újra megadnia őket a parancssorban.
- Tesztelés a módosítások után. A hibakeresési nézetben ellenőrizheti, hogy az utasítások a fájl frissítésekor érvényesek-e.
Ossza meg tapasztalatait
Az MSSQL-bővítményHez tartozó GitHub Copilot pontosításához és fejlesztéséhez használja a következő GitHub-problémasablont a visszajelzés elküldéséhez: GitHub Copilot Feedback
Visszajelzés küldésekor fontolja meg a következőket:
Tesztelt forgatókönyvek: Tudassa velünk, hogy mely területekre összpontosított, például sémalétrehozásra, lekérdezésgenerálásra, biztonságra, honosításra.
Ami jól működött: Ismertesse azokat a tapasztalatokat, amelyek zökkenőmentesnek, hasznosnak mutattak, vagy amelyek meghaladták az Ön elvárásait.
Problémák vagy hibák: Tartalmazzon bármilyen problémát, következetlenséget vagy zavaró viselkedést. A képernyőképek és a képernyőfelvételek különösen hasznosak.
Fejlesztési javaslatok: Ötletek megosztása a használhatóság javítására, a lefedettség bővítésére vagy a GitHub Copilot válaszainak javítására.
Kapcsolódó tartalom
- A GitHub Copilot működése az MSSQL-bővítménnyel
- Rövid útmutató: Terv mód használata a specifikációalapú adatbázis-tervezéshez
-
Rövid útmutató: Csevegés a
@mssqlrésztvevővel (kérdezés mód) - Rövid útmutató: A GitHub Copilot-ügynök mód használata
- AI-válaszok testreszabása a Visual Studio Code-ban
- Korlátozások és ismert problémák