SQL Formatter.
← На главную
SQL FORMATTER / V0.1.3

Ваш стиль.
В каждом запросе.

Как настроить форматирование, установить надстройку и использовать её в SQL Server Management Studio.

01 / НАЧАЛО РАБОТЫ

Установка для SSMS 20 и 22

Windows и .NET Framework 4.8. Выберите пакет под свою версию редактора.

SSMS 22 — VSIX

Проверенная сборка 0.1.3 для Windows x64. Установка для всех пользователей в каталог SSMS требует прав администратора и закрытия окон SSMS 22.

Скачать для SSMS 22 ↓

SSMS 20 — ZIP для текущего пользователя

Сборка для 32-разрядной оболочки SSMS 20. Проверена в SSMS 20.2.37: меню, окно правил, предпросмотр, табы, форматирование документа и отмена одним действием.

  1. Подготовьте SSMS 20

    Один раз запустите установленную SSMS 20 под своей учётной записью, затем закройте только свои окна этой версии. Окна других пользователей сервера можно оставить открытыми.

  2. Распакуйте ZIP целиком

    Сохраните вместе install.ps1, README.txt и папку extension. Откройте PowerShell в распакованной папке под той же учётной записью, без запуска от имени другого администратора.

  3. Выполните установку
    PowerShell
    powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\install.ps1

    Файлы размещаются только в вашем LOCALAPPDATA. Папка форматера добавляется в пользовательский список поиска расширений (HKCU). Права администратора не нужны; общая установка и процессы других пользователей не меняются.

  4. Перезапустите только свои окна SSMS 20

    Окна других пользователей сервера закрывать не нужно. При обновлении сначала закройте свои окна, чтобы освободить DLL. Если после обновления или восстановления самой SSMS меню исчезнет, повторите установку: оболочка может пересоздать пользовательский список поиска расширений.

Скачать для SSMS 20 ↓

После загрузки надстройки: Сервис → SQL Formatter. Для обновления скачайте свежий ZIP, закройте свои окна SSMS 20 и повторите те же шаги.

Удаление для SSMS 20

Закройте только свои окна SSMS 20 и выполните из распакованной папки:

PowerShell
powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\install.ps1 -Uninstall
02 / В РЕДАКТОРЕ

Выделите. Нажмите. Готово.

Откройте SQL-запрос и выберите Сервис → SQL Formatter → Форматировать SQL. Команда также доступна в контекстном меню редактора.

Есть выделение? Форматируется только оно. Без выделения — весь активный SQL-документ.

В пункте Настройки форматирования… можно изменить правила и сразу увидеть результат на редактируемом примере. Кнопка «Сохранить» применяет правила к следующим вызовам форматирования. Изменение в редакторе отменяется через Ctrl + Z.

03 / НАСТРАИВАЕМЫЕ ПРАВИЛА

Настройки без лишнего

Ключевые слова
Верхний, нижний или исходный регистр.
Отступы
От 1 до 8 пробелов или один таб на уровень. Визуальная ширина таба задаётся в редакторе SSMS.
Секции запроса
Переносы перед SELECT, FROM, WHERE, JOIN и другими секциями.
Столбцы и списки
Каждый элемент SELECT, GROUP BY и ORDER BY с новой строки. Запятые в начале или конце строки.
Условия
Переносы AND / OR. Связка AND внутри BETWEEN остаётся частью выражения.
Разделители GO
Пустые строки вокруг разделителя пакетов. Счётчик повторений GO сохраняется.

Вложенность видна сразу

Тела IF / ELSE, блоки BEGIN / END, ветки CASE и результаты THEN / ELSE получают отступы автоматически. Цепочки ELSE IF выравниваются; действительно вложенные IF сохраняют дополнительный уровень.

IF @Status = 1
BEGIN
    PRINT N'Активен';
END
ELSE IF @Status = 2
    PRINT N'Ожидание';
ELSE
BEGIN
    PRINT N'Нет данных';
END
04 / ЛОКАЛЬНАЯ РАБОТА

SQL остаётся у вас

Форматтер обрабатывает текст на компьютере, не отправляет запросы на сервер и не выполняет SQL. Перед заменой он сравнивает токены исходного и полученного текста: строки, имена объектов и комментарии должны сохраниться.

Для выделенного фрагмента проверяется и весь документ, чтобы изменение пробелов на границах не склеило соседние токены. Если проверка обнаружит изменение, замена отменяется.

Настройки сохраняются в %LOCALAPPDATA%\SsmsSqlFormatter\settings.json.

05 / ПЕРЕД ИСПОЛЬЗОВАНИЕМ

Что учитывать

  • Форматтер не исправляет синтаксические ошибки. Для структурных отступов нужен синтаксически корректный фрагмент; неполные фрагменты получают только лексическое форматирование.
  • SQLCMD-команды :r, :setvar и !!, а также прямоугольное выделение пока не поддерживаются.
  • Выравнивания алиасов и профилей стилей пока нет. В сложных конструкциях оформление может потребовать доработки.
  • Проверка токенов не является доказательством семантической эквивалентности произвольного T-SQL. Начальные и конечные пустые строки документа нормализуются.

Условия использования

Программа предоставляется «как есть», без каких-либо гарантий, включая гарантии работоспособности, отсутствия ошибок и пригодности для определённой цели. Вы используете программу на свой риск.

В пределах, допускаемых применимым законодательством, автор не несёт ответственности за убытки, потерю или повреждение данных, сбои, простой и любые другие последствия использования или невозможности использования программы.

Перед применением проверяйте результат форматирования и сохраняйте резервные копии важных SQL-скриптов.

06 / ПОСЛЕДНЕЕ ОБНОВЛЕНИЕ

Версия 0.1.3

Исправлен лишний отступ в цепочках ELSE IF: последняя ветка ELSE и закрывающий END теперь выравниваются с исходным IF.

В предыдущих версиях добавлены табы, структурные отступы IF / CASE / BEGIN и окно правил с предпросмотром. Для общего форматера версии 0.1.3 ранее выполнены 252 автоматические проверки. Сборка для SSMS 20 проверена отдельно в SSMS 20.2.37; форматер с её парсером также прошёл 252 проверки.

Скачать для SSMS 22 Скачать для SSMS 20

Программа предоставляется «как есть», без гарантий. Использование — на ваш риск. В пределах, допускаемых законом, автор не несёт ответственности за последствия использования. Условия использования →