Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Instruksi kustom memberi tahu GitHub Copilot tentang standar tim Anda agar setiap respons, baik dari mode tanya, mode agen, maupun pelengkapan sebaris, mengikuti konvensi penamaan, pemformatan, dan jenis data tim Anda. Satu file Markdown yang dilingkup ke .sql file mengubah output Transact-SQL generik (T-SQL) menjadi output yang selaras yang cocok dengan proyek Anda.
Tip
Instruksi kustom berlaku di setiap bagian GitHub Copilot yang sesuai dengan glob applyTo, termasuk mode tanya jawab, mode edit, mode agen, dan pelengkapan sebaris. Siapkan sekali per bahasa atau domain.
Kesimpulan utama
- Instruksi kustom tersedia di
.github/instructions/<name>.instructions.mddi ruang kerja Anda. - Kunci
applyTofront matter membatasi setiap file ke pola glob, seperti**/*.sql. - GitHub Copilot menyuntikkan instruksi yang cocok ke setiap permintaan secara otomatis. Tidak perlu slash command.
- Tanpa instruksi kustom, GitHub Copilot default ke konvensi generik (PascalCase,
INTkunci primer, tanpa templat file).
Prasyarat
- Visual Studio Code dengan ekstensi MSSQL terinstal.
- Langganan GitHub Copilot aktif.
- Folder ruang kerja. Panduan singkat ini membuat file baru di
.github/instructions/.
Apa itu instruksi kustom?
Instruksi kustom adalah file Markdown yang dibaca oleh GitHub Copilot dan diterapkan pada setiap permintaan yang cocok dengan pola glob. Visual Studio Code mendukungnya secara asli. Ekstensi MSSQL tidak memerlukan konfigurasi tambahan.
Setiap alat pengodean kecerdasan buatan (AI) serius sekarang mendukung versi pola ini: Kursor menggunakan .cursorrules, OpenAI Codex menggunakan AGENTS.md, Kode Claude Anthropic menggunakan CLAUDE.md. GitHub Copilot di Visual Studio Code menggunakan .github/instructions/*.instructions.md. Keuntungannya adalah Anda dapat memiliki beberapa file instruksi yang tercakup ke berbagai jenis file di repositori yang sama.
Untuk dokumentasi Visual Studio Code umum tentang fitur ini, lihat Menyesuaikan respons AI di Visual Studio Code.
Mengapa instruksi kustom penting untuk T-SQL
GitHub Copilot modern menghasilkan T-SQL yang mengesankan secara bawaan: NVARCHAR kolom, DATETIME2 stempel waktu, penamaan batasan yang masuk akal. Tetapi, secara bawaan, ini menggunakan konvensi yang mungkin tidak digunakan oleh tim Anda.
Tanpa instruksi kustom, GitHub Copilot biasanya:
- Menggunakan PascalCase untuk nama tabel dan kolom (
UserID,CreatedAt) alih-alih timcamelCaseAnda atausnake_case. -
INTMenggunakan kunci primer alih-alihBIGINT. -
Menghilangkan templat header file,
SET ANSI_NULLS ON, danSET QUOTED_IDENTIFIER ON. -
Lewati kualifikasi skema (
CREATE TABLE usersbukanCREATE TABLE dbo.users). - Menghasilkan kendala yang dinamai otomatis alih-alih mengikuti pola
PK_tableName/FK_child_parentAnda.
Tidak satu pun dari default ini salah. Mereka bukan milikmu. Instruksi kustom mengatasi semua ini hanya dengan satu file.
Membuat file konvensi T-SQL
Contoh ini membuat berkas instruksi yang menerapkan penamaan camelCase, kualifikasi skema, kolom audit, dan templat header berkas.
Langkah 1: Gunakan GitHub Copilot untuk membuat file
- Di Visual Studio Code, buka tampilan Copilot Chat GitHub.
- Pilih ikon pengaturan (roda gigi), lalu pilih Instruksi & Aturan>Berkas instruksi baru.
- Saat dimintai lokasi, pilih
.github/instructions. - Saat dimintai nama file, masukkan
tsql-conventions.
Visual Studio Code menciptakan .github/instructions/tsql-conventions.instructions.md dengan materi depan perancah.
Langkah 2: Tambahkan konvensi Anda
Ganti konten templat dengan standar T-SQL tim Anda. Templat berikut mencakup penamaan, jenis data, kolom audit, kualifikasi skema, penamaan batasan, dan pola yang dilarang.
---
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
Langkah 3: Simpan file
GitHub Copilot mengambil file instruksi segera setelah Anda menyimpan. Tidak ada langkah pemuatan ulang atau konfigurasi.
Lihat kontras sebelum/sesudah
Untuk melihat dampak instruksi kustom, jalankan perintah yang sama di GitHub Copilot Chat sebelum dan sesudah menambahkan file.
Sebelum: tidak ada instruksi kustom
Di ruang kerja tanpa folder .github/instructions/, tanyakan kepada GitHub Copilot:
Create a users table and a projects table for a task management app.
Output tipikal:
-
CREATE TABLE Users(tidak ada kualifikasi skema, PascalCase) UserID INT IDENTITY(1,1) PRIMARY KEY- Tidak ada blok header berkas, tidak ada pernyataan
SET - Batasan otomatis atau tidak konsisten
Setelah: dengan instruksi khusus
Di ruang kerja tempat Anda membuat tsql-conventions.instructions.md, tanyakan perintah yang sama:
Create a users table and a projects table for a task management app.
Output yang diharapkan:
- Header file lengkap dengan penulis, tanggal, tujuan,
SET ANSI_NULLS ON,SET QUOTED_IDENTIFIER ON -
CREATE TABLE dbo.users(memenuhi syarat skema, camelCase) userId BIGINT IDENTITY(1,1) PRIMARY KEY- kolom audit
createdAtdanupdatedAt - Batasan bernama:
PK_users,UQ_users_email,FK_projects_users,DF_users_createdAt
Model yang sama, prompt yang sama, GitHub Copilot yang sama. Berkas petunjuklah yang mengerjakannya.
Verifikasi instruksi kustom sedang diterapkan
Untuk mengonfirmasi GitHub Copilot membaca file instruksi Anda, periksa output debug.
- Di Visual Studio Code, pilih Tampilkan>Output.
- Di daftar dropdown saluran output, pilih GitHub Copilot atau GitHub Copilot Chat.
- Kirim perintah dan tonton saluran output. Seluruh payload permintaan, termasuk instruksi kustom Anda, tercatat dalam log.
Tampilan debug ini adalah sumber kebenaran. Jika output tidak berisi instruksi Anda, periksa apakah:
- File tersebut tersimpan di
.github/instructions/<name>.instructions.md(akhiran.instructions.mdtersebut diperlukan). -
applyToGlob cocok dengan file yang sedang Anda kerjakan. - File tersebut disimpan.
Pola dan praktik terbaik
- Satu file per bahasa atau domain. Gunakan file terpisah untuk T-SQL, TypeScript, Python, dan sebagainya, masing-masing dengan globnya sendiri
applyTo. Jangan mencampur bahasa dalam satu file. - Tetap deklaratif. Poin-poin dan aturan singkat lebih efektif daripada prosa. GitHub Copilot mengikuti instruksi dengan lebih andal saat instruksi tersebut mudah dipindai.
- Kelola versi file. Terapkan
.github/instructions/ke repositori Anda sehingga setiap kontributor mendapatkan manfaat secara otomatis. - Padankan dengan mode rencana. Saat Anda menggunakan mode rencana untuk mendesain database, konvensi akan diwariskan secara otomatis. Anda tidak perlu mengulanginya dalam prompt.
- Uji setelah perubahan. Gunakan tampilan debug untuk mengonfirmasi instruksi diterapkan setiap kali Anda memperbarui file.
Membagikan pengalaman Anda
Untuk membantu kami memperbaiki dan meningkatkan GitHub Copilot untuk ekstensi MSSQL, gunakan templat masalah GitHub berikut untuk mengirimkan umpan balik Anda: GitHub Copilot Feedback
Saat mengirimkan umpan balik, pertimbangkan untuk menyertakan:
Skenario yang diuji: Beri tahu kami area mana yang Anda fokuskan, misalnya, pembuatan skema, pembuatan kueri, keamanan, pelokalan.
Apa yang bekerja dengan baik: Jelaskan pengalaman apa pun yang terasa lancar, membantu, atau melebihi harapan Anda.
Masalah atau gangguan: Sertakan setiap masalah, inkonsistensi, atau perilaku yang membingungkan. Cuplikan layar atau rekaman layar sangat membantu.
Saran untuk perbaikan: Bagikan ide untuk meningkatkan kegunaan, memperluas cakupan, atau meningkatkan respons GitHub Copilot.
Konten terkait
- Cara kerja GitHub Copilot dengan ekstensi MSSQL
- Panduan cepat: Gunakan mode plan untuk desain database berbasis spesifikasi
-
Mulai cepat: Mengobrol dengan
@mssqlpeserta (mode tanya) - Mulai Cepat: Gunakan mode agen GitHub Copilot
- Menyesuaikan respons AI dalam Visual Studio Code
- Batasan dan masalah umum