Новой функцией в SQL Server Management Studio 2008 является «структурирование» (возможность сворачивать области). Это превосходно. Однако по умолчанию все регионы развернуты. Кажется, я не могу найти способ «свернуть все» (также называемый «переключить контур» в Visual Studio). Кто-нибудь знает способ сделать это? Мне поручили просмотреть хранимую процедуру из 3000 строк, и сворачивать регионы один за другим неудобно.
свернуть все» или «переключить схему» в SQL Server Management Studio 2008
Ответы (10)
Это не горячая клавиша, но для этого есть пункт меню в редакторе запросов.
Откройте свой запрос, а затем перейдите в «Правка»> «Структура»> «Переключить все схемы».
Это переключит (т.е. развернет/свернет) все узлы в запросе.
Похоже, что этой функции не существует. Это было рекомендовано Microsoft. Я предлагаю проголосовать; http://connect.microsoft.com/SQLServer/feedback/ViewFeedback.aspx?FeedbackID=368542
В качестве обходного пути я использую Notepad++ для локального редактирования. Его идентификация региона не так хороша, но это лучше, чем ничего.
Обходной путь — использовать BEGIN и END.
BEGIN -- comment on/explain the region/outlined section
/*
TSQL goes here
*/
END
После этого вы сможете свернуть файл BEGIN.
Существует бесплатная сторонняя надстройка для SSMS под названием SSMS Tools Pack. Он предоставляет несколько полезных функций, в том числе сворачиваемые области и разделы отладки. По умолчанию регионы сворачиваются при первом открытии сценария .sql.
http://www.ssmstoolspack.com/Features?f=9
Например:
--#region You can place comments here which are visible when the region is collapsed.
if object_id('MyTable') is null
begin
create table MyTable
(
constraint [pk_mytable] primary key clustered ( mytable_id ),
mytable_id int not null
);
end;
--#endregion
Если вы откроете скрипт .sql в Visual Studio, вы можете свернуть код там.
В моем состоянии это был «Максимальный размер сценария» по умолчанию 1 МБ, мой был выше 1 МБ, изменил его на 5 МБ, он работает
Путь
Инструменты >> Параметры >> Текстовый редактор >> TransactSQL >> Intellisense >> Максимальный размер сценария
Ctrl+M, Ctrl+A используется по умолчанию в SSMS 17.X.
Вы можете изменить это, перейдя в «Инструменты»> «Параметры»> «Среда»> «Клавиатура», затем нажмите команду «Edit.CollapseAllOutlining» и назначьте новые сочетания клавиш.
Вариант, который мне пригодился...
Edit.ToggleAllOutlining
В SSMS 2019 выберите Инструменты > Параметры > Среда > Клавиатура, затем нажмите команду Edit.ToggleAllOutlining и назначьте новые сочетания клавиш.
Скриншот варианта
Снимок экрана с предупреждением
Я использовал Ctrl+K, Ctrl+T.
Затем поместите GO в начало запроса и GO после того, как любой регион, который я хотел, рухнул. Я попробовал BEGIN END, но это разрушило весь запрос.
Попробуйте это со следующим:
/*
Toggle using Tools > Options > Environment > Keyboard
Search for "Toggle"
Select Edit.TogleAllOutlining
Enter Global Shortcut key. Do not use common keys like ctrl-A, ctrl-c, ctrl-v, etc...
Pay attention to "Shortcut currently used by: (dropdown values)"
I used ctrl-k, ctrl-t
*/
GO
--Do something
Declare @Something varchar(max)
GO
/*First Region*/
select 'parent - this will be toggled'
select 'sub query - toggled with parent'
GO
/*Second Region*/
select 'parent - this will be toggled too'
select 'sub query - toggled with parent'
GO
Эта функция была реализована в SQL Server Management Studio 2012 и доступна для выпусков, кроме тех, в которых также используется CTRL + M и т. д. — https://msdn.microsoft.com/en-us/library/ms174205(v=sql.110).aspx