ReSharper erweitert die native Codevervollständigung (IntelliSense) von Visual Studio mit fortschrittlicheren Möglichkeiten. Beispielsweise schränkt es die Liste der Vorschläge basierend auf Ihren Eingaben ein, versteht CamelCase-Abkürzungen („lowerCamelHumps”), schlägt Variablen- und Feldnamen abhängig vom Typnamen und Ihrem Namensgebungsstil vor, importiert automatisch ausgewählte Typen und Erweiterungsmethoden und vieles mehr.
Die Codevervollständigung mit Strg+Leertaste erkennt Variablen und Methoden, aktuell sichtbare Typnamen, Schlüsselwörter und mehr. ReSharper schlägt bei der Deklaration von Bezeichnern automatisch zu Ihrem Namensgebungsstil passende Präfixe vor.
ReSharper bietet sogar eine Vervollständigung für unaufgelöste Symbole im lokalen Geltungsbereich an: Selbst wenn ein Codesymbol nicht deklariert ist, erkennt ReSharper dessen bekannte Elemente aus dessen Verwendungen.
Alle Codevervollständigungsfunktionen von ReSharper, einschließlich der Symbolvervollständigung, unterstützen „CamelHumps” – das heißt, Sie können jedes Element vervollständigen, indem Sie nur dessen Großbuchstaben eingeben.
In ASP.NET-Dateien umfasst die Codevervollständigung von ReSharper auch Eigenschaften und Ereignisse von
Websteuerelementen, Datenquellen,
Inhaltsplatzhalter und selbstverständlich Inline-C#-Code.
Bei der Verwendung von XAML unterstützt ReSharper Sie mit Ressourcenreferenzen, und bei Buildskripten ergänzt ReSharper Eigenschaften, Ziele, Aufgaben und
Attributnamen aus dem aktuellen Geltungsbereich.
Strg+Leertaste ist jedoch viel mehr als das. Sie können damit auch Symbolüberschreibungen, partielle Methodentexte und partielle Klassen hinzuzufügen, Schnittstellenelemente implementieren und Eigenschaften generieren. ReSharper wird den gesamten Text einer Methode, Eigenschaft, eines Konstruktors usw. generieren und einfügen, wenn solche Elemente vervollständigt werden.
Die mit Strg+Alt+Leertaste aufgerufene intelligente Codevervollständigung filtert die Liste von Methoden, Feldern oder Variablen, um dem erwarteten Typ eines Ausdrucks zu entsprechen.
Wenn Sie beispielsweise
die intelligente Codevervollständigung für Methodenaufrufargumente verwenden, dann wird die Liste der vorgeschlagenen Werte auf den
geforderten Parametertyp eingeschränkt. Die intelligente Vervollständigung kann außerdem vorschlagen, anonyme Methoden, Lambda-Ausdrücke und
reguläre Methoden sowie lokale Variablen für out
-Parameter zu erstellen.
Die intelligente Vervollständigung funktioniert wunderbar bei XAML-Ereignis-Handlern und anderen Kontexten.
Die Import-Symbolvervollständigung wird mit Umschalt+Alt+Leertaste aufgerufen. Im Gegensatz zur Symbolvervollständigung (die nur Typen vervollständigt, auf die an der aktuellen Stelle zugegriffen werden kann) zeigt dieser Befehl alle Typen an, die zum jeweiligen Präfix passen, unabhängig davon, zu welchem Namespace sie gehören. Bei Bedarf werden automatisch die entsprechenden Namespace-Importanweisungen eingefügt.
In C#-Code-Dateien arbeitet die Import-Symbolvervollständigung nach Punkt mit Erweiterungsmethoden und fügt notwendige Using-Anweisungen ein. Die Import-Symbolvervollständigung ist außerdem sehr hilfreich für Tagnamen in XAML-Markup. Namespace-Importe werden ebenfalls nach Bedarf eingefügt.
Wenn die Vervollständigungsliste leer ist oder keine erwarteten Elemente enthält, können Sie ein zweites Mal die Tastenkombination für einen beliebigen Vervollständigungstypen drücken.
ReSharper erweitert dann die Vervollständigungsliste durch geschützte, private und interne Elemente, Symbole von nicht referenzierten Assemblies, Aufrufketten, die den erwarteten Datentyp zurückgeben, Casts für den erwarteten Datentyp und mehr. Selbstverständlich werden die fehlenden Importe und Referenzen automatisch hinzugefügt, wenn Sie einen Vorschlag übernehmen.
ReSharper erlaubt es Ihnen, Vervollständigungsvorschläge nach Symbolart, Zugriffsmodifizierern und anderen Filtern einzugrenzen. Sie können bei jedem Aufruf der Codevervollständigung die verwendeten Filter beibehalten oder verändern.
ReSharper bietet außerdem eine Reihe von Funktionen zur C#-Eingabeunterstützung an, die beim Schreiben von Code einfache Tippfehler korrigieren.
Wenn Sie beispielsweise aus Versehen MethodenName(.)
eingeben, wird dies automatisch durch
MethodenName().
ersetzt – so können Sie die Aufrufkette fortsetzen, ohne sich mit einer Syntaxfehlermeldung herumschlagen zu müssen.
Auf die gleiche Weise korrigiert ReSharper in Stringliteral-Interpolationen ein falsch eingetipptes Präfix @$
zu $@
.
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.