Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy: SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Punkt końcowy analizy SQL w Microsoft Fabric
Magazyn w Microsoft Fabric
Baza danych SQL w Microsoft Fabric
Spójne formatowanie ułatwia odczytywanie, przeglądanie i konserwowanie Transact-SQL (T-SQL), zwłaszcza gdy wiele osób współtworzy tę samą bazę kodu. program SQL Server Management Studio (SSMS) zawiera wbudowany program formatujący SQL (wersja zapoznawcza), który można uruchamiać na żądanie, konfigurować pod kątem automatycznego formatowania podczas zapisywania i dostosowywać za pomocą ustawień lub .editorconfig plików programu SSMS.
Funkcja formatowania SQL w programie SSMS jest oparta na elemencie ScriptDOM, bibliotece .NET typu open source, która analizuje język T-SQL i generuje skrypty oparte na abstrakcyjnych drzewach składni.
Wymagania wstępne
Formatowanie na żądanie
Język T-SQL można sformatować w dowolnym oknie edytora zapytań w dowolnym momencie. Formater może dotyczyć całego dokumentu lub tylko wybranej sekcji tekstu.
Aby sformatować język SQL na żądanie, użyj jednej z następujących metod:
- Menu kontekstowe: kliknij prawym przyciskiem myszy okno edytora języka T-SQL i wybierz polecenie Formatuj sql (wersja zapoznawcza).
- Menu Edycji: wybierz pozycję Edytuj>format zaawansowany>SQL (wersja zapoznawcza).
- Skrót klawiaturowy: naciśnij klawisze Ctrl+K, Ctrl+Q.
Po zaznaczeniu tekstu formatowanie jest stosowane tylko do zaznaczonego tekstu. Jeśli nie zaznaczysz tekstu, formater ma zastosowanie do całego dokumentu.
Formatuj przy zapisie
Po włączeniu opcji Format w pozycji Zapisz formater automatycznie stosuje skonfigurowane opcje formatowania za każdym razem, gdy zapiszesz .sql plik. Formatowanie przy zapisie działa dla nazwanych lub zapisanych okien edytora zapytań oraz plików w projektach baz danych SQL. Formatowanie przy zapisie zapewnia spójny format plików SQL w pull requestach i podczas przeglądów kodu.
Aby włączyć format zapisu dla wszystkich plików:
- Wybierz Narzędzia>Opcje.
- Przejdź do pozycji Formater SQL (wersja zapoznawcza)>Formatowanie.
- Ustaw Format on Save na True.
- Kliknij przycisk OK.
Możesz również ustawić format_on_save = true w .editorconfig pliku, aby włączyć format zapisu dla wszystkich .sql plików w projekcie lub folderze. Aby uzyskać więcej informacji, zobacz plik editorconfig.
Konfigurowanie opcji formatowania
Formater obsługuje szereg opcji, które kontrolują sposób stylizowania języka SQL, takie jak wielkość liter słów kluczowych, rozmiar wcięcia, średniki po instrukcjach i podziały wierszy dla klauzul, takich jak FROM, WHEREi JOIN. Te opcje można skonfigurować na dwa sposoby: za pomocą ustawień programu SSMS lub .editorconfig pliku.
Jeśli zarówno ustawienie programu SSMS, jak i .editorconfig wartość istnieją dla tej samej opcji, .editorconfig wartość ma pierwszeństwo. Ten priorytet umożliwia ustawienie preferowanych ustawień domyślnych w programie SSMS i zastąpienie ich dla projektu lub dla folderu za pomocą .editorconfig pliku.
Ustawienia programu SSMS
Aby skonfigurować opcje formatowania w programie SSMS:
- Wybierz Narzędzia>Opcje.
- Przejdź do SQL Formatter (wersja zapoznawcza).
- Dostosuj ustawienia w podkategoriach: Ogólne, Wyrównanie, Ścieżki, Formatowanie, Wcięcia, Wiele wierszy, Nowy wiersz i Odstępy.
- Kliknij przycisk OK.
Plik .editorconfig
Opcje formatowania można zdefiniować w pliku umieszczonym .editorconfig w projekcie lub folderze. Program SSMS odczytuje te wartości i stosuje je jako przesłonięcia w ustawieniach programu SSMS.
Wszystkie klucze formatera SQL znajdują się w [*.sql] w .editorconfig.
Ogólne
| Key | Typ | Values | Default |
|---|---|---|---|
sql_version |
wyliczenie |
Sql80
Sql90
Sql100
Sql110
Sql120
Sql130
Sql140
Sql150
Sql160
Sql170
|
Sql170 |
sql_engine_type |
wyliczenie |
All
Standalone
SqlAzure
|
All |
Wyrównanie
| Key | Typ | Default | Description |
|---|---|---|---|
align_clause_bodies |
bool | true |
Wyrównaj treść klauzul FROM, WHERE, GROUP BY i podobnych. |
align_column_definition_fields |
bool | true |
Wyrównuj pola definicji kolumn, takie jak nazwa, typ i ograniczenia. |
align_set_clause_item |
bool | true |
Wyrównaj SET elementy klauzul w instrukcjach UPDATE. |
Paths
| Key | Typ | Default |
|---|---|---|
allow_external_language_paths |
bool | true |
allow_external_library_paths |
bool | true |
Formatowanie
| Key | Typ | Values | Default | Description |
|---|---|---|---|---|
format_on_save |
bool | false |
Automatyczne formatowanie przy zapisie (tylko w SSMS, nie w ScriptDOM). | |
as_keyword_on_own_line |
bool | true |
Umieść AS w osobnym wierszu. |
|
include_semicolons |
bool | false |
Dołącz średniki do instrukcji. | |
keyword_casing |
wyliczenie |
Uppercase
Lowercase
PascalCase
|
Uppercase |
Styl wielkości liter słowa kluczowego. |
preserve_comments |
bool | true |
Zachowaj komentarze podczas formatowania. |
Wcięcie
| Key | Typ | Default | Description |
|---|---|---|---|
indent_set_clause |
bool | false |
Wcinaj klauzulę SET w instrukcjach UPDATE. |
indentation_size |
int (1–8) | 4 |
Liczba spacji na poziom wcięcia. |
indent_view_body |
bool | false |
Zastosuj wcięcie do VIEW treści. |
Wieloliniowy
| Key | Typ | Default | Description |
|---|---|---|---|
multiline_insert_sources_list |
bool | true |
INSERT źródła jako wielowierszowe. |
multiline_insert_targets_list |
bool | true |
INSERT kolumny wielowierszowe. |
multiline_select_elements_list |
bool | true |
SELECT kolumny jako wielowierszowe. |
multiline_set_clause_items |
bool | true |
SET elementy w wielu wierszach. |
multiline_view_columns_list |
bool | true |
VIEW kolumny jako wielowierszowe. |
multiline_where_predicates_list |
bool | true |
WHERE predykaty są wielowierszowe. |
Nowy wiersz
| 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 |
Spacing
| Key | Typ | Default | Description |
|---|---|---|---|
space_between_data_type_and_parameters |
bool | true |
Odstęp między typem danych a parensami, na przykład VARCHAR (255) |
space_between_parameters_in_data_type |
bool | true |
Odstęp między parametrami w typach danych |
Przykład pliku .editorconfig
Poniższy przykład przedstawia plik .editorconfig, który ustawia kilka często dostosowywanych opcji. Wszystkie właściwości, które nie zostały określone w pliku, zostaną przywrócone do ustawień programu SSMS.
[*.sql]
keyword_casing = lowercase
include_semicolons = true
indentation_size = 2
multiline_select_elements_list = true
new_line_before_from_clause = true
Podziel się opinią
Funkcja formatowania SQL w programie SSMS jest oparta na bibliotece open source .NET na potrzeby analizowania języka T-SQL, ScriptDOM. Korzystaj z sekcji Issues w repozytorium ScriptDOM, aby dyskutować o pomysłach i problemach. Pull requesty są mile widziane.
Prześlij opinię programu SSMS za pomocą pomocy>wyślij opinię w programie SSMS lub za pośrednictwem kanału opinii Developer Community.