visual-studio-2008 2017 - Visual Studio C#-Anweisung wird minimiert




ctrl mo (10)

Wenn ich wirklich lange Code-Blöcke bearbeite (die sowieso refaktoriert werden sollten, aber das geht über den Rahmen dieser Frage hinaus), sehne ich mich oft nach der Fähigkeit, Anweisungsblöcke zu reduzieren, so wie man Funktionsblöcke reduzieren kann. Das heißt, es wäre toll, wenn das Minus-Symbol in der Codeumrandung für alles erscheint, das in geschweifte Klammern eingeschlossen ist. Es scheint für Funktionen, Klassen, Regionen, Namespaces, Usings, aber nicht für bedingte oder iterative Blöcke zu erscheinen. Es wäre fantastisch, wenn ich Dinge wie ifs, switches, forefaches, so was zusammenfassen könnte!

Etwas in das Googeln hinein, entdeckte ich, dass C ++, das in VS skizziert, dies erlaubt, aber C #, das in VS skizziert, nicht tut. Ich verstehe nicht wirklich warum. Sogar Notepad ++ wird so zusammenbrechen, wenn ich die C # -Formatierung auswähle, also verstehe ich nicht warum Visual Studio nicht.

Kennt jemand ein VS2008-Add-In, das dieses Verhalten aktiviert? Oder eine Art versteckter Rahmen dafür?

Bearbeitet um hinzuzufügen: Einfügen von Regionen ist natürlich eine Option und es ist mir schon eingefallen, aber ganz ehrlich gesagt, ich sollte nicht Dinge in eine Region wickeln müssen, die bereits in geschweiften Klammern ... wenn ich das bearbeiten würde existierender Code, würde ich es einfach umgestalten, um eine bessere Trennung der Bedenken sowieso zu haben. ("Umhüllen" mit neuen Methoden anstelle von Regionen;)


Answers

# region, # endregion ist die intelligente Option.


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


Ich bin mir nicht bewusst, Add-Ins, aber Sie haben Regionen erwähnt und ich sehe nichts falsch daran, so etwas zu 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
}

EDIT: Als Antwort auf die Frage EDIT: Du hast Recht, eine Reihe von Regionen überall zu kleben 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 "organisieren" wird, und ich glaube nicht, dass das existiert.


Ab Visual Studio 2017 ist das Zusammenklappen von Anweisungen integriert.

Es gibt mehrere Erweiterungen, die diese Aufgabe für Versionen von VS vor 2017 durchführen, beginnend mit der VS 2010-Version:

Die letzte Erweiterung unterstützt nur VS 2015 und VS 2017, ist aber die leistungsfähigste.
Es unterstützt die Syntaxfärbung in kollabierten Blöcken, ist fehlertoleranter und optimiert.

Wenn die Erweiterung nicht zu installieren scheint, nachdem Sie einen Browser zum Herunterladen verwendet haben, versuchen Sie es mit dem integrierten Visual Studio-Erweiterungs-Manager.


Coderush wird alle Codeblöcke für Sie umreißen. Nicht sicher, ob es Ihnen erlaubt, die Blöcke zu erweitern / zu reduzieren, aber das Skizzieren ist das nächstbeste. Ich benutze ReSharper anstelle von Coderush, was meines Wissens auch kein Block-Kollabieren bietet :(


Visual Studio 2008 unterstützt Regionen innerhalb von Funktionen, solange Sie sie in 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
}


Ich werde hier hinzufügen, dass in VS 2010 Microsoft WPF Adorner-Funktionen mit Managed Extensibility Framework (MEF) hinzugefügt hat, dies ermöglicht es uns, den Quellcode-Editor zu erweitern, um sie besser zu organisieren, um es lesbarer und zugänglicher zu machen.

Zum Beispiel der Visualizer zur Zusammenfassung von Kommentaren, den Scott Gu auf der PDC 2008 vorstellte .

Freu dich also auf ein besseres Morgen für Entwickler :)


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

Nach dem Teilen fand ich heraus, dass jemand anderes diesen Link auch erwähnt hat. Meine Stimme gilt auch für dieses Tool.

C # Gliederungswerkzeug für Visual Studio 2013


Wenn du die Verknüpfung dann meinst

STRG + M + M : Dieser Befehl wird die Region, in der sich der Cursor befindet, zusammenfassen, unabhängig davon, ob es sich um eine Methode, einen Namespace oder was auch immer für das Zusammenfalten von Codeblöcken, Regionen und Methoden handelt. Der erste wird nur den Block / die Methode oder Region, in der sich der Cursor befindet, reduzieren, während der zweite die gesamte Region, in der Sie sich befinden, kollabieren lässt.

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







c# visual-studio-2008 ide text-editor outlining