Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Согласованное форматирование упрощает Transact-SQL (T-SQL) для чтения, проверки и обслуживания, особенно если несколько пользователей участвуют в одной базе кода. Расширение MSSQL для Visual Studio Code включает встроенный форматировщик SQL, который можно запускать по запросу, настраивать автоматическое форматирование при сохранении и настраивать через настройки Visual Studio Code.
Функциональность форматирования T-SQL в расширении MSSQL основана на ScriptDOM — открытой .NET-библиотеке, которая анализирует T-SQL и генерирует скрипты на основе абстрактных синтаксических деревьев.
Формат по запросу
Вы можете отформатировать T-SQL в любом окне редактора. Форматировщик работает со всем документом или только с выбранным текстом.
Для форматирования T-SQL по требованию используйте один из следующих методов:
Контекстное меню: Кликните правой кнопкой мыши в окне редактора T-SQL и выберите Формат документа или Выбор формата.
Палитра команд: запустить формат документа или выбор формата.
Клавиша клавиатуры: для форматирования документа нажмите Shift+Alt+F на Windows и Linux или Shift+Option+F на macOS. Для выбора формата нажмите Ctrl+K, Ctrl+F на Windows и Linux или Cmd+K, Cmd+F на macOS.
Форматирование при сохранении
В Visual Studio Code стандартная настройка редактора управляет форматом при сохранении, а не отдельная настройка форматировщика MSSQL.
Используйте следующие настройки в файле settings.json Visual Studio Code, чтобы автоматически форматировать код T-SQL при каждом сохранении файла:
{
"[sql]": {
"editor.formatOnSave": true
}
}
Настройка параметров форматирования
Настройте форматирование в интерфейсе Visual Studio Code Settings или в пользовательском или рабочем пространствеsettings.json.
В редакторе настроек выполните поиск Mssql>Format , чтобы увидеть доступные варианты. В settings.json используйте соответствующие настройки mssql.format.*.
Поддерживаемые параметры
Следующие настройки задают параметры форматирования SQL.
General
| Setting | Тип | По умолчанию | Description |
|---|---|---|---|
mssql.format.showParseErrorNotification |
bool | true |
Показывайте уведомление, когда форматор не может полностью разобрать T-SQL. |
mssql.format.options.sqlVersion |
enum | sql170 |
Версия T-SQL использовалась для разбора и генерации отформатированных скриптов. |
mssql.format.options.sqlEngineType |
enum | all |
Тип ядра базы данных, используемый для разбора и генерации форматированных скриптов. Допустимые значения: all, standalone и sqlAzure. |
Выравнивание
| Setting | Тип | По умолчанию | Description |
|---|---|---|---|
mssql.format.options.alignClauseBodies |
bool | true |
Выровняйте тела FROM, WHERE, GROUP BY и аналогичных конструкций. |
mssql.format.options.alignColumnDefinitionFields |
bool | true |
Выровняйте поля определения столбцов, такие как имена, типы данных и ограничения. |
mssql.format.options.alignSetClauseItem |
bool | true |
Выравнивание SET элементов предложения в UPDATE инструкциях. |
mssql.format.options.clauseBodyAlignment |
enum | aligned |
Оставьте тела условий aligned вместе с соответствующими ключевыми словами или разместите их на следующей строке в виде indented. |
Корпус и идентификаторы
| Setting | Тип | По умолчанию | Description |
|---|---|---|---|
mssql.format.options.builtInFunctionCasing |
enum | preserve |
Стиль написания поддерживаемых имён встроенных функций, таких как GETDATE и COALESCE. Допустимые значения — preserve, uppercase, lowercase и pascalCase. |
mssql.format.options.identifierBracketing |
enum | preserve |
Сохраняйте, добавляйте или убирайте дополнительные квадратные скобки вокруг идентификаторов. Допустимые значения: preserve, includeBrackets и excludeBrackets. Обязательные скобки сохраняются. |
mssql.format.options.identifierCasing |
enum | preserve |
Стиль корпуса для идентификаторов объектов. Допустимые значения — preserve, uppercase, lowercase и pascalCase. |
mssql.format.options.keywordCasing |
enum | uppercase |
Стиль регистра ключевых слов. Допустимые значения: uppercase, lowercase и pascalCase. |
Paths
| Setting | Тип | По умолчанию | Description |
|---|---|---|---|
mssql.format.options.allowExternalLanguagePaths |
bool | true |
Разрешить внешнему языковому контенту использовать пути к файлам. |
mssql.format.options.allowExternalLibraryPaths |
bool | true |
Разрешить внешнему контенту библиотеки использовать пути к файлам. |
Formatting
| Setting | Тип | По умолчанию | Description |
|---|---|---|---|
mssql.format.options.asKeywordOnOwnLine |
bool | true |
Поместите AS на отдельной строке. |
mssql.format.options.columnAliasStyle |
enum | asKeyword |
Форматировать псевдонимы столбцов с использованием AS, знака равенства или их исходного синтаксиса. Допустимые значения: asKeyword, equalsSign и preserve. |
mssql.format.options.commaPlacement |
enum | trailing |
Поставьте запятые в конце пунктов списка (trailing) или в начале следующего пункта (leading). |
mssql.format.options.leadingCommaSpaceCount |
integer | 1 |
Количество пробелов после ведущей запятой. Допустимые значения — 0 и 1. |
mssql.format.options.persistTrailingGo |
bool | false |
Сохраните концевые разделители пакетов GO из исходного скрипта. |
mssql.format.options.preserveComments |
bool | true |
Сохранение комментариев во время форматирования. |
mssql.format.options.terminateBlockStatements |
bool | false |
Добавьте точки с запятой после блоков BEGIN...END и TRY...CATCH. |
Отступы
| Setting | Тип | По умолчанию | Description |
|---|---|---|---|
mssql.format.options.indentSetClause |
bool | false |
Делайте отступ для предложений SET в инструкциях UPDATE. |
mssql.format.options.indentViewBody |
bool | false |
Вмятиные VIEW тела. |
Многострочный
| Setting | Тип | По умолчанию | Description |
|---|---|---|---|
mssql.format.options.multilineGroupByElementsList |
bool | false |
Форматируйте GROUP BY элементы в многострочный список. |
mssql.format.options.multilineHavingPredicatesList |
bool | true |
Форматируйте HAVING предикаты, разделённые AND или OR, в несколько строк. |
mssql.format.options.multilineInsertSourcesList |
bool | true |
Форматируйте INSERT источники в виде многостроковых списков. |
mssql.format.options.multilineInsertTargetsList |
bool | true |
Форматируйте INSERT столбцы в виде многостроковых списков. |
mssql.format.options.multilineInValuesList |
bool | false |
Форматируйте значения в IN предикате как многострочный список. |
mssql.format.options.multilineNestedFunctionCalls |
bool | false |
Форматировать вложенные вызовы функций на отдельных отступных строках, сохраняя изолированные вызовы функций на одной строке. |
mssql.format.options.multilineOrderByElementsList |
bool | false |
Форматируйте ORDER BY элементы в многострочный список. |
mssql.format.options.multilinePartitionByElementsList |
bool | false |
Форматируйте PARTITION BY элементы в спецификациях окна как многострочный список. |
mssql.format.options.multilineProcedureParametersList |
bool | false |
Форматируйте параметры процедуры и функции на отдельных строках. |
mssql.format.options.multilineSelectElementsList |
bool | true |
Форматируйте SELECT столбцы в виде многостроковых списков. |
mssql.format.options.multilineSetClauseItems |
bool | true |
Форматируйте SET элементы клаузы как многострочные списки. |
mssql.format.options.multilineViewColumnsList |
bool | true |
Форматируйте VIEW столбцы в виде многостроковых списков. |
mssql.format.options.multilineWherePredicatesList |
bool | true |
Форматируйте WHERE предикаты как многострочные списки. |
mssql.format.options.multilineWithOptionsList |
bool | false |
Форматируйте поддерживаемые значения WITH и OPTION условий на отдельных строках. |
Новая строка
| Setting | Тип | По умолчанию | Description |
|---|---|---|---|
mssql.format.options.newLineAfterJoinKeyword |
bool | true |
Поместите исходник из объединённой таблицы на новую строку после JOIN ключевого слова. |
mssql.format.options.newLineBeforeCloseParenthesisInMultilineList |
bool | true |
Поставьте новую строку перед закрывающей скобкой многострочного списка. |
mssql.format.options.newLineBeforeFromClause |
bool | true |
Поставьте новую строку перед этим FROM пунктом. |
mssql.format.options.newLineBeforeGroupByClause |
bool | true |
Поставьте новую строку перед этим GROUP BY пунктом. |
mssql.format.options.newLineBeforeHavingClause |
bool | true |
Поставьте новую строку перед этим HAVING пунктом. |
mssql.format.options.newLineBeforeJoinClause |
bool | true |
Поставьте новую строку перед JOIN пунктами. |
mssql.format.options.newLineBeforeOffsetClause |
bool | true |
Поставьте новую строку перед этим OFFSET пунктом. |
mssql.format.options.newLineBeforeOnClause |
bool | true |
Разместите ON пункт соединения на новой линии. |
mssql.format.options.newLineBeforeOpenParenthesisInMultilineList |
bool | false |
Поставьте новую строку перед начальной скобкой многострочного списка. |
mssql.format.options.newLineBeforeOrderByClause |
bool | true |
Поставьте новую строку перед этим ORDER BY пунктом. |
mssql.format.options.newLineBeforeOutputClause |
bool | true |
Поставьте новую строку перед этим OUTPUT пунктом. |
mssql.format.options.newLineBeforeWhereClause |
bool | true |
Поставьте новую строку перед этим WHERE пунктом. |
mssql.format.options.newLineBeforeWindowClause |
bool | true |
Поставьте новую строку перед этим WINDOW пунктом. |
mssql.format.options.newlineFormattedCheckConstraint |
bool | false |
Поместить CHECK клаузу ограничения на отдельную строку. |
mssql.format.options.newLineFormattedIndexDefinition |
bool | false |
Разместите части UNIQUE, INCLUDE и WHERE встроенных определений индексов на отдельных строках. |
Интервалы между инструкциями и пакетами
| Setting | Тип | По умолчанию | Description |
|---|---|---|---|
mssql.format.options.numNewlinesAfterBatches |
integer | 1 |
Количество разрывов строк после каждого разделителя пакетов GO, от 0 до 5. |
mssql.format.options.numNewlinesAfterBatchStatement |
integer | 2 |
Количество разрывов строк после каждой инструкции верхнего уровня в пакете, от 0 до 5. |
mssql.format.options.numNewlinesAfterStatement |
integer | 1 |
Количество разрывов строк после каждого утверждения, от 0 до 5. |
Spacing
| Setting | Тип | По умолчанию | Description |
|---|---|---|---|
mssql.format.options.spaceBetweenDataTypeAndParameters |
bool | true |
Вставьте пробел между типом данных и его стобинками, например VARCHAR (255). |
mssql.format.options.spaceBetweenParametersInDataType |
bool | true |
Вставьте пробелы между параметрами в типе данных, например DECIMAL (10, 2). |
Пример файлов настроек
{
"mssql.format.options.keywordCasing": "lowercase",
"mssql.format.options.alignClauseBodies": false,
"mssql.format.options.numNewlinesAfterStatement": 2,
"[sql]": {
"editor.formatOnSave": true
}
}
Установите средство форматирования по умолчанию
Чтобы установить расширение MSSQL по умолчанию, выберите Configure Default Formatter...>SQL Server (mssql) или добавить следующую конфигурацию вsettings.json:
{
"[sql]": {
"editor.defaultFormatter": "ms-mssql.mssql"
}
}