Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Özel yönergeler ekibinizin standartlarını GitHub Copilot öğreterek ister soru modundan, aracı modundan ister satır içi tamamlamalardan gelen her yanıtın adlandırma, biçimlendirme ve veri türü kurallarınıza uygun olmasına neden olur. Kapsamı dosyalar olarak .sql belirlenmiş tek bir Markdown dosyası, genel Transact-SQL (T-SQL) çıkışını projenizle eşleşen hizalanmış çıktıya değiştirir.
Tip
Özel yönergeler, soru modu, düzenleme modu, aracı modu ve satır içi tamamlamalar dâhil olmak üzere, applyTo glob ile eşleşen tüm GitHub Copilot arayüzlerinde geçerlidir. Bunları dil veya etki alanı başına bir kez ayarlayın.
Önemli çıkarımlar
- Özel yönergeler çalışma alanınızın içinde
.github/instructions/<name>.instructions.mdyer alır. -
applyToön bilgi anahtarı, her dosyayı**/*.sqlgibi bir glob desenine göre kapsamlandırır. - GitHub Copilot her isteğe otomatik olarak eşleşen yönergeler ekler. Eğik çizgi komutu gerekmez.
- Özel yönergeler olmadan, GitHub Copilot varsayılan olarak genel kuralları (PascalCase,
INTbirincil anahtarlar, dosya şablonu yok) kullanır.
Prerequisites
- MSSQL uzantısının yüklü olduğu Visual Studio Code.
- Etkin bir GitHub Copilot aboneliği.
- Çalışma alanı klasörü. Bu hızlı başlangıç,
.github/instructions/içinde yeni dosyalar oluşturur.
Özel yönergeler nelerdir?
Özel yönergeler, GitHub Copilot’un okuduğu ve glob deseniyle eşleşen her isteğe uyguladığı Markdown dosyalarıdır. Visual Studio Code bunları yerel olarak destekler. MSSQL uzantısı için ek yapılandırma gerekmez.
Önde gelen her yapay zeka (AI) kodlama aracı artık bu yaklaşımın bir sürümünü destekliyor: Cursor .cursorrules kullanıyor, OpenAI Codex AGENTS.md kullanıyor, Anthropic’in Claude Code’u ise CLAUDE.md kullanıyor. Visual Studio Code'daki GitHub Copilot, .github/instructions/*.instructions.md kullanır. Bunun avantajı, aynı depoda kapsamı farklı dosya türlerine göre belirlenmiş birden çok yönerge dosyası olmasıdır.
Bu özelliğin genel Visual Studio Code belgeleri için bkz. Visual Studio Code'da yapay zeka yanıtlarını özelleştirme.
Özel yönergeler T-SQL için neden önemlidir?
Modern GitHub Copilot, kutudan çıktığı gibi etkileyici T-SQL üretir: NVARCHAR sütunlar, DATETIME2 zaman damgaları ve mantıklı kısıtlama adları. Ancak varsayılan olarak ekibinizin kullanamayabileceği kurallar kullanılır.
GitHub Copilot, özel yönergeler olmadan genellikle şunları yapar:
- Ekibinizin veya
UserIDyerine tablo ve sütun adları (CreatedAt,camelCase) içinsnake_casekullanır. -
BIGINTyerineINTbirincil anahtarları kullanır. -
Dosya üst bilgisi şablonlarını,
SET ANSI_NULLS ONveSET QUOTED_IDENTIFIER ONatlar. -
Şema nitelemesini atlar (
CREATE TABLE usersyerineCREATE TABLE dbo.users). -
Otomatik adlandırılmış kısıtlamalar oluşturur;
PK_tableName/FK_child_parentdüzeninizi izlemez.
Bu varsayılan değerlerden hiçbiri yanlış değil. Onlar senin değil. Özel yönergeler tüm bunları tek bir dosyayla düzeltir.
T-SQL kuralları dosyası oluşturma
Bu örnek, camelCase adlandırma, şema niteliği, denetim sütunları ve dosya üst bilgisi şablonunu zorunlu kılan bir yönergeler dosyası oluşturur.
1. Adım: Dosyayı oluşturmak için GitHub Copilot kullanma
- Visual Studio Code GitHub Copilot Chat görünümünü açın.
- Ayarlar (dişli) simgesini seçin, ardından Yönergeler ve Kurallar>Yeni yönerge dosyası seçeneğini belirleyin.
- Bir konum istendiğinde
.github/instructionsöğesini seçin. - Bir dosya adı istendiğinde girin
tsql-conventions.
Visual Studio Code, otomatik oluşturulmuş ön bilgilerle .github/instructions/tsql-conventions.instructions.md oluşturur.
2. Adım: Kurallarınızı ekleme
İskelet içeriği ekibinizin T-SQL standartlarıyla değiştirin. Aşağıdaki şablon adlandırmayı, veri türlerini, denetim sütunlarını, şema niteliğini, kısıtlama adlandırmasını ve yasaklanmış desenleri kapsar.
---
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. Adım: Dosyayı kaydetme
GitHub Copilot, kaydettiğiniz anda yönergeler dosyalarını alır. Yeniden yükleme veya yapılandırma adımı yoktur.
Öncesi/sonrası karşılaştırmasını görün
Özel yönergelerin etkisini görmek için, dosyayı eklemeden önce ve ekledikten sonra GitHub Copilot Chat aynı istemi çalıştırın.
Önce: özel yönerge yok
.github/instructions/ klasörü olmayan bir çalışma alanında GitHub Copilot'a şunu sorun:
Create a users table and a projects table for a task management app.
Tipik çıkış:
-
CREATE TABLE Users(şema niteliği yok, PascalCase) UserID INT IDENTITY(1,1) PRIMARY KEY- Dosya başlık bloğu yok,
SETifadesi yok - Otomatik adlandırılmış veya tutarsız kısıtlamalar
Sonra: özel yönergelerle
oluşturduğunuz tsql-conventions.instructions.mdçalışma alanında aynı istemi sorun:
Create a users table and a projects table for a task management app.
Beklenen çıkış:
- Yazar, tarih, amaç,
SET ANSI_NULLS ON,SET QUOTED_IDENTIFIER ONiçeren tam dosya üst bilgisi -
CREATE TABLE dbo.users(şema nitelikli, camelCase) userId BIGINT IDENTITY(1,1) PRIMARY KEY-
createdAtveupdatedAtdenetim sütunları - Adlandırılmış kısıtlamalar:
PK_users,UQ_users_email,FK_projects_users,DF_users_createdAt
Aynı model, aynı istem, aynı GitHub Copilot. Yönergeler dosyası işe yaramıştı.
Özel yönergelerin uygulandığını doğrulama
GitHub Copilot yönergeler dosyanızı okuduğundan emin olmak için hata ayıklama çıkışını inceleyin.
- Visual Studio Code'da Görünüm>Çıktı'yı seçin.
- Çıkış kanalı açılır listesinde GitHub Copilot veya GitHub Copilot Chat seçin.
- Bir istem gönderin ve çıkış kanalını izleyin. Özel yönergeleriniz de dahil olmak üzere istek yükünün tamamı günlükte görünür.
Bu hata ayıklama görünümü gerçeğin kaynağıdır. Çıktıda yönergeleriniz yoksa şunları denetleyin:
- Dosya
.github/instructions/<name>.instructions.mdkonumundadır (.instructions.mdsoneki gereklidir). - Glob
applyTo, üzerinde çalıştığınız dosyayla eşleşir. - Dosya kaydedilir.
Desenler ve en iyi yöntemler
- Dil veya etki alanı başına bir dosya. T-SQL, TypeScript, Python vb. için ayrı dosyalar kullanın ve her biri kendi
applyToglob'ını kullanın. Dilleri tek bir dosyada karıştırmayın. - Bildirimde bulunur. Madde işaretleri ve kısa kurallar, düzyazıdan daha etkilidir. GitHub Copilot, taranabilir olduğunda yönergeleri daha güvenilir bir şekilde izler.
- Dosyaları sürüm kontrolüne alın.
.github/instructions/öğesini deponuza işleyin, böylece katkıda bulunan herkes bundan otomatik olarak yararlanır. - Plan moduyla eşleştirin. Veritabanı tasarımı için plan modunu kullandığınızda kurallar otomatik olarak devralınır. Bunları istemde tekrarlamanız gerekmez.
- Değişikliklerden sonra test edin. Dosyayı her güncelleştirdiğinizde yönergelerin uygulandığını onaylamak için hata ayıklama görünümünü kullanın.
Deneyiminizi paylaşma
MSSQL uzantısı için GitHub Copilot'ı geliştirmemize ve geliştirmemize yardımcı olmak için aşağıdaki GitHub sorun şablonunu kullanarak geri bildiriminizi gönderin: GitHub Copilot Geri Bildirimi
Geri bildirim gönderirken şunları dahil etmeyi göz önünde bulundurun:
Test edilen senaryolar: Şema oluşturma, sorgu oluşturma, güvenlik, yerelleştirme gibi odaklandığınız alanları bize bildirin.
İyi çalışan şeyler: Sorunsuz, yararlı veya beklentilerinizi aşan deneyimleri açıklayın.
Sorunlar veya hatalar: Tüm sorunları, tutarsızlıkları veya kafa karıştırıcı davranışları dahil edin. Ekran görüntüleri veya ekran kayıtları özellikle yararlıdır.
İyileştirme önerileri: Kullanılabilirliği geliştirmeye, kapsamı genişletmeye veya GitHub Copilot'un yanıtlarını geliştirmeye yönelik fikirleri paylaşın.
İlgili içerik
- GitHub Copilot MSSQL uzantısıyla nasıl çalışır?
- Hızlı Başlangıç: Belirtim temelli veritabanı tasarımı için plan modunu kullanma
-
Hızlı Başlangıç: Katılımcıyla sohbet (
@mssqlsoru modu) - Hızlı Başlangıç: GitHub Copilot aracısı modunu kullanma
- Visual Studio Code'da yapay zeka yanıtlarını özelleştirme
- Sınırlamalar ve bilinen sorunlar