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.
Gilt für: SQL Server
Azure SQL-Datenbank
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL Analytics-Endpunkt in Microsoft Fabric
Warehouse in Microsoft Fabric
SQL-Datenbank in Microsoft Fabric
Durch konsistente Formatierung können Transact-SQL (T-SQL) leichter gelesen, überprüft und verwaltet werden, insbesondere, wenn mehrere Personen zur gleichen Codebasis beitragen. SQL Server Management Studio (SSMS) enthält einen integrierten SQL-Formatierer (Vorschau), den Sie bei Bedarf ausführen, für die automatische Formatierung beim Speichern konfigurieren und über SSMS-Einstellungen oder .editorconfig -Dateien anpassen können.
Die SQL-Formatierungsfunktionalität in SSMS basiert auf ScriptDOM, einer Open Source-.NET-Bibliothek, die T-SQL analysiert und Skripts basierend auf abstrakten Syntaxstrukturen generiert.
Voraussetzungen
Bei Bedarf formatieren
Sie können T-SQL in jedem Abfrage-Editor-Fenster jederzeit formatieren. Der Formatierer kann auf das gesamte Dokument oder nur auf einen markierten Textabschnitt angewendet werden.
Verwenden Sie zum Formatieren von SQL bei Bedarf eine der folgenden Methoden:
- Kontextmenü: Klicken Sie mit der rechten Maustaste in ein T-SQL-Editorfenster, und wählen Sie "SQL formatieren (Vorschau)" aus.
- Menü „Bearbeiten“: Wählen Sie Bearbeiten>Erweitert>SQL formatieren (Vorschau) aus.
- Tastenkombination: Drücken Sie STRG+K, STRG+Q.
Wenn Sie Text markieren, wird die Formatierung nur auf die Auswahl angewendet. Wenn Sie keinen Text markieren, wird die Formatierung auf das gesamte Dokument angewendet.
Beim Speichern formatieren
Wenn Sie die Option " Speichern " aktivieren, wendet der Formatierer automatisch Ihre konfigurierten Formatierungsoptionen bei jedem Speichern einer .sql Datei an. Die Formatierung beim Speichern funktioniert mit benannten oder gespeicherten Abfrage-Editorfenstern sowie mit Dateien in SQL-Datenbankprojekten. Die Formatierung beim Speichern sorgt dafür, dass Ihre SQL-Dateien in Pull Requests und Code-Reviews konsistent bleiben.
So aktivieren Sie das Format beim Speichern für alle Dateien:
- Wählen Sie Extras>Optionen aus.
- Wechseln Sie zu SQL Formatter (Vorschau)>Formatierung.
- Setzen Sie Beim Speichern formatieren auf True.
- Wählen Sie OK aus.
Sie können auch format_on_save = true in einer .editorconfig-Datei festlegen, um die Formatierung beim Speichern für alle .sql-Dateien in Ihrem Projekt oder Ordner zu aktivieren. Weitere Informationen finden Sie in der EDITORCONFIG-Datei.
Konfigurieren von Formatierungsoptionen
Der Formatierer unterstützt einen Bereich von Optionen, die steuern, wie Ihre SQL-Formatvorlage formatiert wird, z. B. Schlüsselwort-Groß-/Kleinschreibung, Einzugsgröße, Semikolons nach Anweisungen und Zeilenumbrüche für Klauseln wie FROM, und WHEREJOIN. Sie können diese Optionen auf zwei Arten konfigurieren: über SSMS-Einstellungen oder über eine .editorconfig Datei.
Wenn sowohl eine SSMS-Einstellung als auch ein .editorconfig Wert für dieselbe Option vorhanden sind, hat der .editorconfig Wert Vorrang. Mit dieser Rangfolge können Sie Ihre bevorzugten Standardwerte in SSMS festlegen und diese pro Projekt oder Ordner mit einer .editorconfig Datei überschreiben.
SSMS-Einstellungen
So konfigurieren Sie Formatierungsoptionen in SSMS:
- Wählen Sie Extras>Optionen aus.
- Wechseln Sie zu SQL-Formatierer (Vorschau).
- Passen Sie die Einstellungen in den Unterkategorien an: General, Alignment, Paths, Formatting, Indentation, Multiline, New Line, and Spacing.
- Wählen Sie OK aus.
.editorconfig-Datei
Sie können Formatierungsoptionen in einer .editorconfig Datei definieren, die in Ihrem Projekt oder Ordner platziert ist. SSMS liest diese Werte aus und wendet sie als Überschreibungen auf die SSMS-Einstellungen an.
Alle SQL-Formatierungsschlüssel befinden sich unter [*.sql] in .editorconfig.
Allgemein
| Key | Typ | Werte | Default |
|---|---|---|---|
sql_version |
enum |
Sql80
Sql90
Sql100
Sql110
Sql120
Sql130
Sql140
Sql150
Sql160
Sql170
|
Sql170 |
sql_engine_type |
enum |
All
Standalone
SqlAzure
|
All |
Ausrichtung
| Key | Typ | Default | Beschreibung |
|---|---|---|---|
align_clause_bodies |
bool | true |
Textkörper von FROM, WHERE, GROUP BY und ähnlichen Klauseln ausrichten. |
align_column_definition_fields |
bool | true |
Ausrichten von Spaltendefinitionsfeldern, z. B. Name, Typ und Einschränkungen. |
align_set_clause_item |
bool | true |
Ausrichten von SET Klauselelementen in UPDATE Anweisungen. |
Pfade
| Key | Typ | Default |
|---|---|---|
allow_external_language_paths |
bool | true |
allow_external_library_paths |
bool | true |
Formatierung
| Key | Typ | Werte | Default | Beschreibung |
|---|---|---|---|---|
format_on_save |
bool | false |
Automatisches Format beim Speichern (nur SSMS, nicht in ScriptDOM). | |
as_keyword_on_own_line |
bool | true |
Setzen Sie AS in eine eigene Zeile. |
|
include_semicolons |
bool | false |
Hängen Sie Semikolons an Anweisungen an. | |
keyword_casing |
enum |
Uppercase
Lowercase
PascalCase
|
Uppercase |
Groß-/Kleinschreibung von Schlüsselwörtern |
preserve_comments |
bool | true |
Kommentare während der Formatierung beibehalten. |
Einrücken
| Key | Typ | Default | Beschreibung |
|---|---|---|---|
indent_set_clause |
bool | false |
SET Klausel in UPDATE Anweisungen einrücken. |
indentation_size |
int (1–8) | 4 |
Leerzeichen pro Einzugsebene. |
indent_view_body |
bool | false |
Textkörper VIEW einrücken. |
Mehrzeilig
| Key | Typ | Default | Beschreibung |
|---|---|---|---|
multiline_insert_sources_list |
bool | true |
INSERT Quellen als mehrzeilig. |
multiline_insert_targets_list |
bool | true |
INSERT Spalten als mehrzeilig. |
multiline_select_elements_list |
bool | true |
SELECT Spalten als mehrzeilig. |
multiline_set_clause_items |
bool | true |
SET Elemente als mehrzeilig. |
multiline_view_columns_list |
bool | true |
VIEW Spalten mehrzeilig. |
multiline_where_predicates_list |
bool | true |
WHERE Prädikate als mehrzeilig. |
Neue Zeile
| Key | Typ | Default |
|---|---|---|
new_line_before_close_parenthesis_in_multiline_list |
bool | true |
new_line_before_from_clause |
bool | true |
new_line_before_group_by_clause |
bool | true |
new_line_before_having_clause |
bool | true |
new_line_before_join_clause |
bool | true |
new_line_before_offset_clause |
bool | true |
new_line_before_open_parenthesis_in_multiline_list |
bool | false |
new_line_before_order_by_clause |
bool | true |
new_line_before_output_clause |
bool | true |
new_line_before_where_clause |
bool | true |
new_line_before_window_clause |
bool | true |
newline_formatted_check_constraint |
bool | false |
newline_formatted_index_definition |
bool | false |
num_newlines_after_statement |
int (0–5) | 1 |
Abstand
| Key | Typ | Default | Beschreibung |
|---|---|---|---|
space_between_data_type_and_parameters |
bool | true |
Leerraum zwischen Datentyp und Parens, z. B. VARCHAR (255) |
space_between_parameters_in_data_type |
bool | true |
Abstand zwischen Params in Datentypen |
Beispiel für .editorconfig
Das folgende Beispiel zeigt eine .editorconfig Datei, die einige häufig angepasste Optionen festlegt. Alle in der Datei nicht angegebenen Eigenschaften greifen auf die SSMS-Einstellungen zurück.
[*.sql]
keyword_casing = lowercase
include_semicolons = true
indentation_size = 2
multiline_select_elements_list = true
new_line_before_from_clause = true
Feedback teilen
Die SQL-Formatierungsfunktionalität in SSMS basiert auf der Open-Source-.NET-Bibliothek für die T-SQL-Analyse, ScriptDOM. Verwenden Sie das GitHub Problemsystem im ScriptDOM-Repository, um Ideen und Herausforderungen zu besprechen. Pull Requests sind willkommen.
Senden Sie SSMS-Feedback über Hilfe>senden Feedback in SSMS oder über den Entwicklercommunity Feedbackkanal.