A Transact-SQL formázása a Visual Studio Code-hoz készült MSSQL-bővítményben

A következetes formázás megkönnyíti a Transact-SQL (T-SQL) olvasását, áttekintését és karbantartását, különösen akkor, ha több személy is hozzájárul ugyanahhoz a kódbázishoz. Az MSSQL kiterjesztés a Visual Studio Code-hoz beépített SQL formatter (Preview) rendszert tartalmaz, amit igény szerint futtathatsz, automatikus formázást konfigurálhatsz mentéskor, és testreszabhatod a Visual Studio Code beállításaival.

Az MSSQL kiterjesztés T-SQL formázási funkciója a ScriptDOM-on épül, amely egy nyílt forráskódú .NET könyvtár, amely a T-SQL-t elemzi és absztrakt szintaxisfák alapján generál szkripteket.

Igény szerinti formázás

A T-SQL-t bármelyik szerkesztőablakban formázhatod. A formáló az egész dokumentumon dolgozik, vagy csak a kiválasztott szövegen.

A T-SQL igény szerinti formázásához az alábbi módszerek egyikét használja:

  • Kontextusmenü: Jobb kattintással egy T-SQL szerkesztőablakban, és válaszd a Dokumentum Formatálását vagy a Formátumválasztást.

  • Parancspalette: Indítsd el a dokumentum formátumát vagy a formátumválasztást.

  • Billentyűs billentyű:A Dokumentum Formatálásához nyomja meg a Shift+Alt F+ gombot Windows és Linuxon vagy Shift+Option+F gombot macOS-en. Formátumválasztáshoz nyomja meg a Ctrl+K, Ctrl+F gombot Windows és Linuxon, vagy Cmd+K, Cmd+F gombokat macOS-en.

Formázás mentéskor

A Visual Studio Code-ban a szabványos szerkesztő beállítás a mentéskor irányítja a formátumot, nem pedig dedikált MSSQL formáló beállítást.

Használja a Visual Studio Code settings.json fájlban az alábbi beállításokat, hogy automatikusan formázza a T-SQL-t, amikor fájlt mentesz:

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

Formázási beállítások konfigurálása

Konfigurálja a formázást a Visual Studio Code beállítások felületén vagy a felhasználói vagy munkaterületensettings.json.

A Beállítások szerkesztőben keresse meg az Mssql>Formátumot , hogy megtekintse az elérhető opciókat. A settings.json területen használja a megfelelő mssql.format.* beállításokat.

  • Az előnézetformázó alapértelmezetten engedélyezve van. Az opciók a mssql.format.options.* névteret használják.

  • Az öt meglévő formáló beállítás elérhető marad, ha az előnézeti formáló engedélyezve van. Az előnézeti formáló hozzáadja a mssql.format.options.* beállításokat.

Képernyőkép az SQL formatter beállításairól a Visual Studio Code Settings szerkesztőben.

Támogatott beállítások

A táblázatok először a meglévő formázó beállításait, majd az előnézeti formázó beállításait sorolják fel.

Meglévő formázóbeállítások

Setting Típus Alapértelmezett Description
mssql.format.alignColumnDefinitionsInColumns bool false Igazítsuk az oszlopdefiníciókat oszlopokban.
mssql.format.datatypeCasing felsorolás none Adattípusokat formázzunk , uppercaselowercase, vagy none (nem formázva).
mssql.format.keywordCasing felsorolás none A kulcsszavakat uppercase, lowercase vagy none formátumban add meg (utóbbi nincs formázva).
mssql.format.placeCommasBeforeNextStatement bool false Helyezzetek vesszőt a lista minden egyes elemének elejére, például , mycolumn2, helyett a végére, például mycolumn1,.
mssql.format.placeSelectStatementReferencesOnNewLine bool false A hivatkozásokat külön sorokra helyezze el az SELECT állításban. A SELECT C1, C2 FROM T1esetében a C1 és a C2 is külön sorban szerepelnek.

A formázó beállításainak előnézete

Ezek a mssql.format.options.* beállítások a meglévő formázóbeállításokon felül érvényesülnek, amikor bekapcsolod az előnézeti formázót.

General

Setting Típus Alapértelmezett Description
mssql.format.enablePreviewFormatter bool true Használd az SQL formatter (Preview) rendszert.
mssql.format.showParseErrorNotification bool true Jelenítsen meg értesítést, ha a formázó nem tudja teljes egészében feldolgozni a T-SQL-t.
mssql.format.options.sqlVersion felsorolás sql170 T-SQL verzió a formázott szkriptek elemzésére és generálására szolgál.
mssql.format.options.sqlEngineType felsorolás all Database Engine típus, amelyet a formázott szkriptek elemzésére és generálására használnak. Az érvényes értékek a következők: all, standaloneés sqlAzure.

