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.
Durch konsistente Formatierung können Transact-SQL (T-SQL) leichter gelesen, überprüft und verwaltet werden, insbesondere, wenn mehrere Personen zur gleichen Codebasis beitragen. Die MSSQL-Erweiterung für Visual Studio Code beinhaltet ein integriertes SQL-Formatter, das Sie auf Abruf ausführen, für automatische Formatierung beim Speichern konfigurieren und über Visual Studio Code-Einstellungen anpassen können.
Die T-SQL-Formatierungsfunktionalität in der MSSQL-Erweiterung basiert auf ScriptDOM, einer Open-Source-.NET-Bibliothek, die T-SQL analysiert und Skripte basierend auf abstrakten Syntaxbäumen generiert.
Bei Bedarf formatieren
Du kannst T-SQL in jedem Editor-Fenster formatieren. Der Formatter wirkt auf das gesamte Dokument oder nur auf den von Ihnen ausgewählten Text.
Um T-SQL auf Abruf zu formatieren, verwenden Sie eine der folgenden Methoden:
Kontextmenü: Klicken Sie in einem T-SQL-Editorfenster mit der rechten Maustaste, und wählen Sie Dokument formatieren oder Auswahl formatieren.
Befehlspalette: Format-Dokument - oder Formatauswahl ausführen.
Tastenkombination: Für das Formatieren des Dokuments drücken Sie auf Windows und Linux Shift+Alt+F oder auf macOS dieShift-Option++F. Zur Formatauswahl drücken Sie Strg+K, Strg+F auf Windows und Linux oder Cmd+K, Cmd+F auf macOS.
Beim Speichern formatieren
In Visual Studio Code steuert die Standard-Editor-Einstellung das Format beim Speichern, anstatt einer dedizierten MSSQL-Formatter-Einstellung.
Verwenden Sie die folgenden Einstellungen in Ihrer Visual Studio Code-Dateisettings.json, um T-SQL automatisch zu formatieren, sobald Sie eine Datei speichern:
{
"[sql]": {
"editor.formatOnSave": true
}
}
Konfigurieren von Formatierungsoptionen
Konfigurieren Sie das Format in der Visual Studio Code Settings UI oder im Benutzer- oder Arbeitsbereichsettings.json.
Im Einstellungseditor suchen Sie nach Mssql>Format, um die verfügbaren Optionen anzuzeigen. In settings.json verwenden Sie die entsprechenden mssql.format.*-Einstellungen.
Unterstützte Einstellungen
Die folgenden Einstellungen konfigurieren das SQL-Formatter.
Allgemein
| Setting | Typ | Vorgabe | Description |
|---|---|---|---|
mssql.format.showParseErrorNotification |
bool | true |
Zeigt eine Benachrichtigung an, wenn der Formatter das T-SQL nicht vollständig parsen kann. |
mssql.format.options.sqlVersion |
enum | sql170 |
T-SQL-Version, die zum Parsen und Erstellen formatierter Skripte verwendet wird. |
mssql.format.options.sqlEngineType |
enum | all |
Datenbank-Engine-Typ, der zum Parsen und Erstellen formatierter Skripte verwendet wird. Gültige Werte sind all, standaloneund sqlAzure. |
Ausrichtung
| Setting | Typ | Vorgabe | Description |
|---|---|---|---|
mssql.format.options.alignClauseBodies |
bool | true |
Richten Sie Textkörper von FROM, WHERE, GROUP BY und ähnlichen Klauseln aus. |
mssql.format.options.alignColumnDefinitionFields |
bool | true |
Richten Sie Spaltendefinitionsfelder wie Namen, Datentypen und Einschränkungen aus. |
mssql.format.options.alignSetClauseItem |
bool | true |
Richten Sie SET-Klauselelemente in UPDATE-Anweisungen aus. |
mssql.format.options.clauseBodyAlignment |
enum | aligned |
Behalte Satzkörper aligned mit ihren Schlüsselwörtern oder setze sie in die nächste Zeile als indented. |
Gehäuse und Kennungen
| Setting | Typ | Vorgabe | Description |
|---|---|---|---|
mssql.format.options.builtInFunctionCasing |
enum | preserve |
Gehäuse-Stil für unterstützte integrierte Funktionsnamen, wie GETDATE und COALESCE. Gültige Werte sind preserve, uppercase, lowercase und pascalCase. |
mssql.format.options.identifierBracketing |
enum | preserve |
Erhalte, füge hinzu oder entferne optionale eckige Klammern um die Identifikatoren. Gültige Werte sind preserve, includeBracketsund excludeBrackets. Erforderliche Klammern werden beibehalten. |
mssql.format.options.identifierCasing |
enum | preserve |
Gehäuse-Stil für Objektidentifikatoren. Gültige Werte sind preserve, uppercase, lowercase und pascalCase. |
mssql.format.options.keywordCasing |
enum | uppercase |
Groß-/Kleinschreibung von Schlüsselwörtern. Gültige Werte sind uppercase, lowercaseund pascalCase. |
Pfade
| Setting | Typ | Vorgabe | Description |
|---|---|---|---|
mssql.format.options.allowExternalLanguagePaths |
bool | true |
Erlauben Sie externen Sprachinhalten, Dateipfade zu verwenden. |
mssql.format.options.allowExternalLibraryPaths |
bool | true |
Erlaube externen Bibliotheksinhalten, Dateipfade zu verwenden. |
Formatierung
| Setting | Typ | Vorgabe | Description |
|---|---|---|---|
mssql.format.options.asKeywordOnOwnLine |
bool | true |
Setzen Sie AS in eine eigene Zeile. |
mssql.format.options.columnAliasStyle |
enum | asKeyword |
Formatiere Spaltenaliase mit AS, einem Gleichheitszeichen oder ihrer ursprünglichen Syntax. Gültige Werte sind asKeyword, equalsSignund preserve. |
mssql.format.options.commaPlacement |
enum | trailing |
Setze Kommas am Ende der Listeneinträge (trailing) oder am Anfang des nächsten Elements (leading). |
mssql.format.options.leadingCommaSpaceCount |
integer | 1 |
Anzahl der Leerzeichen nach einem führenden Komma. Gültige Werte sind 0 und 1. |
mssql.format.options.persistTrailingGo |
bool | false |
Behalten Sie nachlaufende GO Batch-Separatoren vom ursprünglichen Skript bei. |
mssql.format.options.preserveComments |
bool | true |
Kommentare während der Formatierung beibehalten. |
mssql.format.options.terminateBlockStatements |
bool | false |
Füge nach den Blöcken BEGIN...END und TRY...CATCH Semikolon-Abschlüsse hinzu. |
Einrücken
| Setting | Typ | Vorgabe | Description |
|---|---|---|---|
mssql.format.options.indentSetClause |
bool | false |
Klauseln SET in UPDATE Anweisungen einrücken. |
mssql.format.options.indentViewBody |
bool | false |
Leichen eindrücken VIEW . |
Mehrzeilig
| Setting | Typ | Vorgabe | Description |
|---|---|---|---|
mssql.format.options.multilineGroupByElementsList |
bool | false |
Formatiere GROUP BY Elemente als Mehrzeilenliste. |
mssql.format.options.multilineHavingPredicatesList |
bool | true |
AND durch OR oder HAVING getrennte Prädikate auf mehrere Zeilen formatieren. |
mssql.format.options.multilineInsertSourcesList |
bool | true |
Formatiere INSERT Quellen als mehrzeilige Listen. |
mssql.format.options.multilineInsertTargetsList |
bool | true |
Formatiere INSERT Spalten als mehrzeilige Listen. |
mssql.format.options.multilineInValuesList |
bool | false |
Formatiere Werte in einem IN Prädikat als Mehrzeilenliste. |
mssql.format.options.multilineNestedFunctionCalls |
bool | false |
Formatiere verschachtelte Funktionsaufrufe auf separaten, eingerückten Zeilen, während isolierte Funktionsaufrufe auf einer Zeile bleiben. |
mssql.format.options.multilineOrderByElementsList |
bool | false |
Formatiere ORDER BY Elemente als Mehrzeilenliste. |
mssql.format.options.multilinePartitionByElementsList |
bool | false |
Formatiere PARTITION BY Elemente in Fensterspezifikationen als Mehrzeilenliste. |
mssql.format.options.multilineProcedureParametersList |
bool | false |
Formatieren Sie das Verfahren und die Funktionsparameter auf getrennten Zeilen. |
mssql.format.options.multilineSelectElementsList |
bool | true |
Formatiere SELECT Spalten als mehrzeilige Listen. |
mssql.format.options.multilineSetClauseItems |
bool | true |
Formatiere SET Klauselelemente als mehrzeilige Listen. |
mssql.format.options.multilineViewColumnsList |
bool | true |
Formatiere VIEW Spalten als mehrzeilige Listen. |
mssql.format.options.multilineWherePredicatesList |
bool | true |
WHERE Prädikate als mehrzeilige Listen formatieren. |
mssql.format.options.multilineWithOptionsList |
bool | false |
Format unterstützt WITH und OPTION Klauselwerte auf getrennten Zeilen. |
Neue Zeile
| Setting | Typ | Vorgabe | Description |
|---|---|---|---|
mssql.format.options.newLineAfterJoinKeyword |
bool | true |
Platziere die Quelle der verbundenen Tabelle in eine neue Zeile nach dem JOIN Schlüsselwort. |
mssql.format.options.newLineBeforeCloseParenthesisInMultilineList |
bool | true |
Platzieren Sie eine neue Zeile vor die abschließende Klammer einer mehrzeiligen Liste. |
mssql.format.options.newLineBeforeFromClause |
bool | true |
Stelle eine neue Zeile vor die Klausel FROM . |
mssql.format.options.newLineBeforeGroupByClause |
bool | true |
Stelle eine neue Zeile vor die Klausel GROUP BY . |
mssql.format.options.newLineBeforeHavingClause |
bool | true |
Stelle eine neue Zeile vor die Klausel HAVING . |
mssql.format.options.newLineBeforeJoinClause |
bool | true |
Setzen Sie eine neue Zeile vor JOIN Klauseln. |
mssql.format.options.newLineBeforeOffsetClause |
bool | true |
Stelle eine neue Zeile vor die Klausel OFFSET . |
mssql.format.options.newLineBeforeOnClause |
bool | true |
Fügen Sie die ON Klausel eines Joins auf eine neue Leitung ein. |
mssql.format.options.newLineBeforeOpenParenthesisInMultilineList |
bool | false |
Setzen Sie eine neue Zeile vor die erste Klammer einer mehrzeiligen Liste. |
mssql.format.options.newLineBeforeOrderByClause |
bool | true |
Stelle eine neue Zeile vor die Klausel ORDER BY . |
mssql.format.options.newLineBeforeOutputClause |
bool | true |
Stelle eine neue Zeile vor die Klausel OUTPUT . |
mssql.format.options.newLineBeforeWhereClause |
bool | true |
Stelle eine neue Zeile vor die Klausel WHERE . |
mssql.format.options.newLineBeforeWindowClause |
bool | true |
Stelle eine neue Zeile vor die Klausel WINDOW . |
mssql.format.options.newlineFormattedCheckConstraint |
bool | false |
Platziere die CHECK Klausel einer Einschränkung auf eine eigene Zeile. |
mssql.format.options.newLineFormattedIndexDefinition |
bool | false |
Platziere UNIQUE, INCLUDE, und WHERE Teile der Inline-Indexdefinitionen auf getrennte Zeilen. |
Aussage und Batch-Abstand
| Setting | Typ | Vorgabe | Description |
|---|---|---|---|
mssql.format.options.numNewlinesAfterBatches |
integer | 1 |
Anzahl der Zeilenumbrüche nach jedem GO Batch-Separator, von 0 über 5. |
mssql.format.options.numNewlinesAfterBatchStatement |
integer | 2 |
Anzahl der Zeilenumbrüche nach jeder Anweisung der obersten Ebene in einem Stapel, von 0 bis 5. |
mssql.format.options.numNewlinesAfterStatement |
integer | 1 |
Anzahl der Zeilenumbrüche nach jeder Aussage, von 0 über 5. |
Spacing
| Setting | Typ | Vorgabe | Description |
|---|---|---|---|
mssql.format.options.spaceBetweenDataTypeAndParameters |
bool | true |
Fügen Sie zum Beispiel VARCHAR (255)einen Raum zwischen einem Datentyp und seinen Klammern ein. |
mssql.format.options.spaceBetweenParametersInDataType |
bool | true |
Fügen Sie zum Beispiel DECIMAL (10, 2)Abstände zwischen Parametern in einem Datentyp ein. |
Beispiel-Einstellungsdatei
{
"mssql.format.options.keywordCasing": "lowercase",
"mssql.format.options.alignClauseBodies": false,
"mssql.format.options.numNewlinesAfterStatement": 2,
"[sql]": {
"editor.formatOnSave": true
}
}
Standard-Formatter festlegen
Um die MSSQL-Erweiterung als Standard festzulegen, wählen Sie Standardformatierer konfigurieren...>SQL Server (mssql), oder fügen Sie die folgende Konfiguration zu settings.json hinzu:
{
"[sql]": {
"editor.defaultFormatter": "ms-mssql.mssql"
}
}