Befehl zum Reduzieren aller Codeabschnitte?

1636

Gibt es in Visual Studio einen Befehl zum Reduzieren / Erweitern aller Codeabschnitte in einer Datei?

Mr. Flibble
quelle

Antworten:

3006

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.

CTRL+ M+ Awird alle sogar in HTML-Dateien zusammenbrechen.

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

Klicken Sie mit der rechten Maustaste auf> Gliederungsmenü

Bob
quelle
145
Sie können auch mit der rechten Maustaste in den Editor klicken und auswählen: Gliederung -> Alle Gliederung umschalten
LBushkin
25
Strg + M Strg + O ist "Auf Definitionen reduzieren", was beim Bearbeiten einer XML-Datei nicht funktioniert. Für mich erweitert Strg + M Strg + L alle und reduziert alle (als Umschalter), aber nicht immer. Ich habe eine Datei geöffnet, in der es funktioniert, und eine, in der es nur alle erweitert, aber nicht alle reduziert. Beide sind XML-Dateien. Keine Ahnung warum.
Matthijs Wessels
17
Nur zur Information (obwohl dies ziemlich alt ist): Strg + m + o reduziert nur alle FUNKTIONEN, nicht die Klassen (oder Regionen usw.). Strg + M + L schaltet das Erweitern um und reduziert alles.
Paul23
14
Für das, was es wert ist, funktionieren diese auch in Visual Studio 2012
wjhguitarman
5
In VisualStudio 2013 schaltet Strg + M + L den Kollapsstatus um, Strg + M + O macht nichts (HTML VIEW)
Ayyash
171

Die folgenden Tastenkombinationen werden verwendet, um Dinge zu tun:

CTRL+ M+ M→ Aktuellen voreingestellten Bereich Mreduzieren / erweitern (z. B. Methode)

CTRL+ M+ HHAktuelle Auswahl reduzieren / erweitern (erweitern)

CTRL+ M+ OoAlle löschen (Deklarationsstellen reduzieren)

CTRL+ M+ A→ Zusammenbruch all

CTRL+ M+ X → E xpand all

CTRL+ M+ L→ Togg le all

Es gibt einige Optionen im Kontextmenü unter Gliederung.

Bhavesh Kachhadiya
quelle
2
Strg-M, L ist Umschalten alle, aber definitiv sind die Strg-M, A und Strg-M, X diejenigen, die ich gesucht habe ...
Spitzer
Sehr schöne Idee, sich leicht zu erinnern.
Koray
110

CTL+ M+ Lerweitert alle

CTL+ M+ Okollabiert alle

Lesen Sie im MSDN-Artikel "Standardtastaturverknüpfungen in Visual Studio" den Abschnitt "Texteditor", wenn Sie nach anderen Verknüpfungen suchen - diese beiden sind nur einige der vielen verfügbaren.

Scott Ivey
quelle
5
Wie ich in der oberen Antwort kommentiert habe, wird ctl + m + o auf eine Definition reduziert, die für XML-Dateien nicht funktioniert. ctl + m + l sollte es umschalten, aber für mich tut es manchmal und manchmal nicht.
Matthijs Wessels
Normale Seiten, bei denen crtl + m + o zusammenbricht, der JScript-Outling rückwärts ist, bei meinen wird crtl + m + o erweitert und crtl + M + l wird erweitert.
Joghurt der Weise
40

Ctrl+ Merweitert Region.

Ctrl+ Lkollabiert Region.

M4N
quelle
Aber es ist nur ein nützlicher Befehl, wenn Sie die js-Gliederungserweiterung verwenden, und ich habe eine js-Datei mit mehr als 1000 Zeilen. Diese Verknüpfung ist ein ** Sparer!
Goran Obradovic
UND ARBEITET FÜR XML! WOOO HOOO !! (+1 rein aus technischen Gründen; ich würde dir gerne ein paar Wiederholungen bezahlen :) Dies geht in mein reguläres Cheatsheet
Gishu
31
  • Falten / Entfalten Sie den aktuellen Codeblock - Ctrl+ M, Ctrl+M
  • Entfalte alle - Ctrl+ M, Ctrl+L
  • Hör auf zu skizzieren - Ctrl+ M, Ctrl+P
  • Falten Sie alle - Ctrl+ M, Ctrl+O
AvatarOfChronos
quelle
26

In Visual Studio 2017 scheint dieses Verhalten standardmäßig deaktiviert zu sein. Es kann unter Extras> Optionen> Texteditoren> C #> Erweitert> Gliederung> "#Regionen beim Reduzieren auf Definitionen reduzieren" aktiviert werden.

Gelásio
quelle
18

CTL+ M+ Akollabiert alle

arbeitet für mich, während

CTL+ M+O

nicht

Strahl
quelle
13

Beziehen Sie sich auf die Umschalttaste?

Sie können: Control+ Mdann Control+ Lalle Umrisse umschalten

CodeLikeBeaker
quelle
12

In Visual Studio 2013:

CTL+ M+ Akollabiert alle

CTL+ M+ Lerweitert alle

Nathan Chase
quelle
11

Nachfolgend finden Sie alles, was Sie wollen:

  • Aktuelle Methode reduzieren / erweitern

CTRL+ M+M

  • Aktuelle Auswahl reduzieren / erweitern

CTRL+ M+H

  • Alles zusammenbrechen

CTRL+ M+O

