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


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


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).


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).


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


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



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.


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.


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.


-2

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

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


Przepraszam, nie. Spowoduje to zwinięcie wszystkiego, w tym przestrzeni nazw, klas, metod i komentarzy. To wyraźnie nie było wymagane.
ygoe
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.