Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Der Planmodus ist eine Funktion von Visual Studio Code, mit der GitHub Copilot eine Anfrage durchdenken kann, ohne Änderungen vorzunehmen. Wenn Sie eine Datenbank entwerfen, übersetzt der Planmodus ein Dokument für natürliche Produktanforderungen (PRD) in ein mit Gründen versehenes Datenmodell (Tabellen, Beziehungen, Verbindungstabellen, Fremdschlüsselrichtung und Einschränkungen), bevor Sie eine einzelne CREATE TABLE Anweisung schreiben. Anschließend übergeben Sie den Plan an den Agentmodus oder den Schema-Designer , um das tatsächliche Schema zu erstellen.
Tip
Verwenden Sie den Planmodus, wenn Sie denken müssen, bevor Sie die SQL-Datendefinitionssprache (DDL) schreiben, insbesondere für Greenfield-Schemas oder große Umgestaltungen. Verwenden Sie für Änderungen in einer Tabelle stattdessen den Ask-Modus .
Wichtige Erkenntnisse
- Der Planmodus erzeugt einen schriftlichen Plan (häufig als
plan.mdgespeichert), den Sie vor der Ausführung prüfen können. - Der Planmodus ist schemasensitiv, wenn Sie ihn zusammen mit dem
@mssqlChat-Teilnehmer verwenden oder Dateien mit#file:anhängen. - Kombinieren Sie den Planmodus mit benutzerdefinierten Anweisungen, damit der Plan automatisch Ihre Transact-SQL-(T-SQL)-Konventionen übernimmt.
- Der Planmodus ist ein Visual Studio Code-Feature, kein MSSQL-spezifisches Feature, aber es passt gut zum Datenbankdesign.
Voraussetzungen
- Visual Studio Code mit installierter MSSQL-Erweiterung.
- Ein aktives GitHub Copilot-Abonnement mit Planmodus, der in der Dropdownliste für den Chatmodus verfügbar ist.
- Ein Arbeitsbereichsordner, in dem Sie eine
requirements.mdDatei erstellen können. - Optional: eine Zieldatenbankverbindung für die Übergabe im Agentmodus.
- Optional: eine benutzerdefinierte Anweisungendatei für Ihre T-SQL-Konventionen.
Was ist der Planmodus?
Der Planmodus ist einer der Chatmodi in Visual Studio Code, neben dem Fragemodus, dem Bearbeitungsmodus und dem Agentmodus. Im Planmodus, GitHub Copilot:
- Liest die Anforderung und jeden angefügten Kontext.
- Erstellt einen schriftlichen Plan, der die Arbeit in begründete Schritte aufbricht.
- Ändert keine Dateien oder führt Tools aus. Der Plan ist ein denkender Artefakt, nicht eine Ausführung.
Sie können dann zum Agentmodus (oder Schema-Designer) wechseln, um den Plan auszuführen. Allgemeine Dokumentation finden Sie unter "Chatmodi" in Visual Studio Code.
Warum der Planmodus in den Datenbankentwurf passt
Entscheidungen zum Datenmodell wirken kumulativ. Verbindungstabellen, die Richtung von Fremdschlüsseln, Audit-Spalten und Normalisierungsentscheidungen lassen sich in einem Markdown-Plan leichter überarbeiten als in veröffentlichten DDL-Anweisungen. Mit dem Planmodus können Sie:
- Überprüfen Sie den Entwurf vor dem Erstellen. Überprüfen Sie das vorgeschlagene Schema, hinterfragen Sie fragwürdige Entscheidungen und entwickeln Sie den Plan iterativ weiter.
- Verborgene Beziehungen anzeigen. Im Planmodus werden Verknüpfungstabellen und Viele-zu-viele-Beziehungen angezeigt, die Sie nicht ausdrücklich angefordert haben.
- Trennen Sie die Spezifikation von der Ausführung. Die PRD bleibt produktorientiert; der Plan wird zum technischen Artefakt; die DDL wird zum Liefergegenstand.
Durchgängiges Szenario: TaskManager-Schema
Diese Schnellstartanleitung führt durch einen vollständigen Fluss: PRD in natürlicher Sprache → Plan in Markdown → Tabellen, die im Schema-Designer erstellt wurden.
Schritt 1: Erstellen eines Produktanforderungendokuments
Erstellen Sie requirements.md im Stammverzeichnis Ihres Arbeitsbereichs. Beschreiben Sie die Anwendung in natürlicher Sprache, einschließlich Domänenentitäten, Beziehungen und Geschäftsregeln. Behalten Sie den Produktfokus des Dokuments bei. Geben Sie keine Spaltentypen oder Einschränkungen an (dies ist ihre benutzerdefinierte Anweisungendatei ).
# TaskManager - Product Specification
## Overview
A task management application for small development teams. Supports user
registration, role-based project membership, task tracking with multi-assignee
support, and team collaboration.
## User management
- Users register with email, username, first and last name, hashed password.
- Email and username must be unique across the system.
- Users can be deactivated (soft delete) rather than removed.
- A user can belong to multiple projects, each with a role: owner, admin, or member.
## Project management
- Projects have a name, description, and active/inactive status.
- Each project tracks who created it.
- Project membership is role-based - one entry per user per project.
## Task tracking
- Tasks belong to exactly one project.
- Required: title. Optional: description, due date.
- Status must be one of: todo, in-progress, done.
- Priority must be one of: low, medium, high, critical.
- Tasks can be assigned to multiple team members.
## Collaboration
- Team members can comment on tasks.
- Comments are text-based, tied to both a task and the author.
## Data integrity
- Every record must track when it was created and last updated.
- All relationships must enforce referential integrity.
- Deletes should be restricted (no orphan records).
- Status and priority fields must only accept valid values.
Schritt 2: Wechseln von GitHub-Copilot Chat zum Planmodus
- Öffnen Sie die GitHub-Copilot Chat Ansicht.
- Wählen Sie in der Dropdownliste für den Chatmodus " Plan" aus.
Schritt 3: Senden des PRD zum Planmodus
Fügen Sie requirements.md als Kontext an, indem Sie die Datei entweder in die Chateingabe ziehen, verwenden #file:requirements.mdoder die Schaltfläche "Anfügen" auswählen.
Based on the requirements document, think through the full data model:
identify all tables, relationships, junction tables, and constraints.
Save the plan so I can use it in the next step.
GitHub Copilot erzeugt einen begründeten Plan und speichert ihn wie plan.md in Ihrem Arbeitsbereich. Der Plan umfasst in der Regel Folgendes:
- Eine Liste der Tabellen mit ihrem Zweck
- Beziehungen (1:n, n:n) und die Verknüpfungstabellen, die sie ermöglichen
- Einschränkungen (eindeutig, überprüfen, Fremdschlüssel), die die Geschäftsregeln aus der PRD erzwingen
- Offene Fragen oder Annahmen, auf die der Plan basiert
Überprüfen Sie den Plan, bevor Sie fortfahren. Wenn eine Beziehung fehlt oder eine Einschränkung falsch ist, iterieren Sie, indem Sie im Planmodus Folge-Prompts senden. Der Planungsmodus ist zustandslos und kostengünstig, sodass mehrere Verfeinerungsrunden normal sind.
Schritt 4: Übergeben des Plans an den Agentmodus oder Schema-Designer
Nachdem der Plan richtig gelesen wurde, wechseln Sie zum Agentmodus, und erstellen Sie das Schema.
- Wählen Sie in der Dropdownliste für den Chatmodus "Agent" aus.
- Senden Sie eine Eingabeaufforderung, die auf die Plandatei und die Zieloberfläche verweist:
Based on #file:plan.md, use Schema Designer to create all the tables
and relationships in my database. Focus on the database schema only -
skip any application layer items from the plan.
Der Agentmodus öffnet den Schema-Designer und erstellt jede Tabelle und fordert ihre Genehmigung bei jedem Schritt an. Ihre benutzerdefinierten Anweisungen gelten automatisch: Spaltenbenennung, Überwachungsspalten, Schemaqualifizierung und Einschränkungsbenennung folgen allen Ihren Konventionen.
Tipps
- Mit benutzerdefinierten Anweisungen koppeln. Der Plan übernimmt Ihre Konventionen automatisch, wenn Sie eine Datei mit benutzerdefinierten Anweisungen für
**/*.sqlhaben. - Halten Sie das PRD produktfokussiert. Vermeiden Sie die Angabe von Spaltentypen oder Einschränkungen in
requirements.md. Lassen Sie diese vom Plan gemäß Ihren Konventionen ausfüllen. - Iterieren Sie am Plan, nicht an der DDL. Es ist günstiger, einen Markdown-Plan zu überarbeiten, als Tabellen abzulegen und neu zu erstellen.
- Speichern Sie den Plan in der Quellcodeverwaltung. Der Plan ist wertvolle Dokumentation für zukünftige Mitwirkende und für die Überarbeitung von Designentscheidungen.
- Verwenden Sie Mermaid-Diagramme in der PRD. Entitätsbeziehungsdiagramme in Mermaid helfen dem Planmodus, Beziehungen präzise zu extrahieren.
Teilen von Erfahrungen
Um uns dabei zu helfen, GitHub Copilot für die MSSQL-Erweiterung zu verfeinern und zu verbessern, verwenden Sie die folgende GitHub-Problemvorlage, um Ihr Feedback zu übermitteln: GitHub Copilot Feedback
Berücksichtigen Sie bei der Übermittlung von Feedback Folgendes:
Getestete Szenarien: Teilen Sie uns mit, auf welche Bereiche Sie sich konzentrieren, z. B. Schemaerstellung, Abfragegenerierung, Sicherheit, Lokalisierung.
Was gut funktioniert hat: Beschreiben Sie eine Erfahrung, die glatt verlief, hilfreich war oder Ihre Erwartungen übertroffen hat.
Probleme oder Fehler: Schließen Sie Alle Probleme, Inkonsistenzen oder verwirrende Verhaltensweisen ein. Screenshots oder Bildschirmaufzeichnungen sind besonders hilfreich.
Verbesserungsvorschläge: Teilen Sie Ideen zur Verbesserung der Benutzerfreundlichkeit, zur Erweiterung der Abdeckung oder zur Verbesserung der Antworten von GitHub Copilot.
Verwandte Inhalte
- Funktionsweise von GitHub Copilot mit der MSSQL-Erweiterung
- Schnellstart: Verwenden von benutzerdefinierten Anweisungen zum Ausrichten von GitHub Copilot mit Ihren T-SQL-Konventionen
- Schnellstart: Verwenden des GitHub-Copilot-Agent-Modus
- Schnellstart: Entwerfen von Schemas visuell mit eingebetteten GitHub Copilot Szenarien
- Chat-Modi in Visual Studio Code
- Beispiel für Bibliotheks-App mit Beispielen für den Planmodus