Ответ 1
Если кто-то все еще ищет ответ на этот вопрос, это CTRL +].
Как найти соответствующие начальные и конечные операторы в SQL Server Management Studio 2012? У меня очень длинный хранимый процесс с несколькими уровнями многостраничных вложенных операторов if. SQL уже отформатирован. Мой вопрос очень похож на на этот, но я использую SSMS 2012, который теперь использует Visual Studio Shell. Мне было интересно, добавила ли MS эту функциональность или если есть внешний инструмент или плагин SSMS, который это делает.
В противном случае мне придется прибегнуть к решениям по старому вопросу.
Если кто-то все еще ищет ответ на этот вопрос, это CTRL +].
Кажется, я могу получить коллапс кода для BEGIN/END без проблем. Соблюдайте мои настройки в разделе Инструменты > Параметры > Текстовый редактоp > Transact-SQL:
Обратите внимание, что у меня включена функция IntelliSense с проверенными "контурными утверждениями" в меню "Сервис" > "Параметры" > "Текстовый редактор" > "Transact-SQL" > "IntelliSense":
Номера строк действительно помогают. Если я скрою строку, содержащую BEGIN, следующий номер строки следующий после END:
Это не ответ, у меня нет достаточной репутации для комментариев.
Помимо решений, упомянутых в другой теме, о которой вы говорили, я не думаю, что есть способ. Что я делаю, удалите END
, снова напишите END
, он будет серым, а BEGIN
, который соответствует этому END
, тоже будет серым. Затем я просто просматриваю код для серых слов.
Функция, которая вам нужна, называется Edit.GotoBrace и присутствует в SSMS v 2008, а также в 2012 году. У него разные ярлыки, в зависимости от языковой версии ваших ssms. У меня SSMS2008 EN и SSMS2012 German, моя раскладка клавиатуры - немецкая. Итак, ярлыки:
SSMS 2008 EN
Просто найдите подходящее начало/конец
Edit.GotoBrace Text Editor::Ctrl+´
то же самое, но также расширить выделение
Edit.GotoBraceExtend Text Editor::Ctrl+Shift+´
SSMS 2012 German
Edit.GotoBrace (Bearbeiten.GehezuKlammer) Text-Editor::Ctrl+´
Edit.GotoBrace (Bearbeiten.GehezuKlammer) Text-Editor::Ctrl+9
Edit.GotoBraceExtend (Bearbeiten.ErweiternbisKlammer) Text-Editor::Ctrl+Shift+´
Edit.GotoBraceExtend (Bearbeiten.ErweiternbisKlammer) Text-Editor::Ctrl+Shift+9
В SSMS 2012 вы можете использовать собственный диспетчер ярлыков на клавиатуре для просмотра/изменения ярлыка для этой или любой другой команды. Но: У Native команды есть один недостаток: вы должны быть в начале/конце, чтобы перейти к парному токену.
Я разработал бесплатную надстройку для ssms и вчера реализовал улучшенную функцию, которая позволяет перейти к родительскому тегу begin/end из любой позиции во вложенном коде. Он будет доступен в следующем выпуске. Поэтому, если вам нравится моя идея - дождитесь следующего релиза. Надстройка называется SSMSBoost. Я также использовал его, чтобы быстро найти ответ на ваш вопрос: - он имеет команды "Дамп SSMS Shortcuts" и "Дамп SSMS", что делает полный список всех доступных функций в ssms (и позволяет пересобрать ярлыки в SSMS2008, где менеджер ярлыков отсутствует)
CTRL + ] для перехода от BEGIN
к соответствию END
. Та же клавиша для перехода на BEGIN
из END
.
CTRL + SHIFT + ], чтобы выбрать блок кода при переходе между BEGIN
и END
.
Если вы установили SQL-запрос, нажав BEGIN
(END
), выделите соответствующий END
(BEGIN
) серым цветом.