Programmierunterstützung

ReSharper bietet eine Vielzahl an Funktionen, um zusätzliche Informationen über Code zu erhalten, strukturelle Codeblöcke auszuwählen und hervorzuheben sowie lokale Codetransformationen anzuwenden.

Syntaxhervorhebung in C#

Syntaxhervorhebung

ReSharper erweitert die standardmäßige Syntaxhervorhebung von Visual Studio um benutzerdefinierte Hervorhebungen von Codeelementen in verschiedenen Sprachen. So können Sie zum Beispiel einfach zwischen lokalen Variablen und Feldern in Ihrem Code unterscheiden. Um die Hervorhebung von ReSharper einzuschalten, gehen Sie zu ReSharper | Options | Code Inspection | Settings und wählen Sie Color Identifiers aus. Die Farbe ist für jedes Element konfigurierbar.

Kontextaktionen von ReSharper

Kontextaktionen

Die Kontextaktionen von ReSharper sparen eine Menge Zeit beim Tippen, indem schnell kleine Änderungen am Code unter dem Cursor vorgenommen werden. Zum Beispiel können Sie mit wenigen Tastendrücken Zugriffsmodifizierer ändern, eine Nullprüfung hinzufügen, foreach zu for konvertieren oder umgekehrt. Wenn Kontextaktionen für die aktuelle Cursorposition verfügbar sind, zeigt ReSharper das Hammersymbol ReSharper's context action indicator an: Sie können entweder auf das Symbol klicken oder Alt+Enter drücken, um eine passende Aktion auszuwählen.

Unterschiedliche Szenarien für die Funktion „Complete statement“

Complete statement

Diese Funktion fügt notwendige Syntaxelemente (Klammern, Semikolons usw.) ein und bewegt den Cursor in eine Position, an der Sie die nächste Anweisung eingeben können – das erspart Ihnen eine Menge Hin- und Herspringen mit dem Cursor. Behalten Sie während Ihrer Arbeit die standardmäßige Tastenkombination für diese Funktion im Hinterkopf: Strg+Umschalt+Enter.

Complete Statement (auch bekannt als Smart Enter) hilft Ihnen in unterschiedlichen Szenarien:, Klammern werden automatisch geschlossen, Semikolons hinzugefügt, if-, while- und for-Anweisungen vervollständigt und so weiter.

Sprachinjektionen mit ReSharper

Sprachinjektionen

Wenn ein Stringliteral Inhalte in einer anderen formalen Sprache enthält, dann kann ReSharper speziell auf diese Sprache zugeschnittene Codeinspektionen, Quick-Fixes, Codevervollständigung, Kontextaktionen und weitere Funktionen ausführen.

Wenn eine formale Sprache innerhalb eines Stringliterals nicht automatisch erkannt werden kann, dann erlaubt ReSharper Ihnen, das Literal mithilfe des Menüs Alt+Enter oder durch Hinzufügen des folgenden Kommentars direkt vor dem Stringliteral manuell als eine bestimmte Sprache zu markieren: /*language=html|regexp*/.

Überprüfung regulärer Ausdrücke

Unterstützung bei regulären Ausdrücken

ReSharper bietet einen reichhaltigen Umfang an Tools, um mit regulären Ausdrücken in C# zu arbeiten. Sie können schnell bestehende Ausdrücke analysieren sowie Fehler finden und beheben. Beim Schreiben von neuen Ausdrücken hilft ReSharper mit der automatischen Vervollständigung und Überprüfung.

Sie können den Menüpunkt ReSharper | Tools | Validate Regular Expression auswählen, um diverse Probestrings einzugeben und auf die Übereinstimmung mit Ihrem regulären Ausdruck zu testen. Mithilfe dieses Dialogfensters können Sie Ihren Ausdruck korrigieren und sicherstellen, dass Sie die erwarteten Treffer bekommen.

Parameterinformationen

Parameterinformationen

Auch dieser Teil der IntelliSense-Funktion von Visual Studio wurde in ReSharper erweitert. Wenn Sie eine Methode aufrufen, zeigen die Parameterinformationen Ihnen alle verfügbaren Methodensignaturen und -parameter mit der dazugehörigen Dokumentation in einer QuickInfo an. Die QuickInfo erscheint automatisch beim Tippen und lässt sich manuell mit Strg+Umschalt+Leertaste aufrufen. Während Sie neue Argumente hinzufügen, graut ReSharper jede Signatur aus, die inkompatibel wird.

Hervorhebung von paarweisen Elementen

Hervorhebung von paarweisen Elementen

Immer wenn Sie in C# den Textcursor direkt vor/hinter einer schließenden runden, eckigen oder geschweiften Klammer platzieren, wird die entsprechende öffnende Klammer hervorgehoben und umgekehrt (diese Option ist konfigurierbar).

In VB.NET wird die dazugehörige Sub oder Function hervorgehoben, wenn der Textcursor innerhalb oder End Sub oder End Function positioniert wird. Das passende Schlüsselwort und dessen Zeile werden immer dann hervorgehoben, wenn Sie den Textcursor innerhalb des öffnenden Schlüsselworts positionieren (Sie können auch diese Funktion genauer einstellen).

In XML werden passende Tags unaufdringlich hervorgehoben, wodurch Sie die Tag-Struktur sehen können.
Wenn ein zugehöriger Codeausschnitt aus dem Bildschirm scrollt, erscheint ein entsprechendes Popup zur besseren Übersicht.

Automatischer Import von Namespaces

Namespaces importieren

