свернуть все» или «переключить схему» в SQL Server Management Studio 2008

Новой функцией в SQL Server Management Studio 2008 является «структурирование» (возможность сворачивать области). Это превосходно. Однако по умолчанию все регионы развернуты. Кажется, я не могу найти способ «свернуть все» (также называемый «переключить контур» в Visual Studio). Кто-нибудь знает способ сделать это? Мне поручили просмотреть хранимую процедуру из 3000 строк, и сворачивать регионы один за другим неудобно.


person Shawn McGough    schedule 04.12.2009    source источник


Ответы (10)


Это не горячая клавиша, но для этого есть пункт меню в редакторе запросов.

Откройте свой запрос, а затем перейдите в «Правка»> «Структура»> «Переключить все схемы».

Это переключит (т.е. развернет/свернет) все узлы в запросе.

person SqlGuy    schedule 20.02.2017

Похоже, что этой функции не существует. Это было рекомендовано Microsoft. Я предлагаю проголосовать; http://connect.microsoft.com/SQLServer/feedback/ViewFeedback.aspx?FeedbackID=368542

В качестве обходного пути я использую Notepad++ для локального редактирования. Его идентификация региона не так хороша, но это лучше, чем ничего.

person Shawn McGough    schedule 06.12.2009
comment
Еще наполовину реализованная функция... Обычный MS, поймите это правильно! - person Adriaan Davel; 12.04.2013
comment
Обновление 2017 года. Функция ДЕЙСТВИТЕЛЬНО существует. Это находится в меню «Правка», затем «Структура», затем «Переключить все схемы». Просто убедитесь, что фокус находится в текстовом редакторе сценария. Сначала он свернет все в один узел, затем вы можете просто развернуть этот узел, и все ваши узлы верхнего уровня будут свернуты. - person Triynko; 22.09.2017
comment
Как отмечает Трийнко, эта функция теперь доступна. Однако ему не назначается сочетание клавиш. Подробнее о настройке сочетаний клавиш см. Ответ Пакка ниже. - person Shawn McGough; 05.02.2019

Обходной путь — использовать BEGIN и END.

BEGIN -- comment on/explain the region/outlined section

/*

TSQL goes here

*/

END

После этого вы сможете свернуть файл BEGIN.

person Willem Jac    schedule 18.08.2010
comment
Спасибо за креативный ответ. Однако при этом создается только один свернутый «корневой» раздел. Я искал способ свернуть все разделы вниз, чтобы было легче читать. - person Shawn McGough; 20.08.2010
comment
Потрясающий ответ, вы можете использовать «начало» «конец», а не внутреннее и внешнее, что вы хотите, я имею в виду, что дети начинают конец! - person Juan Ruiz de Castilla; 05.05.2017

В ssms 2017 -> есть опция в Инструменты > Параметры {см. изображение}

Ниже показано обновление @Triyko к ответу @Shawns.

введите здесь описание изображения

person Pakk    schedule 31.01.2018

Существует бесплатная сторонняя надстройка для 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
person Eric Russell    schedule 16.05.2011

Если вы откроете скрипт .sql в Visual Studio, вы можете свернуть код там.

person Christian    schedule 03.12.2015
comment
профессиональная версия Visual Studio 2015 не подчиняется команде Ctrl + M/O для файла .sql - person Momin; 09.01.2018

В моем состоянии это был «Максимальный размер сценария» по умолчанию 1 МБ, мой был выше 1 МБ, изменил его на 5 МБ, он работает

Путь

Инструменты >> Параметры >> Текстовый редактор >> TransactSQL >> Intellisense >> Максимальный размер сценария

person satsvelke    schedule 22.08.2019

Ctrl+M, Ctrl+A используется по умолчанию в SSMS 17.X.

Вы можете изменить это, перейдя в «Инструменты»> «Параметры»> «Среда»> «Клавиатура», затем нажмите команду «Edit.CollapseAllOutlining» и назначьте новые сочетания клавиш.

person Anna    schedule 24.01.2018

Вариант, который мне пригодился...

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
person Matt Cullinan    schedule 15.07.2020

Эта функция была реализована в SQL Server Management Studio 2012 и доступна для выпусков, кроме тех, в которых также используется CTRL + M и т. д. — https://msdn.microsoft.com/en-us/library/ms174205(v=sql.110).aspx

person Tom    schedule 13.08.2015
comment
Эти сочетания клавиш не применяются к редактору запросов. CTRL+M переключит «Включить фактический план выполнения», а CTRL+L — «Отобразить предполагаемый план выполнения». - person Shawn McGough; 13.08.2015