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

103

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

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

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

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

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


Обновить:

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

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

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

Ответы:

211

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

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

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

Myz
источник
8
К сожалению, это также разрушает все остальное (почти), а не только регионы. Так что это не то, что я ищу. Расширение Quick Launch Tasks все еще существует для VS 2017 и теперь может быть установлено отдельно, см. Другие комментарии.
ygoe
21
Возможно, это не то, о чем просил OP, но это то, что я искал.
Homer
11
Параметр в текущей сборке - «Свернуть # регионы при сворачивании до определений», он находится в Инструменты> Параметры> Текстовый редактор> C #> Дополнительно. Это то, что я тоже искал. Это заставляет Ctrl + M + O работать так же, как в VS 2015
Мэтт Беккер
66

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

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

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

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

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

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

Брендон ВДМ
источник
1
Это действительно единственный правильный ответ ... CTRL + (M, затем O / L) развернет / свернет только те области на странице, которые напрямую отвечают на исходный вопрос.
Леви Фуллер
15
Это уже не так с VS2017RC. Свертывание всего не сжимает регионы. (По крайней мере, текущая сборка: 15.0.2620.0)
François
3
Для VS 2017 см. Ответ от @Myz ниже.
Джеффри Хармон
29

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

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

ygoe
источник
7
Вот соответствующее расширение для Visual Studio 2017: Задачи быстрого запуска
ygoe
Больше не работает с Visual Studio 2019, потому что они изменили способ работы поиска быстрых задач.
Хроника
18

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

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

Усама Нур
источник
О, такой у нас уже был 3 года назад. См. Самый верхний ответ.
ygoe
10

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

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

dev_ter
источник
7

Похоже, что самое близкое - Ctrl+ M, Ctrl+S

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

Список сочетаний клавиш по умолчанию:

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

AzNjoE
источник
7

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

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

Когда его набор CtrlM CtrlOсвернет #regions.

Роланд
источник
7

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

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

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

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

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

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

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

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

TheJonz
источник
-2

Выберите Все через, Ctrl Aа затемCtrl M M

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

user1979649
источник
Извините но нет. Это сворачивает все, включая пространства имен, классы, методы и комментарии. Об этом явно не просили.
ygoe