Zwiń tylko wszystkie # regiony (!) W C # (Visual Studio)

103

Istnieje wiele skrótów klawiaturowych i poleceń menu, które umożliwiają automatyczne rozwijanie lub zwijanie wszystkich elementów składanych w bieżącym dokumencie. Ctrl+ M, Ctrl+ Lprzełącza rekurencyjnie wszystkie składane, od górnej przestrzeni nazw do wewnętrznych metod i komentarzy. Zasadniczo wszystko, co ma ikonę [+] na lewym marginesie. Ctrl+ M, Ctrl+ Orobi to trochę mniej, ale nadal dotyka metod i komentarzy wewnątrz klasy.

Szukam funkcji, która dotyczy wyłącznie elementów#region składanych i nic więcej. Nie przestrzenie nazw, klasy, komentarze ani metody. Naprawdę chcę zawinąć tylko te obszary, które są wyraźnie oznaczone jako takie za pomocą #regionsłowa kluczowego.

Czy jest do tego jakiś ukryty skrót lub rozszerzenie?

Wolałbym rozwiązanie klawiatury dla programu Visual Studio 2015 (na razie RC).

Gdyby ktoś zapytał, dlaczego: chcę uzyskać przegląd pliku, ale od razu zobaczyć wszystkie szczegóły, gdy zdecyduję się zajrzeć do jednego regionu.


Aktualizacja:

Rozwiązanie w 2020 roku

Ponieważ to pytanie otrzymało wiele odpowiedzi, niektóre z nich bezużyteczne, inne przestarzałe, działające rozwiązanie dla Visual Studio 2019 można znaleźć w tej niedocenianej odpowiedzi tutaj: https://stackoverflow.com/a/58999093/143684

ygoe
źródło
Nie sądzę (choć otwarty na korektę). Czy próbowałeś już widoku klasy - pokaże on wszystkich członków klasy (nie listę rozwijaną u góry edytora tekstu) i możesz kliknąć dwukrotnie, aby przejść do wybranego członka.
amcdermott
1
Chyba nie ma czegoś takiego, Ctrl + M, Ctrl + O najbliżej
voytek
Okno Widok klas zawiera wszystkie elementy na jednej płaskiej liście, a nie „podzielone na regiony”. Nie do tego używam regionów. Potrzebuję regionów, aby szybko znaleźć członków według tematu, szczególnie w długich zajęciach z niewielką liczbą podobnych metod dla innego typu modelu. Regiony grupują je tutaj według typu modelu.
ygoe

Odpowiedzi:

210

w programie Visual Studio 2017 muszę aktywować opcję „Zwiń # regiony podczas zwijania do definicji” w

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

jawnie zwinąć wszystko po naciśnięciu Ctrl+ M+O

Myz
źródło
8
Niestety to również zawala wszystko inne (prawie), nie tylko regiony. Więc to nie jest to, czego szukam. Rozszerzenie Quick Launch Tasks nadal istnieje dla VS 2017 i można je teraz zainstalować osobno, zobacz mój inny komentarz.
ygoe
20
Może nie o to prosił OP, ale właśnie tego szukałem.
Homer
11
Opcja w bieżącej kompilacji to „Zwiń # regiony podczas zwijania do definicji” i znajduje się w menu Narzędzia> Opcje> Edytor tekstu> C #> Zaawansowane. Tego też szukałem. To sprawia, że ​​Ctrl + M + O działa tak, jak w VS 2015
Matt Becker,
65

Ctrl+ M+ Ozwinie wszystko.

Ctrl+ M+ Lrozwinie wszystko. (w VS 2013 - Przełącz wszystkie konspekty)

Ctrl+M + Prozwinie wszystko i wyłączy tworzenie konspektu.

Ctrl+ M+ Mzwinie / rozwinie bieżącą sekcję.

Te opcje są również dostępne w menu kontekstowym w obszarze Tworzenie konspektu.

Kliknij prawym przyciskiem myszy w edytorze -> Tworzenie konspektu, aby znaleźć wszystkie opcje. (Po wyłączeniu konspektu wykonaj te same kroki, aby włączyć outlinging).

Brendon Vdm
źródło
1
To naprawdę jedyna poprawna odpowiedź ... CTRL + (M, a następnie O / L) rozwinie / zwinie tylko te regiony na stronie, które bezpośrednio odpowiadają na pierwotne pytanie.
Levi Fuller
15
To już nie jest prawda w przypadku VS2017RC. Zwinięcie wszystkich nie powoduje załamania regionów. (Przynajmniej obecna wersja: 15.0.2620.0)
François
3
W przypadku VS 2017 zobacz odpowiedź od @Myz poniżej.
Jeffrey Harmon
29