Igazítás

Setting Típus Alapértelmezett Description
mssql.format.options.alignClauseBodies bool true A FROM, WHERE, GROUP BY és hasonló záradékok törzsének igazítása.
mssql.format.options.alignColumnDefinitionFields bool true Igazítsa az oszlopdefiníciós mezőket, például a nevet, típust és korlátozásokat.
mssql.format.options.alignSetClauseItem bool true Igazítsa SET a záradékelemeket a UPDATE utasításokban.

Paths

Setting Típus Alapértelmezett Description
mssql.format.options.allowExternalLanguagePaths bool true Engedélyezzük, hogy külső nyelvi tartalom fájlútvonalakat használja.
mssql.format.options.allowExternalLibraryPaths bool true Engedélyezzük a külső könyvtári tartalom fájlútvonalak használatát.

Formatting

Setting Típus Alapértelmezett Description
mssql.format.options.asKeywordOnOwnLine bool true Helyezze a(z) AS elemet külön sorba.
mssql.format.options.keywordCasing felsorolás uppercase Kulcsszavak kis- és nagybetűs írásmódja. Az érvényes értékek a következők: uppercase, lowercaseés pascalCase.
mssql.format.options.preserveComments bool true A formázás során megőrizze a megjegyzéseket.
mssql.format.options.numNewlinesAfterStatement int 1 Az egyes állítások után beszúrt sortörések száma, a 0 és 5 között.

Behúzás

Setting Típus Alapértelmezett Description
mssql.format.options.indentSetClause bool false A(z) SET utasításokban húzza be a(z) UPDATE klauzulát.
mssql.format.options.indentViewBody bool false A VIEW szövegtörzs behúzása.

Többsoros

Setting Típus Alapértelmezett Description
mssql.format.options.multilineInsertSourcesList bool true INSERT források többsorosként.
mssql.format.options.multilineInsertTargetsList bool true INSERT oszlopok többsorosként.
mssql.format.options.multilineSelectElementsList bool true SELECT oszlopok többsorosként.
mssql.format.options.multilineSetClauseItems bool true SET elemeket többsorosként.
mssql.format.options.multilineViewColumnsList bool true VIEW oszlopok többsorosként.
mssql.format.options.multilineWherePredicatesList bool true WHERE predikátumok többsorosak.

Új sor

Setting Típus Alapértelmezett Description
mssql.format.options.newLineBeforeCloseParenthesisInMultilineList bool true Új sor zárójel előtt a többsoros listában.
mssql.format.options.newLineBeforeFromClause bool true Új sor a FROM záradék előtt.
mssql.format.options.newLineBeforeGroupByClause bool true Új sor a GROUP BY záradék előtt.
mssql.format.options.newLineBeforeHavingClause bool true Új sor a HAVING záradék előtt.
mssql.format.options.newLineBeforeJoinClause bool true Új sor a JOIN záradék előtt.
mssql.format.options.newLineBeforeOffsetClause bool true Új sor a OFFSET záradék előtt.
mssql.format.options.newLineBeforeOpenParenthesisInMultilineList bool false Új sor a nyitott zárójel előtt a többsoros listában.
mssql.format.options.newLineBeforeOrderByClause bool true Új sor a ORDER BY záradék előtt.
mssql.format.options.newLineBeforeOutputClause bool true Új sor a OUTPUT záradék előtt.
mssql.format.options.newLineBeforeWhereClause bool true Új sor a WHERE záradék előtt.
mssql.format.options.newLineBeforeWindowClause bool true Új sor a WINDOW záradék előtt.
mssql.format.options.newlineFormattedCheckConstraint bool false Új vonal formátumú CHECK korlátozás.
mssql.format.options.newLineFormattedIndexDefinition bool false Új vonal formátumú indexdefiníció.

Spacing

Setting Típus Alapértelmezett Description
mssql.format.options.spaceBetweenDataTypeAndParameters bool true Adattípus és zárójelek közötti tér, például VARCHAR (255).
mssql.format.options.spaceBetweenParametersInDataType bool true Adattípusok paraméterei közötti tér.

Példa beállítási fájl

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

Állítsd be az alapértelmezett formálót

Az MSSQL kiterjesztés alapértelmezett beállításához válassza az Alapértelmezett formázó konfigurálása...>SQL Server (mssql), vagy hozzáadhatja a következő konfigurációt a settings.json:

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