Welche ReSharper 4.0-Vorlagen für C # verwenden Sie?
Lassen Sie uns diese im folgenden Format teilen:
[Titel]
Optionale Beschreibung
Verknüpfung: Verknüpfung
Verfügbar in: [AvailabilitySetting]
// Resharper template code snippet
// comes here
Makroeigenschaften (falls vorhanden):
- Macro1 - Value - EditableOccurence
- Macro2 - Value - EditableOccurence
- Ein Makro pro Antwort bitte!
- Hier sind einige Beispiele für das NUnit-Testgerät und den Standalone-NUnit-Testfall , die Live-Vorlagen im vorgeschlagenen Format beschreiben.
c#
templates
refactoring
resharper
Rinat Abdullin
quelle
quelle
Antworten:
Einfaches Lambda
So einfach, so nützlich - ein kleines Lambda:
Verknüpfung : x
Verfügbar : C #, wobei Ausdruck zulässig ist.
Makros: keine.
quelle
Implementieren Sie die Methode 'Dispose (bool)'
Implementieren Sie das Entsorgungsmuster von Joe Duffy
Verknüpfung: entsorgen
Verfügbar in: C # 2.0+ -Dateien, in denen die Deklaration von Typmitgliedern zulässig ist
Makroeigenschaften :
quelle
Erstellen Sie eine neue Einheitentestvorrichtung für einen Typ
Verknüpfung: ntf
Verfügbar in: C # 2.0+ -Dateien, in denen eine Typmitgliedsdeklaration oder eine Namespacedeklaration zulässig ist
Makros:
quelle
Überprüfen Sie, ob eine Zeichenfolge null oder leer ist.
Wenn Sie .Net 4 verwenden, bevorzugen Sie möglicherweise string.IsNullOrWhiteSpace ().
Abkürzung : sne
Verfügbar in : C # 2.0+, wo Ausdruck erlaubt ist.
Makroeigenschaften :
quelle
Erstellen Sie einen neuen eigenständigen Unit-Testfall
Verknüpfung: ntc
Verfügbar in: C # 2.0+ -Dateien, in denen die Deklaration eines Typmitglieds zulässig ist
Makros:
quelle
Deklarieren Sie einen log4net-Logger für den aktuellen Typ.
Verknüpfung: Protokoll
Verfügbar in: C # 2.0+ -Dateien, in denen die Deklaration von Typmitgliedern zulässig ist
Makroeigenschaften :
quelle
MS Test Unit Test
Neuer MS Test Unit-Test unter Verwendung der AAA-Syntax und der Namenskonvention in Art Of Unit Testing
Abkürzung: Testen (oder tst oder was auch immer Sie wollen)
Verfügbar in: C # 2.0+ -Dateien, in denen die Deklaration von Typmitgliedern zulässig ist
Makroeigenschaften (falls vorhanden):
quelle
Überprüfen Sie, ob die Variable null ist
Verknüpfung: ifn
Verfügbar in: C # 2.0+ -Dateien
Überprüfen Sie, ob die Variable nicht null ist
Verknüpfung: ifnn
Verfügbar in: C # 2.0+ -Dateien
quelle
Schreiben Sie eine StyleCop-kompatible Zusammenfassung für den Klassenkonstruktor
(Wenn Sie es satt haben, ständig eine lange Standardzusammenfassung für jeden Konstruktor einzugeben, damit diese der StyleCop-Regel SA1642 entspricht)
Abkürzung : csum
Verfügbar in: C # 2.0+
Makros:
quelle
Assert.AreEqual
Einfache Vorlage zum Hinzufügen von Asserts zu einem Komponententest
Verknüpfung : ae
Verfügbar in : in C # 2.0+ -Dateien, in denen Anweisungen zulässig sind
Fließende Version:
quelle
Viele Lambdas
Erstellen Sie einen Lambda-Ausdruck mit einer anderen Variablendeklaration, um das Verschachteln zu vereinfachen.
Abkürzung: la, lb, lc
Verfügbar in: C # 3.0+ -Dateien, in denen Ausdrucks- oder Abfrageklauseln zulässig sind
la ist definiert als:
lb ist definiert als:
lc ist definiert als:
Dies ähnelt Sean Kearon oben, außer dass ich mehrere Lambda-Live-Vorlagen für das einfache Verschachteln von Lambdas definiere. " la " wird am häufigsten verwendet, aber andere sind nützlich, wenn Sie mit Ausdrücken wie diesen umgehen:
quelle
Warte darauf...
Pause für Benutzereingaben vor dem Ende einer Konsolenanwendung.
Verknüpfung: Pause
Verfügbar in: C # 2.0+ -Dateien, in denen Anweisungen zulässig sind
quelle
Console.ReadKey(true);
und zulassen, dass eine beliebige Taste gedrückt wird.Generierung von Abhängigkeitseigenschaften
Erzeugt eine Abhängigkeitseigenschaft
Verknüpfung: dp
Verfügbar in: C # 3.0, wo die Mitgliederdeklaration zulässig ist
Makroeigenschaften (falls vorhanden):
PropertyName - Kein Makro - # 3
PropertyType - Zu diesem Zeitpunkt erwarteter Vermutungstyp - # 2
OwnerType - Enthält den Typnamen - kein bearbeitbares Vorkommen
quelle
Benachrichtigen Sie die geänderte Eigenschaft
Dies ist mein Favorit, weil ich es oft benutze und es viel Arbeit für mich erledigt.
Verknüpfung : npc
Verfügbar in : C # 2.0+, wo Ausdruck erlaubt ist.
Makros :
Verwendung : In einem Property Setter wie folgt:
Es wird davon ausgegangen, dass Ihre Hintergrundvariable mit einem "_" beginnt. Ersetzen Sie dies durch alles, was Sie verwenden. Es wird auch davon ausgegangen, dass Sie eine Eigenschaftsänderungsmethode wie die folgende haben:
In Wirklichkeit basiert die Version, die ich benutze, auf Lambda (weil ich meine Lambdas liebe!) Und produziert das Folgende. Die Prinzipien sind die gleichen wie oben.
Dann verwende ich nicht das äußerst elegante und nützliche PostSharp, um die gesamte INotifyPropertyChanged-Sache ohne Anstrengung auszuführen .
quelle
Quick ExpectedException Shortcut
Nur eine kurze Verknüpfung zum Hinzufügen zu meinen Unit-Test-Attributen.
Abkürzung : ee
Verfügbar in : Verfügbar in: C # 2.0+ -Dateien, in denen die Deklaration von Typmitgliedern zulässig ist
quelle
AutoMapper-Eigenschaftszuordnung
Abkürzung: fm
Verfügbar in: C # 2.0+ -Dateien, in denen Anweisungen zulässig sind
Makros:
Hinweis:
Ich lasse den Lambda "Punkt" weg, damit ich schlagen kann. sofort und Eigentum Intellisense bekommen. Benötigt AutoMapper ( http://automapper.codeplex.com/ ).
quelle
Erstellen Sie einen Testfall-Stub für NUnit
Dieser kann als Erinnerung (an die zu implementierende oder zu testende Funktionalität) dienen, die im Unit-Test-Runner angezeigt wird (wie jeder andere ignorierte Test).
Verknüpfung: nts
Verfügbar in: C # 2.0+ -Dateien, in denen die Deklaration von Typmitgliedern zulässig ist
quelle
Bei Bedarf aufrufen
Nützlich bei der Entwicklung von WinForms-Anwendungen, bei denen eine Methode von Nicht-UI-Threads aufgerufen werden kann und diese Methode dann den Aufruf an den UI-Thread weiterleitet.
Verknüpfung : inv
Verfügbar in : Die Anweisung C # 3.0+ files ist zulässig
Makros
Normalerweise verwenden Sie diese Vorlage als erste Anweisung in einer bestimmten Methode. Das Ergebnis ähnelt:
quelle
Neue C # Guid
Generiert eine neue System.Guid-Instanz, die mit einem neu generierten Guid-Wert initialisiert wurde
Verknüpfung: csguid Verfügbar in: in C # 2.0+ -Dateien
Makroeigenschaften :
quelle
MSTest-Testmethode
Das ist ein bisschen lahm, aber es ist nützlich. Hoffentlich wird jemand einen Nutzen daraus ziehen.
Verknüpfung: testMethod
Verfügbar in: C # 2.0
quelle
NUnit Setup-Methode
Verknüpfung: Setup
Verfügbar in: Verfügbar in: C # 2.0+ -Dateien, in denen die Deklaration eines Typmitglieds zulässig ist
quelle
NUnit Teardown-Methode
Verknüpfung: Teardown
Verfügbar in: Verfügbar in: C # 2.0+ -Dateien, in denen die Deklaration eines Typmitglieds zulässig ist
quelle
Erstellen Sie eine Überprüfung der Integrität, um sicherzustellen, dass ein Argument niemals null ist
Verknüpfung: eann
Verfügbar in: C # 2.0+ -Dateien, in denen die Typanweisung zulässig ist
Makros:
Anmerkungen: Obwohl dieses Snippet auf Open Source .NET Lokad.Shared- Bibliotheken abzielt , kann es problemlos an jede andere Art der Argumentprüfung angepasst werden.
quelle
Neue COM-Klasse
Verknüpfung : Klasse
Verfügbar in : C # 2.0+ -Dateien, in denen eine Typmitgliedsdeklaration oder eine Namespace-Deklaration zulässig ist
Makros
quelle
Assert Invoke nicht erforderlich
Nützlich bei der Entwicklung von WinForms-Anwendungen, bei denen Sie sicherstellen möchten, dass der Code auf dem richtigen Thread für ein bestimmtes Element ausgeführt wird. Beachten Sie, dass
Control
implementiertISynchronizeInvoke
.Abkürzung : ani
Verfügbar in : Die Anweisung C # 2.0+ files ist zulässig
Makros
System.ComponentModel.ISynchronizeInvoke
quelle
Trace - Writeline mit Format
Sehr einfache Vorlage zum Hinzufügen eines Trace mit einer formatierten Zeichenfolge (wie Debug.WriteLine bereits unterstützt).
Abkürzung: twlf
Verfügbar in: C # 2.0+ -Dateien, in denen Anweisungen zulässig sind
Makroeigenschaften:
value
- EditableOccurence"{0}"
- EditableOccurencequelle
Neue gefälschte Typemock-Isolator
Verknüpfung : gefälscht
Verfügbar in : [in c # 2.0-Dateien, in denen Anweisungen zulässig sind]
$ TYPE $ $ Name $ Fake = Isolate.Fake.Instance ();
Isolate.WhenCalled (() => $ Name $ Fake.)
Makroeigenschaften:
* $ TYPE $ - Typ für eine neue Variable vorschlagen
* $ Name $ - Wert einer anderen Variablen ( Typ ) mit dem ersten Zeichen in Kleinbuchstaben
quelle
Da ich gerade mit Unity zusammenarbeite, habe ich mir einige ausgedacht, um mein Leben ein bisschen einfacher zu machen:
Geben Sie Alias ein
Verknüpfung : ta
Verfügbar in : * .xml; * .config
Typdeklaration
Dies ist ein Typ ohne Namen und ohne Argumente
Verknüpfung : tp
Verfügbar in : * .xml; * .config
Typdeklaration (mit Namen)
Dies ist ein Typ mit Namen und ohne Argumente
Verknüpfung : tn
Verfügbar in : * .xml; * .config
Typdeklaration mit Konstruktor
Dies ist ein Typ mit Namen und ohne Argumente
Verknüpfung : tpc
Verfügbar in : * .xml; * .config
etc....
quelle
log4net XML-Konfigurationsblock
Sie können die Vorlage direkt importieren:
quelle
Methode virtuell machen
Fügt ein virtuelles Schlüsselwort hinzu. Besonders nützlich bei Verwendung von NHibernate, EF oder einem ähnlichen Framework, bei dem Methoden und / oder Eigenschaften virtuell sein müssen, um ein verzögertes Laden oder Proxying zu ermöglichen.
Verknüpfung: v
Verfügbar in: C # 2.0+ -Datei, in der die Deklaration eines Typmitglieds zulässig ist
Der Trick hier ist der Raum nach virtuell, der oben schwer zu sehen sein könnte. Die eigentliche Vorlage ist "virtual $ END $" mit aktiviertem Neuformatierungscode. Auf diese Weise können Sie zum Einfügepunkt unten (gekennzeichnet mit |) gehen und v eingeben:
quelle