Formatera Transact-SQL i MSSQL-tillägget för Visual Studio Code

Konsekvent formatering gör Transact-SQL (T-SQL) enklare att läsa, granska och underhålla, särskilt när flera personer bidrar till samma kodbas. MSSQL-tillägget för Visual Studio Code inkluderar en inbyggd SQL-formatering (Preview) som du kan köra på begäran, konfigurera för automatisk formatering vid sparning och anpassa via Visual Studio Code-inställningar.

T-SQL-formateringsfunktionen i MSSQL-tillägget är byggd på ScriptDOM, ett öppet .NET-bibliotek som tolkar T-SQL och genererar skript baserade på abstrakta syntaxträd.

Formatera på begäran

Du kan formatera T-SQL i vilket redigeringsfönster som helst. Formattern fungerar på hela dokumentet eller bara på den text du väljer.

För att formatera T-SQL på begäran, använd en av följande metoder:

  • Kontextmeny: Högerklicka i ett T-SQL-redigeringsfönster och välj Format Document eller Format Select.

  • Kommandopalett: Kör formateringsdokument eller formatval.

  • Tangentbordsgenväg: För Formatera dokument, tryck på Shift+Alt+F på Windows och Linux, eller Shift-alternativ++F på macOS. För formatval, tryck Ctrl+K, Ctrl+F på Windows och Linux, eller Cmd+K, Cmd+F på macOS.

Format vid sparande

I Visual Studio Code styr standardeditorinställningen formatet vid sparning, istället för en dedikerad MSSQL-formateringsinställning.

Använd följande inställningar i din Visual Studio Code-fil settings.json för att automatiskt formatera T-SQL varje gång du sparar en fil:

{
  "[sql]": {
    "editor.formatOnSave": true
  }
}

Konfigurera formateringsalternativ

Konfigurera formatering i Visual Studio Code Settings UI eller i användar- eller arbetsytansettings.json.

I inställningseditorn, sök efter Mssql>Format för att se de tillgängliga alternativen. I settings.json, använd motsvarande mssql.format.* inställningar.

  • Förhandsgranskningsformatören är aktiverad som standard. Dess alternativ använder mssql.format.options.* namnrymden.

  • De fem befintliga formateringsinställningarna är fortfarande tillgängliga när förhandsgranskningsformatören är aktiverad. Förhandsgranskningsformateraren lägger till inställningarna mssql.format.options.*.

Skärmdump av SQL-formatinställningarna i Visual Studio Code Settings editor.

Inställningar som stöds

Tabellerna listar befintliga formateringsinställningar följt av förhandsgranskningsinställningar.

Befintliga formatter-inställningar

Inställning Type Standardinställning Description
mssql.format.alignColumnDefinitionsInColumns bool false Justera kolumndefinitionerna i kolumnerna.
mssql.format.datatypeCasing enum none Formatera datatyper som uppercase, lowercase, eller none (ej formaterade).
mssql.format.keywordCasing enum none Formatera nyckelord som uppercase, lowercase, eller none (inte formaterade).
mssql.format.placeCommasBeforeNextStatement bool false Placera kommatecken i början av varje objekt i en lista, till exempel , mycolumn2, istället för i slutet, till exempel mycolumn1,.
mssql.format.placeSelectStatementReferencesOnNewLine bool false Placera referenser i ett SELECT uttalande på separata rader. För SELECT C1, C2 FROM T1, är både C1 och C2 på separata linjer.

Förhandsgranskning av formateringsinställningar

Dessa mssql.format.options.* inställningar läggs till de befintliga formateringsinställningarna när du aktiverar förhandsvisningsformatören.

Allmänt

Inställning Type Standardinställning Description
mssql.format.enablePreviewFormatter bool true Använd SQL-formatören (Förhandsvisning).
mssql.format.showParseErrorNotification bool true Visa en notis när formatteraren inte kan tolka T-SQL:en fullt ut.
mssql.format.options.sqlVersion enum sql170 T-SQL-versionen används för att tolka och generera formaterade skript.
mssql.format.options.sqlEngineType enum all Database Engine-typ som används för att tolka och generera formaterade skript. Giltiga värden är all, standalone och sqlAzure.

Justering

