Quickstart: Aangepaste instructies gebruiken om GitHub Copilot uit te lijnen met uw T-SQL-conventies

Aangepaste instructies leren GitHub Copilot de standaarden van uw team, zodat elk antwoord, ongeacht of deze afkomstig zijn van de vraagmodus, agentmodus of inlinevoltooiingen, uw naamgeving, opmaak en gegevenstypeconventies volgt. Eén Markdown-bestand dat is gericht op .sql bestanden, verandert algemene Transact-SQL (T-SQL) uitvoer in uitgelijnde uitvoer die overeenkomt met uw project.

Tip

Aangepaste instructies zijn van toepassing op elk GitHub Copilot-onderdeel dat overeenkomt met de applyToglob, waaronder de vraagmodus, de bewerkingsmodus, de agentmodus en inline-aanvullingen. Stel ze één keer per taal of domein in.

Belangrijke punten

  • Aangepaste instructies staan in .github/instructions/<name>.instructions.md in uw werkruimte.
  • De applyTo frontmatter-sleutel beperkt elk bestand tot een glob-patroon, zoals **/*.sql.
  • GitHub Copilot automatisch overeenkomende instructies in elke aanvraag injecteert. Er is geen slash-opdracht vereist.
  • Zonder aangepaste instructies gebruikt GitHub Copilot standaard generieke conventies (PascalCase, INT primaire sleutels, geen bestandssjablonen).

Prerequisites

  • Visual Studio Code waarop de MSSQL-extensie is geïnstalleerd.
  • Een actief GitHub Copilot-abonnement.
  • Een werkruimtemap. In deze quickstart worden nieuwe bestanden gemaakt in .github/instructions/.

Wat zijn aangepaste instructies?

Aangepaste instructies zijn Markdown-bestanden die GitHub Copilot leest en van toepassing is op elke aanvraag die overeenkomt met een glob-patroon. Visual Studio Code ondersteunt ze standaard. Voor de MSSQL-extensie is geen extra configuratie vereist.

Elk serieus hulpprogramma voor ai-codering (kunstmatige intelligentie) ondersteunt nu een versie van dit patroon: Cursor gebruikt .cursorrules, OpenAI Codex gebruikt AGENTS.md, Anthropic's Claude Code gebruiktCLAUDE.md. GitHub Copilot in Visual Studio Code gebruikt .github/instructions/*.instructions.md. Het voordeel is dat u meerdere instructies kunt hebben voor bestanden die zijn gericht op verschillende bestandstypen in dezelfde opslagplaats.

Zie AI-antwoorden aanpassen in Visual Studio Code voor algemene Visual Studio Code-documentatie over deze functie.

Waarom aangepaste instructies belangrijk zijn voor T-SQL

De moderne GitHub Copilot genereert standaard indrukwekkende T-SQL: NVARCHAR kolommen, DATETIME2 tijdstempels, zinnige namen voor constraints. Het is echter standaard ingesteld op conventies die uw team mogelijk niet gebruikt.

Zonder aangepaste instructies zal GitHub Copilot doorgaans:

  • Gebruikt PascalCase voor tabel- en kolomnamen (UserID, CreatedAt) in plaats van uw team camelCase of snake_case.
  • Gebruikt INT primaire sleutels in plaats van BIGINT.
  • Hiermee worden headersjablonen voor bestanden weggelaten, SET ANSI_NULLS ONen SET QUOTED_IDENTIFIER ON.
  • Slaat schemaqualificatie over (CREATE TABLE users in plaats van CREATE TABLE dbo.users).
  • Hiermee worden automatisch benoemde beperkingen gegenereerd in plaats van uw PK_tableName / FK_child_parent patroon te volgen.

Geen van deze standaardinstellingen is onjuist. Ze zijn niet van jou. Aangepaste instructies lossen dit allemaal op met één bestand.

Een T-SQL-conventiebestand maken

In dit voorbeeld wordt een instructiebestand gemaakt waarin camelCase-naamgeving, schemakwalificatie, auditkolommen en een sjabloon voor bestandsheaders worden afgedwongen.

Stap 1: gebruik GitHub Copilot om het bestand te maken

  1. Open in Visual Studio Code de GitHub Copilot Chat-weergave.
  2. Selecteer het pictogram Instellingen (tandwiel) en kies vervolgens Instructies & Regels>Nieuw instructiebestand.
  3. Wanneer u om een locatie wordt gevraagd, selecteert u .github/instructions.
  4. Wanneer u om een bestandsnaam wordt gevraagd, voert u het volgende in tsql-conventions.

Visual Studio Code maakt .github/instructions/tsql-conventions.instructions.md met gegenereerde frontmatter.

Stap 2: Uw conventies toevoegen

Vervang de gegenereerde inhoud door de T-SQL-standaarden van uw team. De volgende sjabloon omvat naamgeving, gegevenstypen, auditkolommen, schemakwalificatie, naamgeving van beperkingen en verboden patronen.

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

Stap 3: Het bestand opslaan

GitHub Copilot de bestanden met instructies ophaalt zodra u het bestand opslaat. Er is geen herlaad- of configuratiestap.

Zie het voor-/na-contrast

Als u de impact van aangepaste instructies wilt zien, voert u dezelfde prompt uit in GitHub Copilot Chat voor en na het toevoegen van het bestand.

Voor: geen aangepaste instructies

Vraag in een werkruimte zonder map .github/instructions/ aan GitHub Copilot:

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

Typische uitvoer:

  • CREATE TABLE Users (geen schemakwalificatie, PascalCase)
  • UserID INT IDENTITY(1,1) PRIMARY KEY
  • Geen bestandskopblok, geen SET instructies
  • Automatisch benoemde of inconsistente beperkingen

Na: met aangepaste instructies

In de werkruimte waarin u tsql-conventions.instructions.md hebt gemaakt, stelt u dezelfde opdracht:

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

Verwachte uitvoer:

  • Volledige bestandskoptekst met auteur, datum, doel, , SET ANSI_NULLS ONSET QUOTED_IDENTIFIER ON
  • CREATE TABLE dbo.users (schema-gekwalificeerd, camelCase)
  • userId BIGINT IDENTITY(1,1) PRIMARY KEY
  • createdAt en updatedAt auditkolommen
  • Benoemde beperkingen: PK_users, UQ_users_email, FK_projects_users, DF_users_createdAt

Hetzelfde model, dezelfde prompt, dezelfde GitHub Copilot. Het instructiesbestand heeft het werk gedaan.

Controleren of aangepaste instructies worden toegepast

Inspecteer de debuguitvoer om te bevestigen dat GitHub Copilot het instructiebestand leest.

  1. Selecteer in Visual Studio Code Beeld>Uitvoer.
  2. Selecteer in de vervolgkeuzelijst uitvoerkanaal GitHub Copilot of GitHub Copilot Chat.
  3. Verzend een prompt en bekijk het uitvoerkanaal. De volledige nettolading van de aanvraag, inclusief uw aangepaste instructies, wordt weergegeven in het logboek.

Deze foutopsporingsweergave is de bron van waarheid. Als de uitvoer uw instructies niet bevat, controleert u of:

  • Het bestand bevindt zich op .github/instructions/<name>.instructions.md (het .instructions.md achtervoegsel is vereist).
  • De applyTo glob komt overeen met het bestand waaraan u werkt.
  • Het bestand wordt opgeslagen.

Patronen en aanbevolen procedures

  • Eén bestand per taal of domein. Gebruik afzonderlijke bestanden voor T-SQL, TypeScript, Python enzovoort, elk met een eigen applyTo glob. Meng geen talen in één bestand.
  • Houd het declaratief. Opsommingstekens en korte regels werken beter dan proza. GitHub Copilot instructies betrouwbaarder volgt wanneer ze scanbaar zijn.
  • Versiebeheer van de bestanden. Voer .github/instructions/ uw opslagplaats zo in dat elke inzender automatisch profiteert.
  • Koppelen aan de planmodus. Wanneer u de planmodus gebruikt voor databaseontwerp, worden conventies automatisch overgenomen. U hoeft ze niet opnieuw in de prompt te vermelden.
  • Test na wijzigingen. Gebruik de foutopsporingsweergave om te bevestigen dat de instructies worden toegepast wanneer u het bestand bijwerkt.

Uw ervaring delen

Om ons te helpen GitHub Copilot voor de MSSQL-extensie te verfijnen en te verbeteren, gebruikt u de volgende GitHub-probleemsjabloon om uw feedback te verzenden: GitHub Copilot-feedback

Overweeg het volgende bij het indienen van feedback:

  • Geteste scenario's: Laat ons weten op welke gebieden u zich richt, bijvoorbeeld het maken van schema's, het genereren van query's, beveiliging, lokalisatie.

  • Wat goed werkte: Beschrijf alle ervaringen die soepel verliepen, behulpzaam waren of uw verwachtingen overtroffen.

  • Problemen of bugs: neem eventuele problemen, inconsistenties of verwarrend gedrag op. Schermafbeeldingen of schermopnamen zijn vooral nuttig.

  • Suggesties voor verbetering: Deel ideeën voor het verbeteren van bruikbaarheid, het uitbreiden van de dekking of het verbeteren van de reacties van GitHub Copilot.