Ваш стиль.
В каждом запросе.
Как настроить форматирование, установить надстройку и использовать её в SQL Server Management Studio.
Установка для 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: меню, окно правил, предпросмотр, табы, форматирование документа и отмена одним действием.
- Подготовьте SSMS 20
Один раз запустите установленную SSMS 20 под своей учётной записью, затем закройте только свои окна этой версии. Окна других пользователей сервера можно оставить открытыми.
- Распакуйте ZIP целиком
Сохраните вместе install.ps1, README.txt и папку extension. Откройте PowerShell в распакованной папке под той же учётной записью, без запуска от имени другого администратора.
- Выполните установкуPowerShell
powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\install.ps1Файлы размещаются только в вашем LOCALAPPDATA. Папка форматера добавляется в пользовательский список поиска расширений (HKCU). Права администратора не нужны; общая установка и процессы других пользователей не меняются.
- Перезапустите только свои окна SSMS 20
Окна других пользователей сервера закрывать не нужно. При обновлении сначала закройте свои окна, чтобы освободить DLL. Если после обновления или восстановления самой SSMS меню исчезнет, повторите установку: оболочка может пересоздать пользовательский список поиска расширений.
После загрузки надстройки: Сервис → SQL Formatter. Для обновления скачайте свежий ZIP, закройте свои окна SSMS 20 и повторите те же шаги.
Удаление для SSMS 20
Закройте только свои окна SSMS 20 и выполните из распакованной папки:
powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\install.ps1 -UninstallВыделите. Нажмите. Готово.
Откройте SQL-запрос и выберите Сервис → SQL Formatter → Форматировать SQL. Команда также доступна в контекстном меню редактора.
В пункте Настройки форматирования… можно изменить правила и сразу увидеть результат на редактируемом примере. Кнопка «Сохранить» применяет правила к следующим вызовам форматирования. Изменение в редакторе отменяется через Ctrl + Z.
Настройки без лишнего
- Ключевые слова
- Верхний, нижний или исходный регистр.
- Отступы
- От 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'Нет данных';
ENDSQL остаётся у вас
Форматтер обрабатывает текст на компьютере, не отправляет запросы на сервер и не выполняет SQL. Перед заменой он сравнивает токены исходного и полученного текста: строки, имена объектов и комментарии должны сохраниться.
Для выделенного фрагмента проверяется и весь документ, чтобы изменение пробелов на границах не склеило соседние токены. Если проверка обнаружит изменение, замена отменяется.
Настройки сохраняются в %LOCALAPPDATA%\SsmsSqlFormatter\settings.json.
Что учитывать
- Форматтер не исправляет синтаксические ошибки. Для структурных отступов нужен синтаксически корректный фрагмент; неполные фрагменты получают только лексическое форматирование.
- SQLCMD-команды :r, :setvar и !!, а также прямоугольное выделение пока не поддерживаются.
- Выравнивания алиасов и профилей стилей пока нет. В сложных конструкциях оформление может потребовать доработки.
- Проверка токенов не является доказательством семантической эквивалентности произвольного T-SQL. Начальные и конечные пустые строки документа нормализуются.
Условия использования
Программа предоставляется «как есть», без каких-либо гарантий, включая гарантии работоспособности, отсутствия ошибок и пригодности для определённой цели. Вы используете программу на свой риск.
В пределах, допускаемых применимым законодательством, автор не несёт ответственности за убытки, потерю или повреждение данных, сбои, простой и любые другие последствия использования или невозможности использования программы.
Перед применением проверяйте результат форматирования и сохраняйте резервные копии важных SQL-скриптов.
Версия 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