ReSharper 2023.3 bietet Unterstützung für die neuesten Sprachmerkmale von C# 12. Zu den weiteren Neuerungen zählen Entity-Relationship-Diagramme und Inspektionen für Entity-bezogene Probleme. Dieses Update enthält mehrere wichtige Performance-Verbesserungen, darunter eine optimierte Codeanalyse im Hintergrund und die Möglichkeit, die für die Codeanalyse eingesetzten Ressourcen zu steuern. ReSharper 2023.3 profitiert außerdem von einem großen Update des AI Assistant.
Kostenlose 30-Tage-Testversion verfügbar
JetBrains AI Assistant ist jetzt allgemein verfügbar und bietet eine Reihe von neuen und verbesserten Funktionen, die Ihre Produktivität steigern. Zu den neuesten Verbesserungen für ReSharper gehören:
Sie können AI Assistant in ReSharper als Zusatzfunktion mit einem Abonnement für den JetBrains AI Service verwenden.
Mit dem neuesten Release erweitert ReSharper die Liste der unterstützten C#-12-Sprachmerkmale unter anderem auf Primärkonstruktoren, Alias-Direktiven zur Referenzierung beliebiger Typen, Collection-Ausdrücke und Interceptor-Methoden.
In diesem Blogartikel erfahren Sie mehr über die neuesten Updates der C#-Unterstützung in Rider und ReSharper 2023.3.
ReSharper 2023.3 erkennt und beherrscht jetzt mehr Szenarien, in denen Codeanalysen bei Unterbrechungen durch Texteingaben inkrementell durchgeführt werden können. Diese Verbesserung ist vor allem bei der Bearbeitung großer Dateien von Vorteil.
Seit dem neuesten Update können Sie auch den Ressourcenumfang steuern, der für die projektmappenweite Codeanalyse bereitgestellt wird. Sie haben jetzt die Möglichkeit, die Ressourcennutzung in mehreren Stufen einzustellen: Low, Moderate und High.
Trotz seines Namens ist auch der High-Modus so konzipiert, dass er die Texteingabe im Editor nicht behindert und die Reaktionsschnelligkeit der IDE nicht beeinträchtigt. Die CPU-Auslastung wird nur dann allmählich erhöht, wenn die Codeanalyse durch Codeeingabe unterbrochen wird. Dabei wird eine flüssige Eingabe gewährleistet, während die projektmappenweite Analyse des Quellcodes im Hintergrund fortgesetzt wird.
In Projektmappen mit zahlreichen Zieltyp-basierten Objekterzeugungen – zum Beispiel MeinTyp _feld = new()
– wurde die Suche nach Verwendungen von Typen und Konstruktoren beschleunigt. Auch die Refactoring-Geschwindigkeit wird dadurch positiv beeinflusst.
Wir haben auch einige Probleme behoben, die beim Umgang mit injizierten Sprachen eine erhöhte CPU-Auslastung verursachten.
Wir haben die Benutzerführung beim Refactoring Extract local function überarbeitet. Bisher war es nicht ganz einfach, einen Zielort für die neue Funktion aus der Liste der verfügbaren Optionen auszuwählen, und es war nicht eindeutig, worauf sich diese Auswahl bezog.
Die aktualisierte Benutzerführung sorgt dafür, dass Ihnen jetzt direkt im Code-Editor eine Vorschau der neuen Funktionssignatur angezeigt wird. So können Sie genau erkennen, wo die Funktion eingefügt wird und wie sich Ihre Wahl auswirkt. Sie können auch sehen, welche Variablen in Parameter statt Closures umgewandelt werden und welche anderen Funktionen verschoben werden, um Aufrufe am Zielort zu ermöglichen.
Sinnvoll eingesetzt können die Schnellaktionen von Visual Studio und ReSharper sich gut ergänzen. Mit ReSharper 2023.3 können Sie problemlos die Fähigkeiten beider Systeme kombinieren. Sie haben jetzt die Möglichkeit, je nach Einstellung ausschließlich die Schnellaktionen von ReSharper zu verwenden, für beide Aktionen Vorschlagsymbole anzuzeigen oder alle Schnellaktionen über einen gemeinsamen Zugangspunkt aufzurufen – nämlich das Glühbirnenmenü von ReSharper.
ReSharper 2023.3 führt Tastenkürzel für die Aktion Copy Code Reference ein. Jeder Codereferenztyp im Kontextmenü kann jetzt mit einem einzigen Tastendruck ausgewählt werden.
In ReSharper C++ 2023.3 ist die Arbeit mit inaktivem Code viel einfacher geworden. Die Code-Completion in derzeit inaktiven Codeblöcken innerhalb von Präprozessor-Bedingungszweigen schlägt jetzt Symbole aus dem globalen Geltungsbereich vor. Find Usages wurde ebenfalls aktualisiert und zeigt nun in den entsprechenden Ergebnisbereichen mögliche Verwendungen in inaktivem Code und in Makrokörpern an.
Erfahren Sie mehr über die C++-Updates: Das ist neu in ReSharper C++ 2023.3
ReSharper 2023.3 führt eine neue Codeformatierungsengine für Razor ein. Sie ist mit dem aktuellen C#-Formatierer von ReSharper kompatibel und unterstützt somit die in den letzten Jahren eingeführten C#-Sprachkonstrukte sowie die meisten neuen C#-Formatierungsoptionen von ReSharper. Der neue Formatierer arbeitet außerdem schneller und voraussichtlich problemfreier. Allerdings verwendet er bei einigen Codekonstrukten eine abweichende Standardformatierung. Deshalb haben wir eine Option eingeführt, mit der Sie zur alten Razor-Formatierungsengine zurückkehren können. Sie finden sie in den ReSharper-Optionen unter Code Editing | Razor | Code Style.
ReSharper 2023.3 enthält neue Inspektionen für die Verwendung von Methoden in Entity-Framework-bezogenem Code, die zu Laufzeitausnahmen führen können.
Diese neuen Inspektionen decken die folgenden beiden Fälle ab:
Dieses Release führt Entity-Relationship-Diagramme (ERDs) ein. ERDs bieten in ReSharper eine grafische Repräsentation des Datenbankmodells und der Beziehungen zwischen den Entitäten sowie Erkenntnisse aus einer Analyse des Datenbankmodells.
Entity-Framework-spezifische Inspektionen in ReSharper 2023.3 untersuchen Ihren Code auf mögliche Probleme in Bezug auf das EF-Modell, zum Beispiel unbegrenzte Längen bei String-Eigenschaften oder zirkuläre Abhängigkeiten. Wenn Sie bei einer solchen Inspektion das Kontextmenü aufrufen und Show Entity Relationship Diagram auswählen, können Sie das Problem visuell untersuchen.
In diesem Blogartikel können Sie mehr über die Darstellung von Entity-Framework-Beziehungen und die neuen Inspektionen erfahren.
In der Vorversion haben wir eine einfache Möglichkeit zum Erstellen von Unit-Tests eingeführt. Das neueste Update des AI Assistant in ReSharper 2023.3 bietet Ihnen die Möglichkeit, die Leistungsfähigkeit von LLMs zu nutzen, um den Code von Unit-Tests zu generieren.
JetBrains Grazie ist der neue integrierte Grammatik- und Rechtschreibprüfer von ReSharper. Grazie unterstützt über 20 natürliche Sprachen und erkennt Sprachfehler in den von ReSharper unterstützten Programmiersprachen (C#, C++, VB.NET), Markup-Sprachen (HTML, XML, XAML) und Kommentaren. Um weitere natürliche Sprachen zu Grazie hinzuzufügen, öffnen Sie in ReSharper das Menü Options | Grammar and Spelling | General.
Wer die ReSharper-Codeanalyse außerhalb der IDE auf einem CI/CD-Server ausführen wollte, hatte lange Zeit nur eine Option – das InspectCode-Tool aus den ReSharper Command Line Tools. Vor Kurzem hat das Qodana-Team jedoch erste Schritte zur Integration in unsere .NET-Tool-Reihe unternommen und ein Early-Access-Programm für den Qodana-Community-Linter für .NET aufgelegt.
Obwohl Qodana auf der gleichen statischen Codeanalyse-Engine wie ReSharper basiert, bietet es mehrere ergänzende Vorteile:
Mit kostenpflichtigen Qodana-Lintern für .NET werden Sie außerdem Drittanbieter-Lizenzaudits durchführen, die Code-Coverage analysieren und von Sicherheitslücken betroffene Abhängigkeiten aufspüren können.
Wir werden die ReSharper Command Line Tools nicht einstellen, aber ab sofort wird der Qodana-Community-Linter für .NET der bevorzugte Weg sein, um ReSharper-Analysen außerhalb der IDE auszuführen.
Die in der Vorversion eingeführte Funktion Assembly diff kann jetzt NuGet-Pakete, Ordner und .zip
-Dateien miteinander vergleichen.
Beim Vergleichen von Assemblies stehen jetzt mehr Vergleichsoptionen zur Verfügung. Sie können zwischen verschiedenen Diff-Modi wählen (Show all, Show only differences, Show only signature differences, Show only public API differences). Außerdem können Sie angeben, ob der Vergleich Diff Unterschiede in der Reihenfolge der Member/Attribute sowie Unterschiede bei den Annotationen von nullfähigen Verweistypen ignorieren soll.
#nullable disable
-Direktiven werden im dekompilierten Quellcode angezeigt. Die dynamische Programmanalyse enthält jetzt drei neue Inspektionen für Anwendungen, die auf das ASP.NET-Core-Framework abzielen. Diese Inspektionen weisen auf mögliche Backend-Leistungsprobleme hin, die die Reaktionsschnelligkeit Ihrer Anwendung beeinträchtigen könnten.
Rider 2023.3 bietet eine neue Sicherheitslückeninspektion, die dazu dient, veröffentlichte Sicherheitslücken klarer zu erkennen und zu verstehen.
Die neuen Inspektionen identifizieren von Sicherheitslücken betroffene NuGet-Pakete in Ihrem Projekt und weisen auf die Verwendung betroffener Methoden aus diesen Bibliotheken in Ihrem Code hin. Wenn eine Sicherheitslücke entdeckt wird, färbt das System den problematischen Code ein und bietet schnell umsetzbare Maßnahmen zur Behebung an. Zu diesen Maßnahmen gehören die Empfehlung eines Updates auf eine neuere Paketversion und das Bereitstellen von detaillierten Informationen zu den erkannten Schwachstellen.
Kostenlose 30-Tage-Testversion verfügbar