ReSharper Ultimate 2020.1 führt ein neues Datenflussanalysetool für Integer-Werte in C# ein und bietet eine bessere Unterstützung für nullbare Referenztypen sowie für die neuen Sprachmerkmale von C++20. Die XAML- und Unreal-Engine-Unterstützung wurden ebenfalls verbessert. Die Navigation wurde um einige neue Funktionen erweitert, und im Localization Manager können jetzt Kommentare erstellt werden. Der Decompiler unterstützt weitere Funktionen von C# 7.x und 8.0.
Kostenlose 30-Tage-Testversion verfügbar
Diese Version von ReSharper führt eine neue Art der C#-Codeanalyse ein, um die Verwendung von Integer-Werten in Ihrer Anwendung zu verfolgen. Durch diese neuartige Analyse wird nachverfolgt, wie sich die Werte aller lokalen int
-Variablen verändern. Alle Operationen mit diesen Variablen werden auf Korrektheit überprüft, um nutzlose oder möglicherweise fehlerhafte Codeabschnitte zu erkennen. Im Einzelnen werden Sie in folgenden Fällen gewarnt:
wahr
oder falsch
ergeben switch
-Prüfungen von int
-Werten 1
, Addition von 0
usw. int
-Überläufe0
Um die Genauigkeit der Analyse zu verbessern, haben wir zwei neue JetBrains.Annotations-Attribute hinzugefügt, die mit int
-Typmembern und -Parametern verwendet werden können: [NonNegativeValue]
und [ValueRange(from, to)]
. Diese Attribute geben an, wie welche Werte die jeweiligen int
-Member während der Laufzeit annehmen können.
Wir verbessern laufend die Unterstützung für C#-8-Sprachmerkmale. Wir haben die C#-Sprachunterstützung unter der Haube umfassend refaktoriert, um Codeanalysen und andere Funktionen wie das Refactoring und ReSharper Build auf die Unterstützung von nullbaren Referenztypen (NRT) vorzubereiten. ReSharper 2020.1 meldet bei der Codeanalyse Compiler-Warnungen für nullbare Referenztypen und bietet Quick-Fixes für die meisten Probleme an.
Mehrere neue Inspektionen und Quick-Fixes bieten außerdem folgende Möglichkeiten:
async
-Methodenüberladungen (falls verfügbar) anstelle von sync
-Überladungen nameof
-Ausdrucks statt mit typeof(SomeType).Name den Namen des aktuellen Typs auszulesen In dieser Version haben wir unzählige Änderungen an der Architektur von ReSharper vorgenommen, um Stück für Stück unserem Ziel näher zu kommen, alle Kernfunktionen von ReSharper außerhalb des Visual-Studio-Prozesses auszuführen. Alle diese Änderungen wurden unter der Haube vorgenommen, sodass Sie an der Benutzeroberfläche und bei der Verwendung von ReSharper 2020.1 keine Änderungen bemerken werden.
Wenn Sie bisher unsere Updates über die Fortschritte bei der Out-of-Process-Verlagerung von ReSharper verpasst haben, ist dies eine gute Gelegenheit, sich auf den neuesten Stand zu bringen.
Dieses Update führt einige kleine Neuerungen bei der Navigation ein, die Sie unabhängig davon nützlich finden werden, ob Sie bei der Interaktion mit ReSharper die Maus oder die Tastatur bevorzugen:
In v2020.1 haben wir zahlreiche Verbesserungen und Korrekturen an der XAML-Unterstützung für WPF, Xamarin.Forms, UWP und Avalonia vorgenommen.
Erheblich verbessert wurden auch die Datenkontext-Inferenz und die Symbolauflösung in Bindings:
d:BindingContext
Picker.ItemDisplay
in Xamarin.FormsRelativeSource
-Binding in Xamarin.FormsScrollViewer
ItemsSource
als verschachteltes Element verwendet wirdTreeView.ItemContainerStyle
In UWP-Projekten umfasst die Unterstützung jetzt folgende Elemente:
CustomResource
-Binding Durch weitere Korrekturen wurde die Unterstützung erweitert auf:
URN
) in der Schemadefinition für benutzerdefinierte XML-Namensräume x:Static
-Direktiven für AvaloniaAb ReSharper 2020.1 können Sie Ihre Unit-Test-Sitzungen beliebig exportieren und importieren. Dies ermöglicht das Teilen im Team, zwischen Computern oder zwischen Branches, wenn Sie zum Beispiel eine Codeänderung vorgenommen haben und denselben Satz von Unit-Tests in beiden Branches ausführen oder auf Coverage testen möchten.
Außerdem bleiben bereits erstellte Unit Test Sessions nach einem Upgrade auf eine neue Hauptversion von ReSharper erhalten, was praktisch ist, wenn Sie geöffnete und gesperrte Sessions nicht verlieren wollen.
Ihr Wunsch war uns Befehl! Die Tabelle enthält neue Zeilen für Kommentare. Sie können jetzt für jeden Wert, der aus einer Ressourcendatei stammt, direkt in der Tabelle einen Kommentar eingeben oder bearbeiten. Diese Kommentare können auch exportiert und importiert werden. Wenn Sie keine Kommentare verwenden oder sie gerade nicht benötigen, können Sie sie mit dem Symbol „Show/Hide comments“ ausblenden.
Außerdem haben wir verschiedene Performance-Fixes implementiert, um das Laden und Filtern der Tabelle zu beschleunigen, Hänger in der Benutzeroberfläche zu vermeiden und flüssigeres Scrollen zu ermöglichen.
Auch bei der Benutzerführung gibt es etliche Verbesserungen:
Neue Einstellungen für C#-Codestile ermöglichen Vorgaben für das abschließende Komma. Die Einstellungen, die Sie unter ReSharper | Options | Code Editing | C# | Code Style | Trailing comma finden, sind mit Ausnahme einiger Sonderfälle auch mit der Inspektion StyleCop SA1413 kompatibel.
Der C++20-Standard ist praktisch verabschiedungsreif, und ReSharper C++ erweitert die Unterstützung dieses neuen Standards. Es werden mehrere neue Sprachmerkmale unterstützt, darunter Typplatzhalter mit Einschränkungen, verkürzte Funktionsvorlagen und die Deklaration „using enum“. Darüber hinaus bietet ReSharper C++ einen Quick-Fix zum Aktualisieren von Lambda-Deklarationen auf die C++20-Vorlagensyntax sowie eine Refaktorierung zum mühelosen Einfügen von „using enum“-Deklarationen.
Durch eine aktualisierte Unreal-Engine-Unterstützung verbessert ReSharper C++ 2020.1 die Rename-Refaktorierung und unterstützt das SpatialOS GDK sowie USF-Dateien mit virtuellen Dateipfaden. ReSharper C++ hält sich zudem enger an die Unreal-Engine-Richtlinien, indem die Inspektion Use auto unterdrückt wird und bei Konsolenvariablen und Protokollkategorien die Namenskonventionen befolgt werden.
ReSharper C++ 2020.1 bietet Erstunterstützung für HLSL. Bereits in diesem frühen Stadium umfasst die Unterstützung eine Vielzahl von Funktionen, darunter die grundlegende Codehervorhebung, eine intelligente Code-Completion sowie eine schnelle Navigation.
Jetzt können Sie mit der Aktion Next Important Call durch die Aufrufstruktur navigieren. Drücken Sie StrgUmschaltRechts, und dotTrace bringt Sie zum Knoten, der für die weitere Analyse am relevantesten ist (z. B. aufgrund einer hohen eigenen Ausführungszeit).
Die Funktion ist in dotTrace Standalone (sowohl im Performance Viewer als auch im Timeline Viewer), Visual Studio und JetBrains Rider verfügbar.
Diese Version bietet eine verbesserte Unterstützung für C#-Sprachmerkmale:
Kostenlose 30-Tage-Testversion verfügbar