Codegenerierung

Die Codegenerierungsaktionen von ReSharper können eine Menge Code für Sie erzeugen: Konstruktoren, um beliebige Gruppen an Typmitgliedern zu initialisieren; Methoden und Eigenschaften, die von einer implementierten Schnittstelle benötigt werden; Gleichheitsprüfungen, Formatieren von Mitgliedern und mehr.

Für weitere Möglichkeiten, gewöhnlichen Code wie Klassen, Bedingungsblöcke und GUIDs zu generieren, siehe Codevorlagen.

Code mit ReSharper anhand von Verwendungen erzeugen

Aus Verwendungen generieren

Mit ReSharper können Sie eine Methode/Funktion, Eigenschaft, lokale Variable oder Feld oder sogar eine Klasse verwenden, ohne sie deklariert zu haben. ReSharper schlägt anhand der Verwendung einen Quick-Fix für die Generierung der entsprechenden Deklaration vor und hilft Ihnen dann auf intelligente Weise, die Deklaration dem Verwendungskontext anzupassen. Wenn Sie beispielsweise eine Methode anhand ihrer Verwendung erzeugen, dann erstellt ReSharper nicht nur die Methode, sondern erkennt auch den Rückgabetyp und die Parametertypen.

Menü in ReSharper generieren

Typmitglieder generieren

Sie können mit ReSharper schnell verschiedene Typmitglieder generieren, indem Sie einfach Alt+Einfg drücken.

Typkonstruktoren mit ReSharper generieren

Typkonstruktoren generieren

Wählen Sie Constructor im Popupmenü Generate aus und wählen Sie dann die Felder, Auto-Eigenschaften und Basiskonstruktoren aus, die Sie im Konstruktor initialisieren wollen. Konstruktoren auf diese Weise zu erstellen, erfordert nur ein paar Tastendrücke.

Methoden implementieren/überschreiben

Erstellen Sie Stubs für die Schnittstellenimplementierung/Überschreibung geerbter Mitgliederfunktionen. Wenn eine Liste verfügbarer Methoden zur Implementierung/Überschreibung bereitgestellt wird, dann werden entsprechende Stubs generiert. Sie können mehrere Stubs gleichzeitig generieren, indem Sie mehrere Methoden auswählen, wenn Sie aufgefordert werden. Überschriebene Eigenschaften können auf automatisch gestellt werden.

Delegierende Mitglieder generieren

Delegierende Mitglieder bieten eine Möglichkeit, ein Verhalten zu kapseln oder Methoden eines Klassenfelds durch über die Schnittstelle der Klasse zu veröffentlichen. Spezifizieren Sie Felder und deren Methoden und ReSharper generiert Wrapper-Methoden in der aktuellen Klasse.

Eigenschaften generieren

Wählen Sie als Erstes Read-only properties oder Properties im Menü Generate aus. Als Zweites wählen Sie ein oder mehrere Felder aus, wenn Sie im Dialogfeld dazu aufgefordert werden. Voilà. Sie können die neue Eigenschaft virtuell machen oder die XML-Dokumentation aus den Felddeklarationen kopieren.

Formatierungsmitglieder generieren

Sie können in jeder Klasse schnell eine ToString()-Überschreibung generieren, wodurch ein Formatstring mit einer beliebigen Anzahl an Typfeldern oder Auto-Eigenschaften ausgegeben wird.

Member für Gleichheitsprüfung generieren

Generieren Sie schnell eine Equals()- und GetHashCode()-Methode für den aktuellen Typ. ReSharper erstellt nicht nur die Methoden, sondern generiert auch den erforderlichen Code für eine Gleichheitsprüfung und/oder für die Berechnung des Hashcodes. Außerdem kann ReSharper Gleichheits- und Ungleichheitsoperatoren oder stark typisierte IEquatable<T>-Schnittstellen erstellen.

Optionen für die Codegenerierung

Optionen für die Codegenerierung konfigurieren

Sie können auf mehrere Arten kontrollieren, wie neue Mitglieder generiert werden.

Zunächst können Sie für die einzelnen Member einen benutzerdefinierten Benennungsstil konfigurieren. Wenn es bereits einen Benennungsstil gibt, dann setzt ReSharper dessen Anforderungen beim Generieren neuer Member um.

Die anderen Optionen können unter ReSharper | Options | Code Editing | Members Generation konfiguriert werden. Beispielsweise können Sie eine der folgenden Optionen für den standardmäßigen Textkörperinhalt des generierten Members auswählen: NotImplementedException(), Rückgabe eines Standardwerts und nicht kompilierbarer Code.

Hinweis zu Tastenkombinationen

Alle auf dieser Seite angegebenen Tastenkürzel sind in der standardmäßigen "Visual Studio"-Tastaturbelegung von ReSharper verfügbar. Weitere Informationen zu den beiden Tastaturbelegungen von ReSharper finden Sie in der ReSharper-Dokumentation.