Свернуть только все #regions (!) В C # (Visual Studio)

Существует ряд сочетаний клавиш и команд меню для автоматического разворачивания или сворачивания всех складок в текущем документе. Ctrl + M, Ctrl + L рекурсивно переключает все складываемые элементы, от верхнего пространства имен до внутренних методов и Комментарии. Практически все, что имеет значок [+] в левом поле. Ctrl + M, Ctrl + O делает это немного меньше, но по-прежнему затрагивает методы и комментарии внутри класса .

Я ищу функцию, которая специально только касается #region складных элементов и ничего больше. Не пространства имен, классы, комментарии или методы. Я действительно хочу свернуть только те области, которые явно отмечены как таковые с помощью ключевого слова #region.

Есть ли для этого скрытый ярлык или расширение?

Я бы предпочел клавиатуру для Visual Studio 2015 (пока RC).

На случай, если кто-то спросит, почему: я хочу получить обзор файла, но сразу же вижу все детали, когда решаю заглянуть внутрь одного региона.


Обновлять:

Решение в 2020 году

Поскольку на этот вопрос было получено много ответов, некоторые из которых бесполезны, другие устарели, рабочее решение для Visual Studio 2019 можно найти в этом недооцененном ответе здесь: https://stackoverflow.com/a/58999093/143684


person ygoe    schedule 03.06.2015    source источник
comment
Я так не думаю (хотя и подлежит исправлению). Вы пробовали представление класса - в нем будут отображаться все члены класса (а не раскрывающийся список в верхней части текстового редактора), и вы можете дважды щелкнуть, чтобы перейти к выбранному элементу.   -  person amcdermott    schedule 03.06.2015
comment
Думаю, такого нет, Ctrl + M, Ctrl + O - ближайший   -  person voytek    schedule 03.06.2015
comment
Окно Class View содержит все элементы в одном плоском списке без каких-либо областей. Я не для этого использую регионы. Мне нужны регионы, чтобы быстро находить участников по темам, особенно в длинных классах с небольшим количеством похожих методов, каждый для разного типа модели. Здесь регионы сгруппированы по типу модели.   -  person ygoe    schedule 03.06.2015


Ответы (10)


в Visual Studio 2017 мне нужно активировать «Свернуть #regions при свертывании до определений» в

Tools -> Options -> Text Editor -> C# -> Advanced

явно свернуть все при нажатии Ctrl + M + O

person Myz    schedule 17.03.2017
comment
К сожалению, это также разрушает все остальное (почти), а не только регионы. Так что это не то, что я ищу. Расширение Quick Launch Tasks все еще существует для VS 2017 и теперь может быть установлено отдельно, см. Другие комментарии. - person ygoe; 18.04.2017
comment
Возможно, это не то, о чем просил OP, но это то, что я искал. - person Homer; 01.06.2017
comment
Параметр в текущей сборке - Свернуть #regions при свертывании до определений, он находится в Инструменты ›Параметры› Текстовый редактор ›C #› Дополнительно. Это то, что я тоже искал. Это заставляет Ctrl + M + O работать так же, как в VS 2015. - person Matt Becker; 11.07.2017

Ctrl + M + O свернет все.

Ctrl + M + L развернет все. (в VS 2013 - переключить все наброски)

Ctrl + M + P развернет все и отключит выделение.

Ctrl + M + M свернет / развернет текущий раздел.

Эти параметры также находятся в контекстном меню в разделе «Структура».

Щелкните правой кнопкой мыши в редакторе -> Структура, чтобы найти все параметры. (После отключения выделения выполните те же действия, чтобы включить выделение.)

person Brendon Vdm    schedule 03.06.2015
comment
Это действительно единственный правильный ответ ... CTRL + (M, затем O / L) развернет / свернет только те области на странице, которые напрямую отвечают на исходный вопрос. - person Levi Fuller; 29.08.2016
comment
Это уже не так с VS2017RC. Свертывание всего не сжимает регионы. (По крайней мере, текущая сборка: 15.0.2620.0) - person François; 15.02.2017
comment
Для VS 2017 см. Ответ от @Myz ниже. - person Jeffrey Harmon; 03.04.2017