CTRL+ M+A

  • Alle erweitern

CTRL+ M+X

CTRL+ M+L

Harishh
quelle
10

Wenn Sie dann Verknüpfung meinen

CTRL+ M+M : Hiermit wird die Region reduziert, in der sich Ihr Cursor befindet, unabhängig davon, ob es sich um eine Methode, einen Namespace oder was auch immer handelt, um Codeblöcke, Regionen und Methoden zu reduzieren. Der erste reduziert nur den Block / die Methode oder den Bereich, in dem sich Ihr Cursor befindet, während der zweite den gesamten Bereich, in dem Sie sich befinden, reduziert.

http://www.dev102.com/2008/05/06/11-more-visual-studio-shortcuts-you-should-know/

Shoban
quelle
9

Drücken Sie

CTL + A

Dann

CTL + M+M

Komprimieren aller, einschließlich untergeordneter Knoten, in XML-Dateien.

Carl
quelle
2

Im Falle einer Umstellung auf Visual Studio 2010, 2012, 2013 oder 2015 gibt es eine Visual Studio-Erweiterung, um die aktuell registrierten Tastaturkürzel IntelliCommand anzuzeigen .

Abdulhameed
quelle
2

Wenn Sie eine bestimmte Schleife reduzieren und erweitern möchten, installieren Sie die folgenden Plugins für Visual Studio.

Geben Sie hier die Bildbeschreibung ein

Juned Ansari
quelle
2

Nichts davon hat bei mir funktioniert. Was ich gefunden habe, war, im Editor nach der Keyboard ShortcutsDatei zu suchen editor.foldRecursively. Das gibt Ihnen die neueste Bindung. In meinem Fall war es CMD+ K, CMD+ [.

mclhrn
quelle
Vielen Dank. Dies ist wahrscheinlich die neueste Verknüpfung, die funktioniert
Codetinker
2

Alle reduzieren - Ctrl + M +O

Erweitern Sie Alle - Ctrl + M +L

vikas Chaturvedi
quelle
1

Mit Visual Studio können Sie die Antwort auf Ihre Frage auf verschiedene Arten finden.

Geben Sie Ctrl+ ein, Qum auf den Schnellstart zuzugreifen , und geben Sie dann "Collap" ein. Beim Schnellstart wird Folgendes angezeigt:

Menus (1)
    Edit -> Outlining -> Collapse to Definitions (Ctrl+M, Ctrl+O)
NuGet Packages (1)
    Search Online for NuGet Packages matching 'collap'

Geben Sie von dort aus "Gliederung" ein, um weitere Menüeinträge zu finden, die sich auf Gliederung beziehen:

Menus (5)
    Edit -> Outlining -> Toggle Outlining Expansion (Ctrl+M, Ctrl+M)
    Edit -> Outlining -> Toggle All Outlining (Ctrl+M, Ctrl+L)
    Edit -> Outlining -> Stop Outlining (Ctrl+M, Ctrl+P)
    Edit -> Outlining -> Stop Hiding Current (Ctrl+M, Ctrl+U)
    Edit -> Outlining -> Collapse to Definitions (Ctrl+M, Ctrl+O)
Options (4)
    Text Editor -> Basic -> VB Specific (Change outline mode, Automatic inser...
    ...

Beachten Sie jedoch, dass beim Schnellstart nur die Befehle angezeigt werden, die als Visual Studio-Menüeinträge verfügbar sind. Klicken Sie in der Visual Studio-Menüleiste auf: Weitere tastaturbezogene Befehle zum Reduzieren von Codeabschnitten:

Tools -> Options -> Environment -> Keyboard

Dadurch wird der Tastaturbereich im Dialogfeld Optionen angezeigt. Geben Sie im Textfeld "Befehle mit" anzeigen "edit.collap" ein. Visual Studio zeigt eine Liste an, die ungefähr so ​​aussieht:

Edit.CollapseAllincurrentblock    
Edit.CollapseAllOutlining           Ctrl+M, Ctrl+A (Text Editor)
Edit.CollapseBlockcurrentblock
Edit.CollapseCurrentRegion          Ctrl+M, Ctrl+S (Text Editor)
Edit.CollapseTag                    Ctrl+M, Ctrl+T (Text Editor)
Edit.CollapsetoDefinitions          Ctrl+M, Ctrl+O (Text Editor)

Sie müssen auf jeden Befehl klicken, um die zugehörige Tastenkombination anzuzeigen.


Meine Beispiele stammen aus Visual Studio 2013.

DavidRR
quelle
0

In Visual Studio 2019:

Gehen Sie zu Extras> Optionen> Tastatur.

Suchen Sie nach Edit.ToggleAllOutlining

Verwenden Sie die dort aufgeführte Verknüpfung oder weisen Sie ihr die gewünschte Verknüpfung zu.

Andrew
quelle
-1

Wenn Sie collapse/expandeinen Bereich innerhalb eines Bereichs erstellen möchten class/method(anstatt den gesamten Bereich zu reduzieren class/method), können Sie benutzerdefinierte Bereiche wie folgt erstellen:

 #region AnyNameforCollapsableRegion

 //Code to collapse

 #endregion 

Referenz

Rajkumar S.
quelle
Dafür sind Regionen überhaupt nicht da. Regionen dienen der Wartbarkeit und Lesbarkeit des Codes und sollten verwendet werden, um ähnliche Methoden, Klassen usw. zu
gruppieren