Reduzieren Sie alle #Regionen (!) Nur in C # (Visual Studio)

102

Es gibt eine Reihe von Tastaturkürzeln und Menübefehlen, mit denen alle faltbaren Elemente im aktuellen Dokument automatisch erweitert oder reduziert werden können. Ctrl+ M, Ctrl+ Lschaltet alle faltbaren Dateien rekursiv um, vom oberen Namespace bis zu den inneren Methoden und Kommentaren. Grundsätzlich alles, was ein [+] Symbol am linken Rand hat. Ctrl+ M, Ctrl+ Omacht es etwas weniger, aber es berührt immer noch Methoden und Kommentare innerhalb der Klasse.

Ich suche eine Funktion, die speziell nur#region faltbare und sonst nichts betrifft . Keine Namespaces, Klassen, Kommentare oder Methoden. Ich möchte wirklich nur die Bereiche falten, die explizit als solche mit dem #regionSchlüsselwort gekennzeichnet sind.

Gibt es dafür eine versteckte Verknüpfung oder eine Erweiterung?

Ich würde eine Tastaturlösung für Visual Studio 2015 (RC für jetzt) ​​bevorzugen.

Falls jemand fragt, warum: Ich möchte einen Überblick über die Datei erhalten, sehe aber sofort alle Details, wenn ich mich entscheide, in eine Region zu schauen.


Aktualisieren:

Lösung im Jahr 2020

Da diese Frage viele Antworten erhalten hat, von denen einige nutzlos und andere veraltet sind, finden Sie die funktionierende Lösung für Visual Studio 2019 in dieser unterschätzten Antwort hier: https://stackoverflow.com/a/58999093/143684

ygoe
quelle
Ich denke nicht (offen für Korrekturen). Haben Sie die Klassenansicht ausprobiert? Es werden alle Klassenmitglieder angezeigt (nicht das Dropdown-Menü oben im Texteditor), und Sie können doppelklicken, um zum ausgewählten Mitglied zu springen.
Amcdermott
1
Ich denke, es gibt so etwas nicht, Strg + M, Strg + O ist am nächsten
voytek
Das Fenster Klassenansicht enthält alle Elemente in einer flachen Liste, die überhaupt nicht "regionalisiert" sind. Dafür benutze ich keine Regionen. Ich brauche Regionen, um Mitglieder schnell nach Themen zu finden, insbesondere in langen Klassen mit einer kleinen Anzahl ähnlicher Methoden für jeweils einen anderen Modelltyp. Regionen gruppieren sie hier nach Modelltyp.
Ygoe

Antworten:

208

In Visual Studio 2017 muss ich '#Regionen beim Reduzieren auf Definitionen reduzieren' in aktivieren

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

explizit, um alle zu drücken, wenn Sie Ctrl+ M+ drückenO

Myz
quelle
8
Leider bricht damit auch alles andere (fast) zusammen, nicht nur Regionen. Das ist also nicht das, wonach ich suche. Die Quick Launch Tasks-Erweiterung ist für VS 2017 noch vorhanden und kann jetzt separat installiert werden. Weitere Kommentare finden Sie in meinem Kommentar.
Ygoe
20
Dies ist vielleicht nicht das, wonach das OP gefragt hat, aber es ist das, wonach ich gesucht habe.
Homer
11
Die Option im aktuellen Build lautet "#Regionen beim Reduzieren auf Definitionen reduzieren" und befindet sich unter Extras> Optionen> Texteditor> C #> Erweitert. Das habe ich auch gesucht. Dadurch funktioniert Strg + M + O wie in VS 2015
Matt Becker
64

Ctrl+ M+ Owird alle zusammenbrechen.

Ctrl+ M+ LWerden alle erweitern. (in VS 2013 - Alle Umrisse umschalten)

Ctrl+ M+ PWerden alle und deaktivieren Konturierung erweitern.

Ctrl+ M+ Mreduziert / erweitert den aktuellen Abschnitt.

Diese Optionen befinden sich auch im Kontextmenü unter Gliederung.

Klicken Sie mit der rechten Maustaste in den Editor -> Gliederung, um alle Optionen zu finden. (Führen Sie nach dem Deaktivieren der Gliederung dieselben Schritte aus, um die Gliederung zu aktivieren.)

Brendon Vdm
quelle
1
Dies ist wirklich die einzig richtige Antwort ... STRG + (M dann O / L) erweitert / reduziert nur die Bereiche auf einer Seite, die die ursprüngliche Frage direkt beantworten.
Levi Fuller
15
Nicht mehr wahr mit VS2017RC. Wenn Sie alle zusammenfassen, werden keine Bereiche zusammengelegt. (Zumindest der aktuelle Build: 15.0.2620.0)
François
3
Für VS 2017 siehe die Antwort von @Myz unten.
Jeffrey Harmon
28

