Как найти соответствующие начальные и конечные операторы в SQL Server management Studio 2012?

Как найти соответствующие начальные и конечные операторы в SQL Server Management Studio 2012? У меня очень длинный хранимый процесс с несколькими уровнями многостраничных вложенных операторов if. SQL уже отформатирован. Мой вопрос очень похож на на этот, но я использую SSMS 2012, который теперь использует Visual Studio Shell. Мне было интересно, добавила ли MS эту функциональность или если есть внешний инструмент или плагин SSMS, который это делает.

В противном случае мне придется прибегнуть к решениям по старому вопросу.

Ответ 1

Если кто-то все еще ищет ответ на этот вопрос, это CTRL +].

Ответ 2

Кажется, я могу получить коллапс кода для BEGIN/END без проблем. Соблюдайте мои настройки в разделе Инструменты > Параметры > Текстовый редактоp > Transact-SQL:

enter image description here

Обратите внимание, что у меня включена функция IntelliSense с проверенными "контурными утверждениями" в меню "Сервис" > "Параметры" > "Текстовый редактор" > "Transact-SQL" > "IntelliSense":

enter image description here

Номера строк действительно помогают. Если я скрою строку, содержащую BEGIN, следующий номер строки следующий после END:

enter image description here

Ответ 3

Это не ответ, у меня нет достаточной репутации для комментариев.

Помимо решений, упомянутых в другой теме, о которой вы говорили, я не думаю, что есть способ. Что я делаю, удалите END, снова напишите END, он будет серым, а BEGIN, который соответствует этому END, тоже будет серым. Затем я просто просматриваю код для серых слов.

Ответ 4

Функция, которая вам нужна, называется 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, где менеджер ярлыков отсутствует)

Ответ 5

CTRL + ] для перехода от BEGIN к соответствию END. Та же клавиша для перехода на BEGIN из END.

CTRL + SHIFT + ], чтобы выбрать блок кода при переходе между BEGIN и END.

Если вы установили SQL-запрос, нажав BEGIN (END), выделите соответствующий END (BEGIN) серым цветом.