Automatisch Hinzufügen-Regionen-Code in Visual Studio
Mein team absolut liebt, mit Regionen, und mit diesem Gedanken, es ist ziemlich viel zu einem de-facto-standard in unserem code. Ich kam neulich zur Erkenntnis, dass ich krank bin, schriftlich oder Strg+c /Strg+v ' Ing diese jedes mal, wenn ich eine Klasse erstellen, test-Methode, etc...
Ich Frage mich, ob es möglich ist (über Makros oder anderen Funktionen), um Visual Studio automatisch fügen Sie diese in Ihren code ein.
Wenn ich zum Beispiel fügen Sie eine neue Klassendatei zu meinem Projekt, können Sie ausführen irgendeine Art von Magie, um visual studio erzeugen Sie die Datei als:
namespace Test
{
class MyClass
{
#region ------------ members --------------
#endregion
#region ------------ properties --------------
#endregion
#region ------------ methods --------------
#endregion
}
}
Wo ich wirklich genervt von derzeit nicht wissen, wie Sie dies tun, ist, wenn ich Schreibe unit tests. Dies kann ein bisschen schwieriger, aber ich war versuchen zu finden ein Weg, um --set up--
und --run test--
Regionen automatisch zu testen, Methoden, weil unser team ist darauf, über die Verwendung der Ihnen.
So, wenn ich nach erstellen einer neuen test-Methode
[TestMethod]
public void WhenCondition_WillProduceExpectedResult()
{
}
Visual Studio automatisch fügen Sie diese beiden Regionen, um die Methode, wie:
[TestMethod]
public void WhenCondition_WillProduceExpectedResult()
{
#region ------------- set up -------------
#endregion
#region ------------- run test -------------
#endregion
}
Nicht sicher, ob dies getan werden kann, und wenn es kann, ob es sein würde, über einen vs-makro oder eine Erweiterung. Jede Hilfe ist sehr willkommen!
- Regionen sind eine wirklich schlechte code smell. Wenn Sie brauchen die Regionen dann Ihre Klassen sind wahrscheinlich viel zu groß.
- Ich finde Strg-C und Strg-V sehr hilfreich 😉
- Regionen nicht kompilieren. Sie sind nur für die Lesbarkeit und die organisation, wie ist der code smell?
- Mit einer Klasse-Vorlage könnte das erreichen, was Sie wollen. Man könnte auch ein makro schreiben, dies zu tun. Würden Sie auch schreiben, ein add-on, wenn Sie wollte. Außerhalb einer bestimmten Frage, ich sehe das nicht als Thema, da es scheint, Ihre polling-Verfahren für Lösungen.
- er hat nur gesagt: "Wenn Sie müssen die Regionen dann Ihre Klassen sind wahrscheinlich viel zu groß" <= Bad code smell...
- Lesen Sie dieses von Jeff Atwood, einer der Schöpfer dieses sehr website: codinghorror.com/blog/2008/07/...
- Unabhängig davon, wie viel könnte ich mögen oder nicht mögen-Regionen, der wichtige Teil ist, ich bin Mitglied eines team, dass hat Sie übernommen als standard.
- und @S-Liste, das ist was ich gerade mache...ich glaube, ich könnte aufhören, so wählerisch und einfach weiter, mit der Tastenkombination STRG+C/STRG+V ' Ing 🙂
- oh, und Kommentare, die nicht kompilieren, entweder.
- Ich würde zumindest bringen, bis die Bedenken hier über die Verwendung von Regionen für jede test-Methode, oder Klasse. Ich habe festgestellt, dass externe(außerhalb des Teams/Unternehmen) - standards sind immer günstiger als die interne(im team/Unternehmen) standards.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnte man erstellen Sie eine einfache code-snippet wie folgt aus:
Speichern Sie die Datei in
C:\Users\<your_user>\Documents\Visual Studio 2010\Code Snippets\Visual C#\My Code Snippets
.Nun müssen Sie nur öffnen Sie Visual Studio, Typ 'einfach' in eine Klasse und drücken Sie die Tab-Taste zweimal.
Zwei Möglichkeiten, die ich kenne:
Erstellen Sie ein snippet per dieser MSDN guide.
Download der Visual Studio-Erweiterung Productivity Power Tools die "Surround" Funktion. Diese umgibt der Anwender die Auswahl mit der gewählten snippet, zum Beispiel
#region #endregion
- oder if-Anweisung.Weiß nicht, warum so viele Menschen sprechen sich gegen die Regionen; Sie helfen mir, kategorisieren, mein code ist sehr einfach. Was ich benutze, ist ein makro, platziert auf einem meiner Tastatur-Tasten, die fügt automatisch den Regionen, für mich. Ein Tipp, den ich dir geben kann ist, um eine kleine Verzögerung nach jedem Tastendruck, ob das möglich ist, weil VS manchmal findet Zeichen sonst.
Hoffe, das hilft!
Verwenden Sie den folgenden Codeausschnitt
Speichern unter C:\Users\\Documents\Visual Studio 2010\Code Snippets\Visual C#\My Code Snippets
Später wird es zugänglich sein, C# - code, indem Sie mit der Rechten Maustaste > Insert Snippet > Mein Code-Schnipsel > #Classregion
Und ich bin damit einverstanden, dass die Regionen sind eine schlechte Idee, aber jedem das seine.
Möchten Sie vielleicht einen Blick auf NArrange.
Wenn Sie Resharper dann die Datei-Struktur-Fenster ist sehr praktisch für die Verwaltung Regionen, so dass die einfache drag-and-drop zum verschieben von Blöcken von Methoden/Eigenschaften etc. um. Es zeigt Ihre Regionen (das sind zusammenklappbare) & synchronisiert mit dem Haupt-code anzeigen zu:
https://www.jetbrains.com/help/resharper/Reference__Windows__File_Structure_Window.html
z.B. aus der region " Album Vorhören hier gezeigt: