it-swarm.com.de

C # -Anweisung von Visual Studio wird reduziert

Bei der Bearbeitung von wirklich langen Codeblöcken (die auf jeden Fall ohnehin umgestaltet werden sollten, aber das würde den Rahmen dieser Frage sprengen), sehne ich mich oft nach der Möglichkeit, Anweisungsblöcke zu kollabieren, wie Funktionsblöcke kollabieren können. Das heißt, es wäre toll, wenn das Minus-Symbol in der Code-Gliederung für alles in geschweiften Klammern erscheinen würde. Es scheint für Funktionen, Klassen, Regionen, Namespaces, Verwendungen, aber nicht für bedingte oder iterative Blöcke zu erscheinen. Es wäre fantastisch, wenn ich Dinge wie Wenns, Switches, Foreaches, solche Dinge zusammenbrechen könnte!

Beim Googeln habe ich festgestellt, dass C++ in VS offenbar dies zulässt, C in VS aber nicht. Ich verstehe nicht warum. Selbst Notepad ++ bricht zusammen, wenn ich die C # -Formatierung auswähle. Ich verstehe nicht, warum Visual Studio dies nicht tut.

Kennt jemand ein VS2008-Add-In, das dieses Verhalten ermöglicht? Oder eine Art versteckter Einstellung dafür?

Zum Hinzufügen hinzugefügt: Das Einfügen von Regionen ist natürlich eine Option, die mir schon in den Sinn gekommen ist, aber ehrlich gesagt, ich sollte nicht Dinge in einer Region einwickeln müssen, die bereits in geschweifte Klammern gehüllt sind ... wenn ich das bearbeiten würde vorhandener Code, ich würde es einfach umgestalten, um eine bessere Trennung der Bedenken zu haben. ("Umwickeln" mit neuen Methoden anstelle von Regionen;)

176
Grank

Beginnend mit Visual Studio 2017 ist das Ausblenden von Anweisungen integriert.

Es gibt mehrere Erweiterungen, die diese Aufgabe für VS-Versionen vor 2017 ab VS 2010 ausführen:

Die letzte Erweiterung unterstützt nur VS 2015 und VS 2017, ist jedoch die leistungsstärkste.
Es unterstützt die Syntaxfärbung in komprimierten Blöcken, es ist fehlertolerant und optimiert.

Wenn sich die Erweiterung scheinbar nicht installiert, nachdem Sie einen Browser zum Herunterladen verwendet haben, versuchen Sie es mit dem integrierten Visual Studio-Erweiterungsmanager.

264
Skyblade

Ich kenne keine Add-Ins, aber Sie erwähnten Regionen und ich sehe nichts Falsches, wenn Sie so etwas tun ...

foreach (Item i in Items)
{
  #region something big happening here
  ...
  #endregion

  #region something big happening here too
  ...
  #endregion

  #region something big happening here also
  ...
  #endregion
}

BEARBEITEN: Als Antwort auf die Frage BEARBEITEN: Sie haben Recht, eine Reihe von Regionen überall zu halten, ist nicht ideal und Refactoring ist wahrscheinlich der Weg zu gehen. Aber es scheint, dass Sie nach etwas Magischem suchen, das den Code für Sie "organisiert", und ich glaube nicht, dass das existiert.

20
Kon

Sie können bestimmte Textblöcke in Visual Studio ausblenden, Sie müssen jedoch die automatische Gliederung deaktivieren.

Klicken Sie mit der rechten Maustaste in Ihr Codefenster und wählen Sie (Gliederung | Gliederung stoppen).

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

19
Matt Brunell

Visual Studio 2008 unterstützt Regionen innerhalb von Funktionen, sofern Sie sie auf derselben Code-Hierarchieebene beibehalten

#region Won't work
for(int i = 0; i<Count; i++)
{
//do something
#endregion
}

for(int i=0; i<Count; i++)
{
#region Works fine
//do lots of stuff
#endregion
}
3
Chris Marisic

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 eingefügt wurde, aber ich erinnere mich, dass ich sie in einem Blog des Dev 10-Teammitglieds gesehen habe, in dem sie über Änderungen seit Beta 1 oder etwas anderem berichtete. Als Trost hier ein Kommentar von Microsoft, der angibt, dass sie ihn hinzufügen wollten.

2
Sam Harwell

Lassen Sie mich etwas anderes sagen: Presse(ctrl+m,ctrl+h) oder in Bearbeiten> Gliederung> Auswahl ausblenden Es ist so nützlich.

2
Mahdi Rafatjah

Ich habe dies für Visual Studio 2013 gefunden und fand es sehr hilfreich. Es funktioniert auch, wenn Sie mit {.....} einfache Klammern in Ihren Code einfügen.

Nach dem Teilen fand ich, dass jemand anderes diesen Link erwähnte. Ich stimme auch für dieses Werkzeug.

C # Gliederungstool für Visual Studio 2013

0
Builder

In VS2017 können Sie einen Codeabschnitt hervorheben, mit der rechten Maustaste klicken, Gliederung> Auswahl ausblenden. Dadurch wird der Code reduziert und der hervorgehobene Abschnitt wird umgeschaltet.

0
LoflinA

Ich füge hier hinzu, dass Microsoft in VS 2010 unter Verwendung von Managed Extensibility Framework (MEF) WPF-Adorner-Funktionen hinzugefügt hat. Dies ermöglicht es uns, den Quellcode-Editor so zu erweitern, dass er besser lesbar und zugänglich wird.

Zum Beispiel der Visualizer Summary Comments, den Scott Gu auf PDC 2008 vorgestellt hat .

Freuen Sie sich also auf eine bessere Zukunft für Entwickler :)

0
Vin

Coderush wird alle Codeblöcke für Sie umreißen. Nicht sicher, ob Sie die Blöcke erweitern oder reduzieren können, aber das Glätten ist das Beste. Ich benutze Resharper anstelle von Coderush.

0
goku_da_master