Rozszerzenie Visual Studio Productivity Power Tools 2015 firmy Microsoft ma funkcję o nazwie Zadania szybkiego uruchamiania, która dodaje nowe polecenia do menu Szybkie uruchamianie. Jednym z nich jest CollapseRegions i właśnie to robi.

Przeciwne polecenie to ExpandRegions i rozwija wszystkie regiony w celu szybkiego przeglądania całego pliku. Te polecenia mogą być używane dość szybko, naciskając CtrlQklawisz skrótu i ​​wpisując Collresp. Exp, a następnie naciskając Enter(przypuszczalnie nie masz innych poleceń z tym samym prefiksem).

ygoe
źródło
7
Oto odpowiednie rozszerzenie dla programu Visual Studio 2017: Zadania szybkiego uruchamiania
ygoe
Nie jest już ważny w programie Visual Studio 2019, ponieważ zmienił sposób działania wyszukiwania szybkich zadań.
Kronika
17

Aby zwinąć regiony: Narzędzia> Opcje> Edytory tekstu> C #> Zaawansowane> Zaznacz „Zwiń # regiony podczas zwijania do definicji”

Zwiń obraz #regions

Osama Nour
źródło
Och, mieliśmy to już 3 lata temu. Zobacz najwyższą odpowiedź.
ygoe
10

zaznacz pole wyboru w Ustawienia -> TextEditor -> C # -> Zaawansowane -> Zwiń # regiony podczas zwijania definicji.

następnie kliknij prawym przyciskiem myszy w edytorze> tworzenie konspektu> zwiń do definicji

dev_ter
źródło
7

Nie wiem, czy to jest nowe, ale istnieje ustawienie dla edytora tekstowego C #:

Ustawienia -> TextEditor -> C # -> Zaawansowane -> Zwiń # regiony podczas zwijania definicji.

Kiedy jego zestaw CtrlM CtrlOzwinie się, #regiony.

Roland
źródło
7

Wiem, że to stare pytanie, ale oto aktualizacja dla programu Visual Studio 2019:

Rozwiązanie Quick Tasks z odpowiedzi @ ygoe nie działa w przypadku programu Visual Studio 2019, ponieważ ta wersja zmieniła sposób wyszukiwania paska szybkiego zadania. Poza tym nigdy nie było to preferowane rozwiązanie pierwotnego pytania, ponieważ trzeba było wpisać szybką akcję zamiast skrótu klawiaturowego.

Znalazłem na rynku inne rozwiązanie, które wykonuje dokładnie zwijanie i rozwijanie wszystkich regionów w aktualnie otwartym pliku za pomocą skrótów klawiaturowych: Zwiń region

Ze strony rozszerzenia:

Domyślne przypisania klawiszy to (Ctrl + R, Ctrl + Num +) i (Ctrl + R, Ctrl + Num-). Można to zmienić w Narzędzia-> Opcje-> Środowisko-> Klawiatura.

Kronika
źródło
Dziękuję ci za tę świetną informację! Ponieważ nie używam szybkich zadań do wielu innych celów, mogę po prostu przełączyć się na to rozszerzenie. Przetestowane i działa (w VS 2017 i 2019).
ygoe
4

Zalecam korzystanie z bezpłatnego rozszerzenia programu Visual Studio „Menees VS Tools Extension dla programu Visual Studio”. Po prostu wyszukaj go w Narzędziach -> Rozszerzenia i aktualizacje w Visual Studio. Po zainstalowaniu wystarczy nacisnąć Ctrl+ M+, Ka tylko regiony zostaną zwinięte. Oto ich strona internetowa https://marketplace.visualstudio.com/items?itemName=BillMenees.MeneesVSTools2013

Aby edytować ustawienia, wejdź w Narzędzia -> Opcje -> Menees VS Narzędzia -> Ogólne.

TheJonz
źródło
-2

Wybierz opcję Wszystko przez, Ctrl Aa następnieCtrl M M

tzn. naciśnij Mdwukrotnie, trzymając wciśniętyCtrl

user1979649
źródło
Przepraszam, nie. Spowoduje to zwinięcie wszystkiego, w tym przestrzeni nazw, klas, metod i komentarzy. To wyraźnie nie było wymagane.
ygoe