Bei Version 2022.1 steht die Qualität im Mittelpunkt: Wir haben zahlreiche Verbesserungen und Bugfixes umgesetzt, insbesondere in den Bereichen Blazor-Entwicklung und C#-Unterstützung.
Kostenlose 30-Tage-Testversion verfügbar
We continue to improve support for C# 10, particularly global usings. Wir haben zwei neue Refactorings implementiert, die auch als Kontextaktionen verfügbar sind.
Extract Global Using hilft Ihnen, das Konzept globaler usings in Ihrem Projekt einzuführen. Sie können es auf einer gewöhnlichen using
-Direktive aufrufen, woraufhin ReSharper vorschlägt, diese in eine spezielle GlobalUsings.cs
-Datei zu extrahieren (wenn die Datei in Ihrem Projekt noch nicht vorhanden ist, wird sie erstellt). Die normale using
-Anweisung, die nun nicht mehr benötigt wird, wird aus den Dateien in Ihrem Projekt entfernt.
Sollten Sie sich entschließen, ein globales using
in ein gewöhnliches using
zu refaktorieren, hilft Ihnen das Refactoring Inline Global Using. Wenn das Refactoring für eine globale using
-Anweisung aufgerufen wird, wird diese aus der Datei GlobalUsings.cs
entfernt und die entsprechende using
-Anweisung an den erforderlichen Stellen in den Dateien in Ihrem Projekt eingefügt.
Globale usings werden in Find Usages und bei der Codeanalyse für Erweiterungsmethoden unterstützt.
We’ve looked into the approaching C# 11 and supported generic attributes.
[MemberNotNull]
und [MemberNotNullWhen]
werden jetzt in Projekten unterstützt, die keine nullfähigen Verweistypen verwenden. Unsere Endpunkt-Unterstützung funktioniert jetzt für die Minimal-APIs von ASP.NET Core 6 und für konventionsbasiertes Routing. Die Unterstützung umfasst Navigation, Codeanalyse und Code-Completion.
Hier sind die wichtigsten Neuerungen und Fehlerkorrekturen, die wir für Razor und Blazor vorgenommen haben:
[EditorRequired]
-Attribut aus .NET 6 wird jetzt unterstützt. Auch eine Inspektion und ein Quick-Fix sind verfügbar, wenn Sie versuchen, eine Blazor-Komponente zu verwenden, ohne die erforderlichen Parameter anzugeben. .razor
-Dateien mit Blazor-Komponenten wurde verbessert. Dadurch werden nicht mehr alle @using
-Deklarationen entfernt. Wir haben im Menü Alt+Enter alle Einträge mit Bezug zur Codebereinigung und -formatierung neu geordnet. Die Einträge Format selection, Cleanup selection und Apply syntax style wurden zu einem neuen Eintrag Reformat and Cleanup kombiniert, um einen gemeinsamen Zugangspunkt zu bieten.
Darüber hinaus sind die Syntaxstil-Einstellungen jetzt in den Aktionen Configure code style und Autodetect code style settings verfügbar. Der Fensterbereich Preview code style zeigt auch Syntaxstil-Änderungen an.
The Unreal Engine testing framework is now supported. ReSharper C++ erkennt Unit-Tests der Unreal Engine und zeigt im Editor neben jedem Test die entsprechenden Aktionssymbole an, damit Sie den Test oder die gesamte Testsuite unkompliziert ausführen oder debuggen können. Im Fenster Unit Test Sessions können Sie die Testergebnisse überprüfen und fehlgeschlagene, alle oder bestimmte Tests wiederholen.
ReSharper C++ kann jetzt besser mit impliziten Konstruktoraufrufen umgehen, sodass die Verwendungssuche und das Navigieren zum entsprechenden Konstruktor häufiger gelingt, darunter auch in den folgenden Fällen:
make_unique/make_shared
) und Unreal-spezifische (MakeShared/MakeUnique
) Funktionen zur Erstellung von Smart-Pointern emplace
-ähnliche Containermethodenstatic_cast
und Cast-Ausdrücke im C-Stil ReSharper C++ 2022.1 zeigt außerdem eine Überladungswarnung an, wenn eine emplace
-ähnliche Funktion nicht mit korrekten Argumenten aufgerufen wird.
Nach einer Performanceanalyse der Quellcodegeneratoren haben wir beschlossen, beim Abruf von Quellcode-generierten Dokumenten aus dem Compiler den zeitlichen Abstand zwischen den Anfragen zu erhöhen.
Auf diese Weise werden die Quellcodegeneratoren nicht vor dem Compiler ausgeführt und die CPU-Gesamtauslastung wird reduziert. Der genaue Performancegewinn hängt davon ab, ob auch andere Funktionalitäten die Generatoren auslösen, zum Beispiel die Visual-Studio-Completion für vollständige Zeilen.
We’ve fixed a number of performance issues already and laid the groundwork for more. Dazu gehören die Handhabung der Performance-Snapshots unserer Kunden, unternehmensinterne Profiling-Sitzungen und die Sammlung von Daten, um in Zukunft nach Möglichkeit eine automatische Prüfung auf Leistungsverschlechterungen durchführen zu können.
Die Arbeit am „Out-of-Process“-Modus wird fortgesetzt. Please refer to the newest update in our issue tracker.
Die InspectCode-Tools können Ausgabedateien erzeugen, die mit dem Static Analysis Results Interchange Format (SARIF) kompatibel sind.
Die Befehlszeilentools unterstützen jetzt Alpine Linux.
System.Private.CoreLib
. Der Pfad zur XML-Dokumentation wird jetzt im Header der dekompilierten Datei angezeigt. [TypeForwardedTo]
-Attribute). Die Aktion Locate in Metadata funktioniert auch für weitergeleitete Typen, Assembly- und Modulreferenzen sowie Ressourcen. Ab sofort unterstützt dotTrace SQL-Server-Ereignisse des Providers Microsoft.Data.SqlClient
unter Windows (.NET Core, .NET 5+) sowie macOS und Linux (.NET Core 3.0+, .NET 5+).
Sie haben jetzt die Möglichkeit, den Profiler an eine bereits laufende Anwendung anzuhängen, indem Sie einfach das entsprechende Symbol auf das Fenster der Anwendung ziehen.
Sie können jetzt mithilfe von Kommentaren bestimmte Codezeilen oder -blöcke von der Coverage-Analyse ausschließen. Hierfür stehen Ihnen mehrere Möglichkeiten zur Verfügung:
// dotcover disable
var i = 1;
var j = 10;
// dotcover enable
/* dotcover disable */ var i = 1; /* dotcover enable */
var i = 1; // dotCover disable this line
// dotcover disable next line
var j = 100;
Jede dieser Methoden funktioniert nur, wenn das NuGet-Paket JetBrains.dotCover.MSBuild
referenziert ist. Diese Abhängigkeit gilt nur für die Entwicklungsphase und wird nicht als Laufzeitabhängigkeit in Ihr Projekt aufgenommen.
.sqlproj
-Dateien beeinträchtigte. Kostenlose 30-Tage-Testversion verfügbar