Die Visual Studio-Erweiterung Productivity Power Tools 2015 von Microsoft verfügt über eine Funktion namens Schnellstartaufgaben, mit der dem Schnellstartmenü neue Befehle hinzugefügt werden. Einer von ihnen ist CollapseRegions und genau das tut es.

Der entgegengesetzte Befehl lautet ExpandRegions und erweitert alle Regionen für ein schnelles Durchsuchen der gesamten Datei. Diese Befehle können ziemlich schnell verwendet werden, indem Sie den CtrlQHotkey drücken und Collresp eingeben . Expund dann drücken Enter(vorausgesetzt, Sie haben keine anderen Befehle mit demselben Präfix).

ygoe
quelle
7
Hier ist die entsprechende Erweiterung für Visual Studio 2017: Schnellstartaufgaben
ygoe
Nicht mehr gültig mit Visual Studio 2019, da die Funktionsweise der Schnellsuchensuche geändert wurde.
Chronik
16

So reduzieren Sie Bereiche: Extras> Optionen> Texteditoren> C #> Erweitert> Aktivieren Sie "#Regionen beim Reduzieren auf Definitionen reduzieren".

Bild #regions reduzieren

Osama Nour
quelle
Oh, das hatten wir schon vor 3 Jahren. Siehe die oberste Antwort.
Ygoe
10

Aktivieren Sie das Kontrollkästchen unter Einstellungen -> TextEditor -> C # -> Erweitert -> # Regionen reduzieren, wenn Sie Definitionen reduzieren.

Klicken Sie dann mit der rechten Maustaste in den Editor> Gliederung> Auf Verteidigungen reduzieren

dev_ter
quelle
7

Sieht so aus, als wäre das Nächste Ctrl+ M, Ctrl+S

Dadurch wird die aktuelle Region, in der Sie sich befinden, reduziert, während Ctrl+ M, Ctrl+ Edie aktuelle Region erweitert, in der Sie sich befinden.

Liste der Standardtastenkürzel:

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

AzNjoE
quelle
7

Ich weiß, dass dies eine alte Frage ist, aber hier ist ein Update für Visual Studio 2019:

Die Quick Tasks-Lösung aus der Antwort von @ ygoe funktioniert nicht für Visual Studio 2019, da diese Version die Suche in der Quick Task-Leiste geändert hat. Außerdem war es nie die bevorzugte Lösung für die ursprüngliche Frage, da Sie eine schnelle Aktion eingeben mussten, anstatt eine Tastenkombination zu haben.

Ich habe auf dem Markt eine andere Lösung gefunden, die genau das Reduzieren und Erweitern aller Regionen in der aktuell geöffneten Datei mit Tastaturkürzeln ermöglicht: Region reduzieren

Von der Erweiterungsseite:

Standard-Tastenkombinationen sind (Strg + R, Strg + Num +) und (Strg + R, Strg + Num-). Kann unter Extras-> Optionen-> Umgebung-> Tastatur geändert werden.

Chronik
quelle
Vielen Dank für diese tolle Info! Da ich für viele andere Aufgaben keine schnellen Aufgaben verwende, wechsle ich möglicherweise einfach zu dieser Erweiterung. Getestet und funktioniert (in VS 2017 und 2019).
Ygoe
6

Ich weiß nicht, ob dies neu ist, aber es gibt eine Einstellung für den c # -Text edior:

Einstellungen -> TextEditor -> C # -> Erweitert -> #Regionen reduzieren, wenn Definitionen reduziert werden.

Wenn sein Satz CtrlM CtrlOdie # Regionen kollabiert.

Roland
quelle
4

Ich empfehle die kostenlose Visual Studio-Erweiterung "Menees VS Tools-Erweiterung für Visual Studio". Suchen Sie einfach in Tools -> Erweiterungen und Updates in Visual Studio danach. Einmal installiert, müssen Sie nur noch Ctrl+ M+ drücken Kund nur die Regionen werden reduziert. Hier ist ihre Website https://marketplace.visualstudio.com/items?itemName=BillMenees.MeneesVSTools2013

Informationen zum Bearbeiten der Einstellungen finden Sie unter Extras -> Optionen -> Menees VS Tools -> Allgemein.

TheJonz
quelle
-2

Wählen Sie Alle über Ctrl Aund dannCtrl M M

dh Drücken Sie Mzweimal bei gedrückterCtrl

user1979649
quelle
Entschuldige Nein. Dies reduziert alles, einschließlich Namespaces, Klassen, Methoden und Kommentare. Dies wurde ausdrücklich nicht verlangt.
Ygoe