Formát Transact-SQL v rozšíření MSSQL pro Visual Studio Code

Konzistentní formátování usnadňuje čtení, kontrolu a údržbu Transact-SQL (T-SQL), zejména když více lidí přispívá ke stejnému základu kódu. Rozšíření MSSQL pro Visual Studio Code obsahuje vestavěný SQL formátovač, který můžete spustit na vyžádání, nastavit pro automatické formátování při ukládání a upravit pomocí nastavení Visual Studio Code.

Funkce formátování T-SQL v rozšíření MSSQL je postavena na ScriptDOM, open-source .NET knihovně, která parsuje T-SQL a generuje skripty na základě abstraktních syntaktických stromů.

Formát na vyžádání

T-SQL můžete naformátovat v jakémkoli okně editoru. Formátovač pracuje na celém dokumentu nebo jen na textu, který vyberete.

Pro formátování T-SQL na vyžádání použijte jednu z následujících metod:

  • Kontextové menu: Klikněte pravým tlačítkem v okně T-SQL editoru a vyberte Formát dokumentu nebo Výběr formátu.

  • Paleta příkazů: Spusťte Formátovat dokument nebo Formátovat výběr.

  • Klávesová zkratka: Pro formátování dokumentu stiskněte Shift+Alt+F na Windows a Linuxu, nebo Shift+Option+F na macOS. Pro výběr formátu stiskněte Ctrl+K, Ctrl+F na Windows a Linuxu, nebo Cmd+K, Cmd+F na macOS.

Formát při uložení

Ve Visual Studio Code standardní nastavení editoru ovládá formát při uložení, nikoli samostatné nastavení formátování MSSQL.

Použijte následující nastavení ve svém souboru Visual Studio Code settings.json pro automatické formátování T-SQL pokaždé, když ukládáte soubor:

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

Konfigurace možností formátování

Konfigurujte formátování v rozhraní nastavení Visual Studio Code nebo v uživatelském či pracovním prostorusettings.json.

V editoru Nastavení vyhledejte Mssql>Format a zobrazte dostupné možnosti. V settings.json použijte odpovídající nastavení mssql.format.*.

Podporovaná nastavení

Následující nastavení konfigurují SQL formátovač.

General

Setting Typ Výchozí Description
mssql.format.showParseErrorNotification bool true Zobrazit oznámení, když formátovač nedokáže plně rozložit T-SQL.
mssql.format.options.sqlVersion výčet sql170 Verze T-SQL používaná pro parsování a generování formátovaných skriptů.
mssql.format.options.sqlEngineType výčet all Database Engine typ používaný k parsování a generování formátovaných skriptů. Platné hodnoty jsou all, standalonea sqlAzure.

Zarovnání

Setting Typ Výchozí Description
mssql.format.options.alignClauseBodies bool true Zarovnejte těla FROM, WHERE, GROUP BY a podobných klauzulí.
mssql.format.options.alignColumnDefinitionFields bool true Zarovnejte pole definice sloupce, jako jsou názvy, datové typy a omezení.
mssql.format.options.alignSetClauseItem bool true Zarovnejte položky klauzule SET v příkazech UPDATE.
mssql.format.options.clauseBodyAlignment výčet aligned Těla vět s jejich klíčovými slovy zachovejte nebo aligned je umístěte na další řádek jako .indented

Pouzdro a identifikátory

Setting Typ Výchozí Description
mssql.format.options.builtInFunctionCasing výčet preserve Styl psaní velkých a malých písmen u názvů podporovaných předdefinovaných funkcí, jako jsou GETDATE a COALESCE. Platné hodnoty jsou preserve, uppercase, lowercase a pascalCase.
mssql.format.options.identifierBracketing výčet preserve Zachovat, přidat nebo odstranit volitelné hranaté závorky kolem identifikátorů. Platné hodnoty jsou preserve, includeBracketsa excludeBrackets. Povinné závorky zůstávají zachovány.
mssql.format.options.identifierCasing výčet preserve Způsob psaní identifikátorů objektů. Platné hodnoty jsou preserve, uppercase, lowercase a pascalCase.
mssql.format.options.keywordCasing výčet uppercase Styl zápisu klíčových slov Platné hodnoty jsou uppercase, lowercasea pascalCase.

Paths

Setting Typ Výchozí Description
mssql.format.options.allowExternalLanguagePaths bool true Povolte externímu jazykovému obsahu používat cesty k souborům.
mssql.format.options.allowExternalLibraryPaths bool true Povolte obsahu externích knihoven používat cesty k souborům.

Formatting

Setting Typ Výchozí Description
mssql.format.options.asKeywordOnOwnLine bool true Umístěte AS na samostatný řádek.
mssql.format.options.columnAliasStyle výčet asKeyword Formátujte aliasy sloupců pomocí AS, rovnáčky nebo jejich původní syntaxe. Platné hodnoty jsou asKeyword, equalsSigna preserve.
mssql.format.options.commaPlacement výčet trailing Na konec položek seznamu umístěte čárky (trailing) nebo na začátek další položky (leading).
mssql.format.options.leadingCommaSpaceCount integer 1 Počet mezer za úvodní čárkou. Platné hodnoty jsou 0 a 1.
mssql.format.options.persistTrailingGo bool false Zachovejte oddělovače sérií z GO původního skriptu.
mssql.format.options.preserveComments bool true Během formátování zachovávejte komentáře.
mssql.format.options.terminateBlockStatements bool false Přidejte za bloky BEGIN...END a TRY...CATCH ukončovací středníky.