Расширение Visual Studio Productivity Power Tools 2015 от Microsoft имеет функцию так называемые задачи быстрого запуска, добавляющие новые команды в меню быстрого запуска. Один из них - CollapseRegions, и он именно этим и занимается.

Противоположная команда - ExpandRegions, которая расширяет все регионы для быстрого просмотра всего файла. Эти команды можно использовать довольно быстро, нажав горячую клавишу Ctrl Q и набрав Coll resp. Exp, затем нажмите Enter (предполагается, что у вас нет других команд с таким же префиксом).

person ygoe    schedule 14.08.2015
comment
Вот соответствующее расширение для Visual Studio 2017: Задачи быстрого запуска - person ygoe; 18.04.2017
comment
Больше не работает с Visual Studio 2019, потому что они изменили способ работы поиска быстрых задач. - person Chronicle; 22.11.2019

Чтобы свернуть регионы: Инструменты> Параметры> Текстовые редакторы> C #> Дополнительно> Установите флажок «Свернуть # регионы при сворачивании до определений».

Свернуть изображение #regions

person Osama Nour    schedule 03.03.2020
comment
О, у нас уже был такой 3 года назад. См. Самый верхний ответ. - person ygoe; 03.03.2020

Я знаю, что это старый вопрос, но вот обновление для Visual Studio 2019:

Решение быстрых задач из ответа @ygoe не работает для Visual Studio 2019, потому что эта версия изменила способ поиска на панели быстрых задач. Кроме того, это никогда не было предпочтительным решением исходного вопроса, поскольку вам нужно было ввести быстрое действие вместо сочетания клавиш.

Я нашел другое решение на торговой площадке, которое выполняет свертывание и развертывание всех регионов в текущем открытом файле с помощью сочетаний клавиш: Свернуть регион

Со страницы расширения:

Привязки клавиш по умолчанию: (Ctrl + R, Ctrl + Num +) и (Ctrl + R, Ctrl + Num-). Можно изменить в Инструменты-> Параметры-> Среда-> Клавиатура.

person Chronicle    schedule 22.11.2019
comment
Спасибо за эту замечательную информацию! Поскольку я не использую быстрые задачи для чего-то еще, я могу просто переключиться на это расширение. Протестировано и работает (в VS 2017 и 2019). - person ygoe; 23.11.2019

поставьте галочку в настройках -> TextEditor -> C # -> Advanced -> Collapse #regions при сворачивании определений.

затем щелкните правой кнопкой мыши в редакторе> контур> свернуть до определений

person dev_ter    schedule 17.03.2019

Не знаю, ново ли это, но для текстового редактора С # есть настройка:

Настройки -> TextEditor -> C # -> Дополнительно -> Свернуть #regions при свертывании определений.

При его установке Ctrl M Ctrl O свернет #regions.

person Roland    schedule 14.03.2019

Похоже, что ближайший вариант - это Ctrl + M, Ctrl + S

Что свернет текущую область, в которой вы находитесь, а Ctrl + M, Ctrl + E расширит текущую регион, в котором вы находитесь.

Список горячих клавиш по умолчанию:

https://msdn.microsoft.com/en-us/library/da5kh0wa(v=vs.140).aspx

person AzNjoE    schedule 03.06.2015

Я рекомендую использовать бесплатное расширение Visual Studio «Расширение Menees VS Tools для Visual Studio». Просто найдите его в Инструменты -> Расширения и обновления в Visual Studio. После установки вам просто нужно нажать Ctrl + M + K, и только регионы будут свернуты. Вот их веб-сайт https://marketplace.visualstudio.com/items?itemName=BillMenees.MeneesVSTools2013

Чтобы изменить настройки, откройте Инструменты -> Параметры -> Инструменты Menees VS -> Общие.

person TheJonz    schedule 16.12.2016

Выделите все с помощью Ctrl A, а затем Ctrl M M

т.е. дважды нажмите M, удерживая Ctrl

person user1979649    schedule 05.02.2019
comment
Извини, нет. Это сворачивает все, включая пространства имен, классы, методы и комментарии. Об этом явно не просили. - person ygoe; 15.02.2019
comment
В визуальной студии Для коллапса областей javascript Ctrl + M + O не работает, но при выборе всех элементов Ctrl + M + M работает, спасибо - person Serhat Oz; 09.01.2021