Согласно этому документу Microsoft:
http://msdn.microsoft.com/en-us/library/ms174205.aspx
Я должен иметь возможность использовать ctrl + K, а затем ctrl + D для форматирования моих документов SQL в SQL Server Management Studio 2012, но при использовании этого комбо я получаю сообщение об ошибке:
Комбинация клавиш (Ctrl + K, Ctrl + D) привязана к команде (Формат документа), которая в данный момент недоступна.
Я пытаюсь внести изменения в существующий документ SQL, который вообще не имеет форматирования, что делает его чрезвычайно трудным для чтения. Кто-нибудь знает, как сделать команду «Форматировать документ» доступной, чтобы я мог отформатировать этот код для меня?
sql-server
ssms
Аарон Бертран
источник
источник
Available only in the text editor
- это способ автора статьи сказать «не редактор запросов» без явного вызова негативаОтветы:
Комбинация клавиш, которую вы ищете ( Ctrl+ K, Ctrl+ D), предназначена для «форматирования», но не настолько, как вы ожидаете. Это не префиксатор, он просто используется для вставки правильного промежутка и вкладок, как показано на рисунке.
Tools > Options > Text Editor > Transact-SQL > General/Tabs
Поэтому, если вы выделите часть текста и нажмете комбинацию клавиш, он должен конвертировать вкладки в 4 пробела (если вы выбрали вставку пробелы), примените тип отступа, который вы указали и т. д.Эта опция НЕ предназначена для того, чтобы сделать код более читабельным - это не та функциональность, которую Management Studio в настоящее время предлагает изначально. Хотя есть несколько сторонних опций - некоторые из них являются внешними по отношению к Management Studio, например:
Также есть надстройки для различных уровней помощи форматированию в редакторе:
Теперь причина, по которой вы получаете сообщение ...
... потому что SSMS сопоставил эту комбинацию клавиш с другим контекстом. Способ, которым вы должны быть в состоянии «исправить» это - опять же, он все равно не будет делать то, что вы хотите, даже если бы «исправление» сработало - это сделать следующее:
Tools > Options > Environment > Keyboard
Press shortcut keys:
полеИзменить
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, и вам придется искать другие варианты.
источник
Ctrl+K, Ctrl+D
сначала к использованиюRemove
кнопки, а затем следовали четырехэтапной программе Аарона для привязки клавиатуры, как определено выше (Tools > Options > Environment > Keyboard
). Вот скриншот того, какOptions
выглядит мое диалоговое окно, когда все настроено: pasteboard.co/GDYkh3h.jpg .Я не верю, что это возможно в SSMS. Для этой функции был открыт элемент подключения.
Что мне лично нравится использовать для плохо отформатированного кода SQL, так это веб-приложение на языке Poor SQL . Это действительно хорошая работа по форматированию кода SQL в соответствии с вашими требованиями. Даже генерирует HTML, если вы этого хотите. Я не использую плагин SSMS или любые другие материалы, которые они рекламируют, я всегда просто прыгаю на сайт, чтобы выполнить быстрое форматирование, а затем скопировать / вставить прямо в SSMS.
источник
Установите дополнение, которое делает это. Я использую бесплатную версию SQL Complete: http://www.devart.com/dbforge/sql/sqlcomplete/, которая предлагает некоторые основные функции форматирования SQL. Он интегрируется с SSMS и использует Ctrl + K, D.
источник
SqlSmash - это коммерческий инструмент, который позволяет вам форматировать SQL (и многое другое) в SSMS 2012 и 2014. Сочетание клавиш по умолчанию - (Ctrl + K, Ctrl + D).
Отказ от ответственности: я разработчик за это.
источник