Wenn ich wirklich lange Codeblöcke bearbeite (die definitiv überarbeitet werden sollten, aber das geht über den Rahmen dieser Frage hinaus), sehne ich mich oft nach der Möglichkeit, Anweisungsblöcke so zu reduzieren, wie man Funktionsblöcke reduzieren kann. Das heißt, es wäre großartig, wenn das Minus-Symbol auf der Code-Gliederung für alles in geschweiften Klammern erscheinen würde. Es scheint für Funktionen, Klassen, Regionen, Namespaces, Verwendungen zu erscheinen, jedoch nicht für bedingte oder iterative Blöcke. Es wäre fantastisch, wenn ich Dinge wie Wenn, Schalter, Foreaches, so etwas zusammenbrechen könnte!
Als ich ein wenig darüber googelte, stellte ich fest, dass anscheinend C ++ - Konturen in VS dies zulassen, C # -Konturen in VS jedoch nicht. Ich verstehe nicht wirklich warum. Sogar Notepad ++ wird so zusammenbrechen, wenn ich die C # -Formatierung auswähle, sodass ich nicht verstehe, warum Visual Studio dies nicht tut.
Kennt jemand ein VS2008-Add-In, das dieses Verhalten ermöglicht? Oder eine versteckte Umgebung dafür?
Bearbeitet, um hinzuzufügen: Das Einfügen von Regionen ist natürlich eine Option und ist mir bereits in den Sinn gekommen, aber ehrlich gesagt sollte ich keine Dinge in eine Region einschließen müssen, die bereits in geschweifte Klammern eingeschlossen ist ... wenn ich die bearbeiten wollte Bestehenden Code würde ich einfach umgestalten, um eine bessere Trennung der Bedenken zu erreichen. ("Wrapping" mit neuen Methoden anstelle von Regionen;)
Antworten:
Ab Visual Studio 2017 ist das Reduzieren von Anweisungen integriert.
Es gibt mehrere Erweiterungen, die diese Aufgabe für VS-Versionen vor 2017 ausführen, beginnend mit der VS 2010-Version:
Die letzte Erweiterung unterstützt nur VS 2015 und VS 2017, ist jedoch die leistungsstärkste.
Es unterstützt die Syntaxfärbung in reduzierten Blöcken, ist fehlertoleranter und optimiert.
quelle
Add-Ins sind mir nicht bekannt, aber Sie haben Regionen erwähnt, und ich sehe nichts Falsches daran, so etwas zu tun ...
BEARBEITEN: Als Antwort auf die Frage BEARBEITEN: Sie haben Recht, es ist nicht ideal, überall eine Reihe von Regionen festzuhalten, und Refactoring ist wahrscheinlich der richtige Weg. Aber es scheint, dass Sie nach etwas Magischem suchen, das den Code für Sie "organisiert", und ich glaube nicht, dass es das gibt.
quelle
Sie können bestimmte Textblöcke in Visual Studio reduzieren, müssen jedoch die automatische Gliederung deaktivieren.
Klicken Sie mit der rechten Maustaste in Ihr Codefenster und wählen Sie (Gliederung | Gliederung beenden).
Wählen Sie dann einen Text aus, klicken Sie mit der rechten Maustaste und wählen Sie (Gliederung | Auswahl ausblenden).
Wenn Sie die automatische Gliederung wieder aktivieren, werden Ihre benutzerdefinierten "Regionen" nicht mehr reduziert.
quelle
Visual Studio 2008 unterstützt Regionen innerhalb von Funktionen, solange Sie sie auf derselben Code-Hierarchieebene halten
quelle
Lassen Sie mich etwas anderes sagen: Drücken Sie
(ctrl+m,ctrl+h)
oder in Bearbeiten> Gliederung> Auswahl ausblenden, es ist so nützlich.quelle
Diese Funktion wurde dem C # -Editor von Visual Studio 2010 hinzugefügt. Ich kann die Quelle nicht finden, die bestätigt, dass sie tatsächlich eingegeben wurde, aber ich erinnere mich, dass ich sie in einem der Blogs der Dev 10-Teammitglieder gesehen habe, in denen über Änderungen seit Beta 1 oder so etwas gesprochen wurde. Als Trost ist hier ein Microsoft-Kommentar, der darauf hinweist, dass sie ihn hinzufügen wollten.
quelle
Ich möchte hier hinzufügen, dass Microsoft in VS 2010 WPF-Adorner-Funktionen mithilfe des Managed Extensibility Framework (MEF) hinzugefügt hat. Auf diese Weise können wir den Quellcode-Editor erweitern, um sie besser organisieren und zugänglicher zu machen.
Zum Beispiel der Visualizer für Zusammenfassungskommentare, den Scott Gu auf der PDC 2008 vorgeführt hat .
Freuen Sie sich also auf ein besseres Morgen für Entwickler :)
quelle
Coderush skizziert alle Codeblöcke für Sie. Ich bin mir nicht sicher, ob Sie damit die Blöcke erweitern / reduzieren können, aber die Gliederung ist das nächstbeste. Ich verwende Resharper anstelle von Coderush, was meines Wissens auch kein Block-Collapse ermöglicht :(
quelle
Ich habe dies für Visual Studio 2013 gefunden und fand es sehr hilfreich. Es funktioniert auch, wenn Sie mit {.....} einfache Klammern um Ihren Code setzen
Nach dem Teilen fand ich jemanden, der diesen Link ebenfalls erwähnte. Meine Stimme ist auch für dieses Tool.
C # Gliederungstool für Visual Studio 2013
quelle
In VS2017 können Sie einen Codeabschnitt markieren, mit der rechten Maustaste auf Gliederung> Auswahl ausblenden klicken. Dadurch wird der Code reduziert und der markierte Abschnitt umgeschaltet.
quelle
# region, # endregion ist die intelligente Option.
quelle