Inställning Type Standardinställning Description
mssql.format.options.alignClauseBodies bool true Justera brödtexten i FROM, WHERE, GROUP BY och liknande klausuler.
mssql.format.options.alignColumnDefinitionFields bool true Justera kolumndefinitionsfält, till exempel namn, typ och begränsningar.
mssql.format.options.alignSetClauseItem bool true Justera SET satselement i UPDATE satser.

Paths

Inställning Type Standardinställning Description
mssql.format.options.allowExternalLanguagePaths bool true Tillåt innehåll på externt språk att använda filvägar.
mssql.format.options.allowExternalLibraryPaths bool true Tillåt externt biblioteksinnehåll att använda filsökvägar.

Formatera

Inställning Type Standardinställning Description
mssql.format.options.asKeywordOnOwnLine bool true Placera AS på sin egen linje.
mssql.format.options.keywordCasing enum uppercase Nyckelordsformat. Giltiga värden är uppercase, lowercase och pascalCase.
mssql.format.options.preserveComments bool true Bevara kommentarer under formateringen.
mssql.format.options.numNewlinesAfterStatement int 1 Antal radbrytningar efter varje sats, från och med 05.

Indrag

Inställning Type Standardinställning Description
mssql.format.options.indentSetClause bool false Gör indrag på SET sats i UPDATE satser.
mssql.format.options.indentViewBody bool false Gör indrag i brödtexten VIEW.

Flera ledningar

Inställning Type Standardinställning Description
mssql.format.options.multilineInsertSourcesList bool true INSERT källor som flera rader.
mssql.format.options.multilineInsertTargetsList bool true INSERT kolumner som flera rader.
mssql.format.options.multilineSelectElementsList bool true SELECT kolumner som flera rader.
mssql.format.options.multilineSetClauseItems bool true SET objekt som flera rader.
mssql.format.options.multilineViewColumnsList bool true VIEW kolumner som flera rader.
mssql.format.options.multilineWherePredicatesList bool true WHERE predikat som flera ledningar.

Ny rad

Inställning Type Standardinställning Description
mssql.format.options.newLineBeforeCloseParenthesisInMultilineList bool true Ny rad innan parentes stängs i flerradslistan.
mssql.format.options.newLineBeforeFromClause bool true Ny rad före FROM klausulen.
mssql.format.options.newLineBeforeGroupByClause bool true Ny rad före GROUP BY klausulen.
mssql.format.options.newLineBeforeHavingClause bool true Ny rad före HAVING klausulen.
mssql.format.options.newLineBeforeJoinClause bool true Ny rad före JOIN klausulen.
mssql.format.options.newLineBeforeOffsetClause bool true Ny rad före OFFSET klausulen.
mssql.format.options.newLineBeforeOpenParenthesisInMultilineList bool false Ny rad före öppna parentes i flerradslistan.
mssql.format.options.newLineBeforeOrderByClause bool true Ny rad före ORDER BY klausulen.
mssql.format.options.newLineBeforeOutputClause bool true Ny rad före OUTPUT klausulen.
mssql.format.options.newLineBeforeWhereClause bool true Ny rad före WHERE klausulen.
mssql.format.options.newLineBeforeWindowClause bool true Ny rad före WINDOW klausulen.
mssql.format.options.newlineFormattedCheckConstraint bool false Begränsning med nyradsformat CHECK .
mssql.format.options.newLineFormattedIndexDefinition bool false Definition av indexet med bildlinjeformat.

Spacing

Inställning Type Standardinställning Description
mssql.format.options.spaceBetweenDataTypeAndParameters bool true Utrymme mellan datatyp och parenteser, till exempel VARCHAR (255).
mssql.format.options.spaceBetweenParametersInDataType bool true Utrymme mellan parametrar i datatyper.

Exempelinställningsfil

{
  "mssql.format.options.keywordCasing": "lowercase",
  "mssql.format.options.alignClauseBodies": false,
  "mssql.format.options.numNewlinesAfterStatement": 2,
  "[sql]": {
    "editor.formatOnSave": true
  }
}

Ställ in standardformateraren

För att sätta MSSQL-tillägget som standard, välj Konfigurera standardformat...>SQL Server (mssql), eller lägg till följande konfiguration till settings.json:

{
  "[sql]": {
    "editor.defaultFormatter": "ms-mssql.mssql"
  }
}