Wenn ein Typname nicht aufgelöst werden kann, weil Sie vergessen haben, die zugehörige Namespace-Importanweisung in den Quellcode aufzunehmen, dann erscheint ein kleines Popup, um einen oder mehrere Typen für den Import vorzuschlagen. Drücke Sie einfach Alt+Enter, und die entsprechende Namespace-Importanweisung wird automatisch eingefügt. Die Cursorposition bleibt dabei unverändert.

Bei Markupdateien in Webanwendungen kann ReSharper Benutzersteuerelemente (ascx-Dateien) basierend auf deren Verwendung automatisch importieren.

Automatisches Einfügen von schließenden Zeichen

Wenn Sie (, [, " oder ' im Editor eintippen, wird das passende schließende Zeichen automatisch eingefügt (sofern sinnvoll). Diese Funktion kann einfach ausgeschaltet werden, aber Sie sollten keine Angst davor haben, aus Versehen zu viele schließende runde oder eckige Klammern oder Anführungszeichen einzufügen. Wenn die schließende Klammer oder das Anführungszeichen bereits vorhanden ist, wird ReSharper nicht noch ein zweites hinzufügen.
In XML erscheint ein entsprechendes schließendes Zeichen automatisch, sobald Sie ein öffnendes Anführungszeichen oder eine öffnende Klammer eintippen.

Zeile oder Auswahl duplizieren

Duplizieren Sie schnell eine beliebige Codezeile (oder einen Codeblock), indem Sie den Textcursor auf die gewünschte Zeile im Editor positionieren (bzw. den gewünschten Block auswählen) und Strg+D drücken.

Code mit ReSharper-Tastenkombinationen neu anordnen

Umsortierung von Code

ReSharper erlaubt Ihnen das schnelle Ändern der Reihenfolge der Codeelemente mit einem einzigen Tastendruck (okay, insgesamt sind es vier Einzeltasten): Strg+Umschalt+Alt+Hoch/Runter/Links/Rechts. Sie können insbesondere Mitglieder hoch und runter verschieben, Parameter und Argumente neu anordnen, Anweisungen innerhalb eines Blocks verschieben, Anweisungen aus einem Block heraus oder in diesen hinein verschieben, XML-Tags hoch und runter und XML-Attribute nach links und rechts verschieben und so weiter.

Popup Schnelldokumentation

Schnelldokumentation

Um sich die Dokumentation für eine bestimmte Klasse, Methode/Funktion oder ein anderes Symbol direkt im Editor anzusehen, positionieren Sie den Textcursor auf ein Codesymbol und drücken Sie Strg+Umschalt+F1. Die Dokumentation wird in einem Popup-Fenster mit anklickbaren Links zu anderen Ressourcen angezeigt, insbesondere zur MSDN-Dokumentation.

Mit ReSharper Kommentare zum Code hinzufügen/entfernen

Kommentare zum Code hinzufügen/entfernen

Sie können einen Codeblock zügig auskommentieren oder die Auskommentierung aufheben, indem Sie den Block im Editor auswählen und Strg+Alt+/ (für Zeilenkommentare) oder Strg+Umschalt+/ (für Blockkommentare) drücken.

Falls kein Codeblock ausgewählt ist, können Sie außerdem Strg+Alt+/ verwenden, um die Codezeile, in der sich der Textcursor befindet, auszukommentieren oder die Kommentierung aufzuheben. Wenn Sie unter den gleichen Umständen Strg+Umschalt+/ drücken, werden die Blockkommentar-Öffnungszeichen (/*) und die Blockkommentar-Schließungszeichen (*/) direkt vor und hinter dem Textcursor eingefügt. Wenn der Textcursor innerhalb des kommentierten Codeblocks ist, wird die Kommentierung aufgehoben.

Codeauswahl erweitern oder verkleinern

Auswahl erweitern oder verkleinern

Die Funktion Extend Selection hilft, immer größere Codeblöcke auszuwählen. Das heißt, dass Sie mühelos jeden Ausdruck im Code auswählen können, indem Sie den Textcursor innerhalb des Ausdrucks platzieren und Strg+Alt+Rechts wiederholt drücken. Shrink Selection funktioniert auf die umgekehrte Weise und kann angewendet werden, indem Sie Strg+Alt+Links drücken.

Sie können das Mitglied, auf dem sich Ihr Textcursor befindet, oder dessen Typ, auch schnell auswählen, indem Sie Strg+Umschalt+[ drücken.

Stringliterale aufteilen: vorher

Stringliterale aufteilen

Wenn Sie lange Stringliterale eintippen müssen, dann hilft ReSharper Ihnen beim Aufteilen dieser in mehrere Zeilen, indem es die erforderlichen Anführungszeichen und Plus-Zeichen hinzufügt: Während sich der Textcursor innerhalb eines Stringliterals befindet, können Sie Enter oder Umschalt+Enter drücken, um den String aufzuteilen, ohne dessen Wert zu verändern.

Zwischenablage mit mehreren Einträgen

Elemente aus dem Verlauf der Zwischenablage einfügen

ReSharper bietet einen speziellen Einfügebefehl an, auf den Sie über Strg+Umschalt+V zugreifen können. Dieser lässt Sie auf den Verlauf der Zwischenablage zugreifen und schnell ein beliebiges der kürzlich aus Visual Studio in die Zwischenablage kopierten Elemente einfügen. ReSharper beginnt mit dem Aufzeichnen der in die Zwischenablage kopierten Elemente, sobald Sie Visual Studio starten, und es löscht den Verlauf, sobald Sie es schließen.

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.