Комбинация клавиш, которую вы ищете ( Ctrl+ K, Ctrl+ D), предназначена для «форматирования», но не настолько, как вы ожидаете. Это не префиксатор, он просто используется для вставки правильного промежутка и вкладок, как показано на рисунке. Tools > Options > Text Editor > Transact-SQL > General/Tabs
Поэтому, если вы выделите часть текста и нажмете комбинацию клавиш, он должен конвертировать вкладки в 4 пробела (если вы выбрали вставку пробелы), примените тип отступа, который вы указали и т. д.
Эта опция НЕ предназначена для того, чтобы сделать код более читабельным - это не та функциональность, которую Management Studio в настоящее время предлагает изначально. Хотя есть несколько сторонних опций - некоторые из них являются внешними по отношению к Management Studio, например:
Также есть надстройки для различных уровней помощи форматированию в редакторе:
Теперь причина, по которой вы получаете сообщение ...
Комбинация клавиш (Ctrl + K, Ctrl + D) привязана к команде (Формат документа), которая в данный момент недоступна.
... потому что SSMS сопоставил эту комбинацию клавиш с другим контекстом. Способ, которым вы должны быть в состоянии «исправить» это - опять же, он все равно не будет делать то, что вы хотите, даже если бы «исправление» сработало - это сделать следующее:
- Перейти к
Tools > Options > Environment > Keyboard
- Поместите курсор в
Press shortcut keys:
поле
- Хит Ctrl+ K, Ctrl+D
Изменить Shortcut currently used by:
раскрывающийся список с DataWarehouse Designer
наText Editor
Нажмите ОК
Теперь это должно отобразить комбинацию клавиш в текстовом редакторе, но Management Studio возвращает ее после нажатия OK (вы продолжите получать сообщение об ошибке. Поэтому, я думаю, проблема в том, что документация полагает, что эта функция существует, но Management Студия знает лучше и просто не предлагает ее (и Microsoft, скорее всего, будет списывать это как ошибку в документации и исправлять ее, а не как недостаток в инструменте). Может быть надежда на будущее, но пока Это известная и в значительной степени игнорируемая проблема . Вы заметите, что Formatting
вкладка, на которую ссылается документация , просто отсутствует (хотя она существует для XML, где комбинация клавиш работает). В документации, вероятно, должно быть указано:
Применяется для отступов и форматирование пространства для языка , указанного на Форматирование панели языка в текстовом редакторе разделе Параметры диалогового окна. Доступно только в текстовом редакторе и только для определенных языков .
Другой способ получить представление о типах параметров форматирования, которые изначально предлагает SSMS, - перейти Tools > Customize > Commands > Edit > Add Command... > Format
и посмотреть список возможных команд. Ничего из того, что указывает на знание языка, не знает, куда вставлять разрывы строк, добавлять дополнительные отступы, помогать с круглыми скобками и т. Д.
Если вы хотите, чтобы форматирование для конкретного языка сделало существующий код T-SQL более читабельным, вы не получите многого от SSMS, и вам придется искать другие варианты.
Available only in the text editor
- это способ автора статьи сказать «не редактор запросов» без явного вызова негатива