Neuigkeiten zum ReSharper 5 (Teil 3)
Kommentare

Strukturiertes Suchen und Ersetzten
Ein sehr beeindruckendes neues Feature ist das strukturierte Suchen und Ersetzen. Damit lassen sich Muster im Code erkennen und beheben.
Nehmen wir an, ein Developer

Strukturiertes Suchen und Ersetzten

Ein sehr beeindruckendes neues Feature ist das strukturierte Suchen und Ersetzen. Damit lassen sich Muster im Code erkennen und beheben.

Nehmen wir an, ein Developer hat die seltsame Angewohnheit immer ein switch-case mit einer einzigen case-Anweisung und einem default zu schreiben. Dieses soll im Code aufgespürt und korrigiert werden.

Versteckt unter ReSharper > Tools > Pattern Catalog erscheint ein Fenster in dem sogenannte Pattern hinzugefügt werden können:

Abb. 13: Pattern
Abb. 13: Pattern

Tatsächlich erscheint Code der diesem Pattern folgt als Error gekennzeichnet und bietet das Replacement als Quickfix mit dem Text „Durch bedingte Rückgabe mit 😕 Ersetzen“ an.

Abb. 14: Code Quickfix
Abb. 14: Code Quickfix

Der Code wird bei Bestätigung des Quickfixes transformiert:

Abb. 15: Code Fixed
Abb. 15: Code Fixed

Die neue Suche Code Issues in Solution ist unter ReSharper > Inspect zu finden und informiert über alle „Vergehen“ innerhalb eines Projektes oder einer ganzen Solution.

Auf der Webseite zur neuen Version verspricht JetBrains außerdem eine automatische Konvertierung von imperativen loop-Code zu deklarativen LINQ-Statements und eine Reihe von weiteren neuen Code Inspections.

Externe Quellen

In ReSharper 5 genügt Strg+Click auf ein Symbol, das nicht Bestandteil der Solution ist, um externe Quellen gegebenenfalls herunterladen zu lassen und anzuzeigen.

Abb. 16: CloneNode-Benutzung
Abb. 16: CloneNode-Benutzung

Die Sourcen der Assembly System.Xml werden heruntergeladen.

Abb. 17: Download
Abb. 17: Download

ReSharper springt daraufhin direkt in die gewünschte Methode CloneNode der Klasse XmlElement im .NET Framework.

Abb. 18: CloneNode-Code
Abb. 18: CloneNode-Code
Neues auf Projekt und Dateiebene

Endlich lassen sich Klassen zwischen Ordnern und Projekten bewegen, ohne dass der Namespace manuell angepasst werden muss. Es können auch in einem Schritt alle Klassen einer Datei in mehrere Dateien zerlegt werden.

Ganze Subsysteme können nun in einem Rutsch sicher entfernt werden und die Synchronisation von Dateistruktur und Namespaces ist im Batch über die ganze Solution ausführbar.

Zwei neue Suchen zeigen Projektabhängigkeiten auf: Project Hierarchy, über das Kontext-Menü im Solution-Explorer zu erreichen zeigt einen Baum von Abhängigkeiten. Mit Find Code Dependent on Module ist Code aufzuspüren, der von dem zu inspizierenden Projekt abhängt.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -