Das ist neu in ReSharper 2023.3

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.

Herunterladen

Kostenlose 30-Tage-Testversion verfügbar

Previewphase von AI Assistant abgeschlossen General-Availability-Version

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:

  • Kontextspezifischer KI-Chat
  • Ein stärkerer Projektbezug von KI-Aktionen
  • KI-gestützte mehrzeilige Code-Completion
  • Generierung von Unit-Tests
  • Generierung von XML-Dokumentation
  • Bibliothek für benutzerdefinierte Prompts

Sie können AI Assistant in ReSharper als Zusatzfunktion mit einem Abonnement für den JetBrains AI Service verwenden.

Sehen Sie sich die Demo an!

C#-Unterstützung

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.

Sehen Sie sich die Demo an!

Performance

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.

Überarbeitete Integration zwischen ReSharper- und Visual-Studio-Schnellaktionen

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.

Andere Leistungsverbesserungen

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.

UX/UI

Überarbeitete Benutzerführung beim Refactoring Extract local function

Überarbeitete Benutzerführung beim Refactoring Extract local function

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.

Überarbeitete Integration zwischen ReSharper- und Visual-Studio-Schnellaktionen

Überarbeitete Integration zwischen ReSharper- und Visual-Studio-Schnellaktionen

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.

Tastenkürzel für Copy Code Reference

Tastenkürzel für Copy Code Reference

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.

C++-Unterstützung

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

Codeformatierung

Neue Formatierungsengine für Razor

Neue Formatierungsengine für Razor

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.

Entity Framework

Inspektionen für Probleme mit dem Entity-Framework

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.

Sehen Sie sich die Demo an!

Diese neuen Inspektionen decken die folgenden beiden Fälle ab:

  1. Methoden, die Ausnahmen erzeugen, wenn sie in einem Datenbankkontext aufgerufen werden, wobei sie innerhalb von Entity Framework oder Entity Framework Core nicht in SQL konvertierbar sind.
  2. Methoden, die Ausnahmen erzeugen, wenn sie außerhalb eines Datenbankkontextes aufgerufen werden, wobei sie ausschließlich als Datenbankfunktionen implementiert sind.
Überarbeitete Benutzerführung beim Refactoring Extract local function

Entity-Relationship-Diagramme

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.

Unit-Tests

KI-gestützte Testgenerierung
Beta

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.

Grammatik- und Rechtschreibprüfung

Neue Formatierungsengine für Razor

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.

Qodana-Community-Linter für .NET

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:

  • Die Analyseergebnisse können anhand des bekannten Ringdiagramms in Qodana Cloud untersucht werden, um zu einer schnellen Einschätzung des Projektzustands zu gelangen.
  • Mit der Baseline können technische Schulden verwaltet werden.

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.

dotMemory

Eigenständiges dotMemory-Programm unter Linux und macOS dotUltimate Beta

Sie können die eigenständige Version von dotMemory jetzt auch auf den Betriebssystemen Linux und macOS ausführen.

Dekompilierer

Assembly-Diffs

Die in der Vorversion eingeführte Funktion Assembly diff kann jetzt NuGet-Pakete, Ordner und .zip-Dateien miteinander vergleichen.

Assembly-Diffs

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.

Assembly explorer

Updates für Assembly Explorer

  • Beim Untersuchen von NuGet-Paketen im Assembly Explorer können Sie jetzt alle Dateien und Ordner sehen, die in diesen Paketen enthalten sind.
  • Win32-Ressourcenknoten, einschließlich Größe und Typ (sofern diese bestimmt werden können), werden jetzt in der Knoten-Baumstruktur und im Properties-Fenster angezeigt.

Weitere Updates:

  • Ab sofort können Win32-STRINGTABLE-Ressourcen dekodiert werden.
  • ReSharper zeigt jetzt die Größen der geöffneten Dateien im Properties-Fenster an. Dies gilt für Assembly/Nicht-Assembly, Dateien in Bundles, Archiven, NuGet-Paketen, Assembly-Vergleichen und Win32-Ressourcen.
  • Assembly-Authenticode-Signaturen können jetzt validiert werden.
  • Explizite #nullable disable-Direktiven werden im dekompilierten Quellcode angezeigt.

Verschiedenes

Neue Inspektionen für Anwendungen, die auf das ASP.NET-Core-Framework abzielen

Neue Inspektionen für Anwendungen, die auf das ASP.NET-Core-Framework abzielen

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.

Mehr erfahren

Neue Inspektionen zur Identifizierung gefährdeter API-Nutzungen

Neue Inspektionen zur Identifizierung gefährdeter API-Nutzungen Sicherheit

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.

Herunterladen

Kostenlose 30-Tage-Testversion verfügbar