Odsazení

Setting Typ Výchozí Description
mssql.format.options.indentSetClause bool false Odsaďte klauzule SET v příkazech UPDATE.
mssql.format.options.indentViewBody bool false Otisky VIEW těla.

Víceřádkové

Setting Typ Výchozí Description
mssql.format.options.multilineGroupByElementsList bool false Formátujte GROUP BY prvky jako víceřádkový seznam.
mssql.format.options.multilineHavingPredicatesList bool true Formátujte HAVING predikáty oddělené pomocí OR nebo AND na více řádcích.
mssql.format.options.multilineInsertSourcesList bool true Formátujte INSERT zdroje jako víceřádkové seznamy.
mssql.format.options.multilineInsertTargetsList bool true Formátujte INSERT sloupce jako víceřádkové seznamy.
mssql.format.options.multilineInValuesList bool false Formátujte hodnoty v predikátu IN jako víceřádkový seznam.
mssql.format.options.multilineNestedFunctionCalls bool false Formátujte vnořená volání funkcí na samostatných odsazených řádcích, přičemž izolovaná volání funkcí zůstávají na jednom řádku.
mssql.format.options.multilineOrderByElementsList bool false Formátujte ORDER BY prvky jako víceřádkový seznam.
mssql.format.options.multilinePartitionByElementsList bool false Formátujte PARTITION BY prvky ve specifikacích oken jako víceřádkový seznam.
mssql.format.options.multilineProcedureParametersList bool false Formátujte parametry procedur a funkcí na samostatné řádky.
mssql.format.options.multilineSelectElementsList bool true Formátujte SELECT sloupce jako víceřádkové seznamy.
mssql.format.options.multilineSetClauseItems bool true Formátujte SET položky klauzule jako víceřádkové seznamy.
mssql.format.options.multilineViewColumnsList bool true Formátujte VIEW sloupce jako víceřádkové seznamy.
mssql.format.options.multilineWherePredicatesList bool true Formátujte WHERE predikáty jako víceřádkové seznamy.
mssql.format.options.multilineWithOptionsList bool false Naformátujte podporované hodnoty WITH a hodnoty klauzule OPTION na samostatné řádky.

Nový řádek

Setting Typ Výchozí Description
mssql.format.options.newLineAfterJoinKeyword bool true Umístěte zdrojový soubor spojené tabulky na nový řádek po klíčovém slově JOIN .
mssql.format.options.newLineBeforeCloseParenthesisInMultilineList bool true Umístěte nový řádek před závěrečnou závorku víceřádkového seznamu.
mssql.format.options.newLineBeforeFromClause bool true Umístěte nový řádek před klauzuli FROM .
mssql.format.options.newLineBeforeGroupByClause bool true Umístěte nový řádek před klauzuli GROUP BY .
mssql.format.options.newLineBeforeHavingClause bool true Umístěte nový řádek před klauzuli HAVING .
mssql.format.options.newLineBeforeJoinClause bool true Umístěte nový řádek před JOIN věty.
mssql.format.options.newLineBeforeOffsetClause bool true Umístěte nový řádek před klauzuli OFFSET .
mssql.format.options.newLineBeforeOnClause bool true Umístěte klauzuli ON spoje na nový řádek.
mssql.format.options.newLineBeforeOpenParenthesisInMultilineList bool false Umístěte nový řádek před úvodní závorky víceřádkového seznamu.
mssql.format.options.newLineBeforeOrderByClause bool true Umístěte nový řádek před klauzuli ORDER BY .
mssql.format.options.newLineBeforeOutputClause bool true Umístěte nový řádek před klauzuli OUTPUT .
mssql.format.options.newLineBeforeWhereClause bool true Umístěte nový řádek před klauzuli WHERE .
mssql.format.options.newLineBeforeWindowClause bool true Umístěte nový řádek před klauzuli WINDOW .
mssql.format.options.newlineFormattedCheckConstraint bool false Umístěte klauzuli CHECK omezení na vlastní řádek.
mssql.format.options.newLineFormattedIndexDefinition bool false Umístěte UNIQUE, INCLUDE, a WHERE části definic indexu přímo na samostatné řádky.

Příkazy a mezery mezi dávkami

Setting Typ Výchozí Description
mssql.format.options.numNewlinesAfterBatches integer 1 Počet zlomů řádků po každém GO oddělovači dávky, od 0 přes 5.
mssql.format.options.numNewlinesAfterBatchStatement integer 2 Počet zalomení řádků po každém příkazu nejvyšší úrovně v dávce, od 0 po 5.
mssql.format.options.numNewlinesAfterStatement integer 1 Počet zalomení řádků po každém příkazu v rozsahu od 0 do 5.

Spacing

Setting Typ Výchozí Description
mssql.format.options.spaceBetweenDataTypeAndParameters bool true Vložte mezeru mezi datový typ a jeho závorky, například VARCHAR (255).
mssql.format.options.spaceBetweenParametersInDataType bool true Vložte mezery mezi parametry v datovém typu, například DECIMAL (10, 2).

Ukázkový soubor nastavení

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

Nastavte výchozí formátovač

Pro nastavení rozšíření MSSQL jako výchozí vyberte Configure Default Formatter...>SQL Server (mssql), nebo přidejte následující konfiguraci dosettings.json:

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