Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op: SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL-analytics-eindpunt in Microsoft Fabric
Warehouse in Microsoft Fabric
SQL-database in Microsoft Fabric
Consistente opmaak maakt Transact-SQL (T-SQL) gemakkelijker te lezen, te controleren en te onderhouden, met name wanneer meerdere personen bijdragen aan dezelfde codebasis. SQL Server Management Studio (SSMS) bevat een ingebouwde SQL-formatter die u op aanvraag kunt uitvoeren, configureren voor automatische opmaak bij opslaan en aanpassen via SSMS-instellingen of .editorconfig -bestanden.
De SQL-opmaakfunctionaliteit in SSMS is gebouwd op basis van ScriptDOM, een opensource-.NET-bibliotheek die T-SQL parseert en scripts genereert op basis van abstracte syntaxisstructuren.
Prerequisites
- SQL Server Management Studio 22.7 of hoger
Formattering op aanvraag
U kunt T-SQL op elk gewenst moment opmaken in elk queryeditorvenster. De opmaak kan worden toegepast op het hele document of alleen op een geselecteerde tekstsectie.
Als u SQL on demand wilt opmaken, gebruikt u een van de volgende methoden:
- Contextmenu: Klik met de rechtermuisknop in een T-SQL-editorvenster en selecteer SQL opmaken.
- Menu Bewerken: Selecteer Bewerken>Geavanceerd>.
- Sneltoets: Druk op Ctrl+K, Ctrl+Q.
Wanneer u tekst selecteert, is de opmaak alleen van toepassing op de selectie. Wanneer u geen tekst selecteert, is de opmaak van toepassing op het hele document.
Opmaak bij opslaan
Wanneer u de optie Opmaak bij Opslaan inschakelt, worden de geconfigureerde opmaakopties automatisch toegepast wanneer u een .sql bestand opslaat. De indeling voor opslaan werkt met benoemde of opgeslagen queryeditorvensters en met bestanden in SQL Database-projecten. Opmaak bij opslaan houdt je SQL-bestanden consistent bij pull requests en code reviews.
Opmaak inschakelen voor opslaan voor alle bestanden:
- Selecteer Extra>Opties.
- Ga naar SQL Formatter>Opmaak.
- Stel Format on Save in op True.
- Kies OK.
U kunt format_on_save = true ook instellen in een .editorconfig-bestand om opmaak bij opslaan in te schakelen voor alle .sql-bestanden in uw project of map. Zie .editorconfig-bestand voor meer informatie.
Opmaakopties configureren
De formatter ondersteunt een reeks opties die bepalen hoe uw SQL wordt opgemaakt, zoals het gebruik van hoofdletters of kleine letters voor trefwoorden, de inspringingsgrootte, puntkomma's na statements en regeleinden voor clausules zoals FROM, WHERE en JOIN. U kunt deze opties op twee manieren configureren: via SSMS-instellingen of via een .editorconfig bestand.
Wanneer zowel een SSMS-instelling als een .editorconfig waarde voor dezelfde optie bestaat, heeft de .editorconfig waarde voorrang. Met deze prioriteit kunt u uw voorkeursinstellingen instellen in SSMS en deze per project of per map overschrijven met een .editorconfig bestand.
SSMS-instellingen
Opmaakopties configureren in SSMS:
- Selecteer Extra>Opties.
- Ga naar SQL Formatter.
- Pas de instellingen in de subcategorieën aan: Algemeen, Uitlijning, Paden, Opmaak, Inspringing, Meerdere regels, Nieuwe regel en Spatiëring.
- Kies OK.
.editorconfig-bestand
U kunt opmaakopties definiëren in een .editorconfig-bestand dat in uw project of map staat. SSMS leest deze waarden en past deze toe als overschrijvingen bovenop de SSMS-instellingen.
Alle SQL-formattersleutels gaan onder [*.sql] in .editorconfig.
Algemeen
| Key | Typ | Values | Verstek |
|---|---|---|---|
sql_version |
enum |
Sql80
Sql90
Sql100
Sql110
Sql120
Sql130
Sql140
Sql150
Sql160
Sql170
|
Sql170 |
sql_engine_type |
enum |
All
Standalone
SqlAzure
|
All |
Uitlijning
| Key | Typ | Values | Verstek | Beschrijving |
|---|---|---|---|---|
align_clause_bodies |
bool | true |
Lichamen van FROM, WHERE, GROUP BY en vergelijkbare clausules uitlijnen. |
|
align_column_definition_fields |
bool | true |
Kolomdefinitievelden, zoals naam, type en beperkingen, uitlijnen. | |
align_set_clause_item |
bool | true |
Lijn SET clausule-items uit in UPDATE statements. |
|
clause_body_alignment |
enum |
Aligned
Indented
|
Aligned |
Bepaalt of clausuleblokken worden uitgelijnd met het clausuletrefwoord of op de volgende regel komen te staan en worden ingesprongen. |
Opmaak
| Key | Typ | Values | Verstek | Beschrijving |
|---|---|---|---|---|
as_keyword_on_own_line |
bool | true |
Plaats AS op een aparte regel. |
|
built_in_function_casing |
enum |
Preserve
Uppercase
Lowercase
PascalCase
|
Preserve |
Hiermee bepaalt u de behuizing van ingebouwde functienamen. |
column_alias_style |
enum |
AsKeyword
EqualsSign
Preserve
|
Preserve |
Geef kolomaliassen weer met behulp van het AS trefwoord, een gelijkteken of behoud de oorspronkelijke stijl. |
comma_placement |
enum |
Trailing
Leading
|
Trailing |
Plaats komma's aan het einde van de regel (trailing) of aan het begin van de volgende regel (leading) in meerregelige lijsten. |
format_on_save |
bool | false |
Automatisch opmaken bij opslaan (alleen SSMS, niet in ScriptDOM). | |
identifier_bracketing |
enum |
Preserve
IncludeBrackets
ExcludeBrackets
|
Preserve |
Hiermee bepaalt u of vierkante haken rond id's behouden blijven, toegevoegd of verwijderd. |
identifier_casing |
enum |
Preserve
Uppercase
Lowercase
PascalCase
|
Preserve |
Hiermee bepaalt u de behuizing die is toegepast op id's. |
keyword_casing |
enum |
Uppercase
Lowercase
PascalCase
|
Uppercase |
Stijl voor trefwoordbehuizing. |
leading_comma_space_count |
int | (0 - 1) | 1 |
Hiermee bepaalt u het aantal spaties dat na een voorloopkomma is ingevoegd. |
preserve_comments |
bool | true |
Opmerkingen behouden tijdens de opmaak. | |
terminate_block_statements |
bool | false |
Hiermee bepaalt u of blokinstructies eindigen met een puntkomma. |
Inspringing
| Key | Typ | Values | Verstek | Beschrijving |
|---|---|---|---|---|
indent_set_clause |
bool | false |
Clausule SET laten inspringen in UPDATE instructies. |
|
indent_view_body |
bool | false |
Hoofdtekst laten inspringen VIEW . |
|
indentation_mode |
enum |
Spaces
Tabs
|
Spaces |
Inspringen met spaties of tabtekens. |
indentation_size |
int | (1 - 8) | 4 |
Aantal spaties per insprongniveau. |
Meerdere regels
| Key | Typ | Verstek | Beschrijving |
|---|---|---|---|
multiline_group_by_elements_list |
bool | true |
GROUP BY elementen op afzonderlijke lijnen. |
multiline_having_predicates_list |
bool | true |
HAVING predicaten op afzonderlijke regels. |
multiline_in_values_list |
bool | true |
IN expressiewaarden op afzonderlijke regels. |
multiline_insert_sources_list |
bool | true |
INSERT bronnen als meerdere regels. |
multiline_insert_targets_list |
bool | true |
INSERT kolommen als meerdere regels. |
multiline_nested_function_calls |
bool | true |
Parameters in geneste functie-aanroepen op afzonderlijke regels. |
multiline_order_by_elements_list |
bool | true |
ORDER BY elementen op afzonderlijke lijnen. |
multiline_partition_by_elements_list |
bool | true |
PARTITION BY elementen op afzonderlijke lijnen. |
multiline_procedure_parameters_list |
bool | true |
Parameters van opgeslagen procedures op aparte regels. |
multiline_select_elements_list |
bool | true |
SELECT kolommen als meerdere regels. |
multiline_set_clause_items |
bool | true |
SET items als meerdere regels. |
multiline_view_columns_list |
bool | true |
VIEW kolommen als meerdere regels. |
multiline_where_predicates_list |
bool | true |
WHERE predikaten als meerregelig. |
multiline_with_options_list |
bool | true |
Opties in WITH- en OPTION-clausules op afzonderlijke regels. |
Nieuwe regel
| Key | Typ | Verstek |
|---|---|---|
new_line_after_join_keyword |
bool | true |
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_on_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_batch_statement |
int (0 - 10) | 2 |
num_newlines_after_batches |
int (0 - 10) | 1 |
num_newlines_after_statement |
int (0 - 10) | 1 |
Spacing
| Key | Typ | Verstek | Beschrijving |
|---|---|---|---|
space_between_data_type_and_parameters |
bool | true |
Ruimte tussen gegevenstype en parens, bijvoorbeeld VARCHAR (255) |
space_between_parameters_in_data_type |
bool | true |
Ruimte tussen parameters in gegevenstypen |
Voorbeeld van .editorconfig
In het volgende voorbeeld ziet u een .editorconfig bestand waarmee een aantal veelgebruikte opties worden ingesteld. Eigenschappen die niet in het bestand zijn opgegeven, vallen terug op de SSMS-instellingen.
[*.sql]
keyword_casing = lowercase
include_semicolons = true
indentation_size = 2
multiline_select_elements_list = true
new_line_before_from_clause = true
Feedback delen
De sql-opmaakfunctionaliteit in SSMS is gebouwd op basis van de opensource-.NET-bibliotheek voor T-SQL-parsering, ScriptDOM. Gebruik het systeem GitHub problemen in de opslagplaats ScriptDOM om ideeën en uitdagingen te bespreken. Pull-aanvragen zijn welkom.
Stuur SSMS-feedback via Help>Feedback verzenden in SSMS of via het Developer Community feedbackkanaal.