Rider 2024.1 bietet ein neues Feature, das die Leistung Ihrer Anwendung überwacht und wichtige Statistiken erfasst, angeheftete Zeilen, die Ihnen helfen, sich in Ihrem Code zurechtzufinden und zu navigieren, und einen aktualisierten New Project-Dialog für eine schnellere und einfachere Projektkonfiguration. Beim Debuggen unterstützt Sie dieses Update durch eine Collections-Visualisierung und die Erfassung der Schrittzeit zwischen zwei Haltepunkten. Game-Entwickler*innen können von verschiedenen Neuerungen für das populäre Unity-Asset Odin Inspector und der Unterstützung für das Slate-UI-Framework der Unreal Engine profitieren.
Rider 2024.1 führt das Toolfenster Monitoring ein, mit dem Sie die Performance Ihrer .NET-Anwendung überwachen und wichtige statistische Daten im Hintergrund erfassen können, während Sie die Anwendung ausführen oder debuggen.
Wir haben angeheftete Zeilen im Editor eingeführt, um die Arbeit mit großen Dateien und das Erkunden von neuen Codebeständen zu vereinfachen. Diese Funktion sorgt dafür, dass wichtige Strukturelemente, wie z. B. die Anfänge von Klassen oder Methoden, beim Scrollen am oberen Rand des Editors angeheftet werden. Dadurch ist der aktuelle Gültigkeitsbereich stets klar zu erkennen, und Sie können einfach durch den Code navigieren, indem Sie auf eine angeheftete Zeile klicken.
Sie können den Inhalt von Collections – Arrays, Lists, Dictionaries und anderen aufzählbaren Typen – untersuchen, um den Programmzustand beim Debuggen detaillierter zu überblicken und mögliche Probleme bei der Datenverarbeitung zu erkennen.
Wir haben den Dialog New Project gründlich überarbeitet, damit neue Projekte einfacher konfiguriert werden können. Der Dialog bietet umfassende Unterstützung für .NET-spezifische Projektkonfigurationen und benutzerdefinierte Vorlagenparameter, und Sie können jetzt das Ziel-SDK und die entsprechende MAUI-Workload direkt im Dialog installieren.
Wir haben den Dialog New Project gründlich überarbeitet, um die kognitive Last beim Konfigurieren neuer Projekte zu verringern. Das erwartet Sie im aktualisierten Dialog:
Das Vergrößern und Verkleinern der gesamten IDE war bisher schon möglich, um die Größe aller Bedienelemente gleichzeitig zu ändern. Der ursprüngliche Skalierungsbereich war jedoch auf 100–200% beschränkt. Jetzt haben Sie die Möglichkeit, die IDE-Skalierung auf 70% zu verringern, sodass Sie bei der Größenanpassung des gesamten Arbeitsbereichs mehr Flexibilität haben.
Dieser Build bietet ein überarbeitetes Terminal-Toolfenster mit visuellen und funktionalen Verbesserungen, die das Arbeiten im Terminal einfacher und praktischer gestalten. Dieses Update verbessert sowohl das Aussehen als auch den Funktionsumfang des Tools.
Sie können das neue Terminal unter Settings/Preferences | Tools | Terminal | Enable New Terminal aktivieren.
Weitere Informationen zum überarbeiteten Terminal finden Sie in diesem Blogartikel des IntelliJ-IDEA-Teams.
Der Umfang der Codekonstrukte, bei denen die IDE eine Umwandlung in Collection-Ausdrücke gemäß C# 12 anbietet, wurde erweitert, unter anderem auf leere Arrays und die Deklaration und Initialisierung von ImmutableArray
.
Wir haben eine neue Inspektion namens Possible 'System.InvalidOperationException: Collection was modified' hinzugefügt, die Sie warnt, wenn eine Collection während der Iteration in foreach
-Schleifen geändert wird, da solche Änderungen zu einer Laufzeitausnahme führen können. Die Analyse erkennt Fälle, in denen die Schleife nach Änderung der Collection verlassen wird, sodass in diesen Fällen keine Warnung ausgelöst wird. Die Inspektion wird mit einem entsprechenden Quick-Fix geliefert, mit dem Sie dieses Problem sofort lösen können.
Mit Generate | Formatting Members können Sie Standard-Codebausteine generieren, um die Methode ToString()
zu überschreiben und eine sinnvolle Textdarstellung Ihres Typs zurückzugeben. Ab Version 2024.1 unterstützt dieses Feature weitere Typen, darunter ISpanFormattable
, IUtf8SpanFormattable
und IFormattable
.
[MustDisposeResource]
: Die C#-Codeanalyse überprüft jetzt, ob Ressourcen, die von asynchronen Methoden zurückgegeben werden, einschließlich solcher, die in Task<IDisposable>
und ValueTask<IDisposable>
eingeschlossen sind, korrekt entsorgt werden, um zu vermeiden, dass der Task selbst entsorgt wird. .ConfigureAwait(...)
, .AsTask()
oder .Result
abgerufen werden. Wir haben am Refactoring Change Signature unter anderem folgende Verbesserungen vorgenommen:
Deconstruct
-Methoden. Sie können Parameter hinzufügen, entfernen, umstellen und umbenennen, und diese Änderungen werden sowohl auf die Methodendeklaration als auch auf deren Verwendungen angewendet. List<>
die Code-Completion verwenden können, um unkompliziert den gewünschten Typ – etwa int
– auszuwählen. System.Collections.Generic.List<System.Int16>
im Dialog Change Signature angeben, wird er im resultierenden Code automatisch zu List<short>
gekürzt. in
und ref readonly
sowie record
-Typen.In diesem Release unterstützt das Refactoring Make Static Primärkonstruktor-Parameter. Sie erscheinen in der Liste Introduce parameters und werden durch ein eigenes Symbol gekennzeichnet, damit Sie sie leichter unterscheiden können. Dieses Refactoring ist auch für lokale Funktionen verfügbar.
Wir arbeiten aktiv an der Optimierung von projektmappenweiten Analysen im Modus mit hoher Ressourcennutzung, der die Analysedauer durch eine effizientere parallele CPU-Nutzung erheblich verkürzt. Wir haben die Arbeitsspeicher-Allokation bei Codeanalyse-Aktivitäten verbessert, um den Zeitbedarf der Garbage Collection zu minimieren. Im Zuge der laufenden Optimierung wären wir Ihnen dankbar, wenn Sie diesen Modus aktivieren und uns Ihre Erfahrungen mitteilen könnten.
protobuf-net
Die Codeanalyse unterstützt jetzt das Attribut ProtoContract
und das Enum ImplicitFields
aus der Bibliothek protobuf-net
. Beide können verwendet werden, um Member zu kennzeichnen, die implizit für die Serialisierung verwendet werden. Somit werden solche Member auch nicht mehr mit der Warnung unused member als ungenutzt gekennzeichnet.
In Objektausdrücken können Überschreibungen jetzt über neue Quick-Fixes für fehlende Member, Code-Completion und ein Generate-Refactoring generiert werden.
Bei der Suche nach Union-Verwendungen lassen sich jetzt auch Union-Cases anzeigen. So können Sie leichter erkennen, wie die Typinstanzen erstellt und für Pattern-Matching verwendet werden.
Wir haben eine neue
Postfix-Vorlage hinzugefügt, die Instanzen von Record-Typen und Objektausdrücke für Klassen und Schnittstellen erstellt.
Die Unterstützung von angehefteten Zeilen wurde für F# implementiert, sodass Sie den Kontext jetzt einfacher im Blick behalten können, wenn Sie mit längeren Typen und Funktionen arbeiten.
Es gibt weitere neue Quick-Fixes und Kontextaktionen für F#. Sie können diese und weitere Änderungen in den vollständigen Versionshinweisen auf GitHub nachlesen.
Nach dem Vorbild von ReSharper hat jetzt auch Rider eine verbesserte Rechtschreib- und Grammatikprüfung erhalten. Die neue Rechtschreibprüfung unterstützt über 20 natürliche Sprachen und erkennt Sprachfehler in den von Rider unterstützten Programmiersprachen (C#, C++, VB.NET), Markup-Sprachen (HTML, XML, XAML) und Kommentaren.
Der Collections-Betrachter in Rider 2024.1 stellt grafische Repräsentationen von Collections (Arrays, Lists, Dictionaries und anderen aufzählbaren Typen) bereit. Sie können Elemente erweitern und reduzieren, einzelne Werte betrachten und unkompliziert durch die Datenstruktur navigieren. Dies ist hilfreich, um den Programmzustand beim Debuggen detaillierter zu überblicken und Probleme im Zusammenhang mit der Erfassung, Handhabung oder Verarbeitung von Daten zu diagnostizieren.
Beim Debuggen kann es enorm wertvoll sein, zu wissen, wie lange die Codeausführung zwischen zwei Haltepunkten dauert. Wenn diese sogenannte Schrittzeit zu lang ist, kann dies auf Leistungsprobleme in Ihrem Code hinweisen. Beim Debuggen einer Anwendung in Rider wird Ihnen jetzt in einem Inline-Hinweis die Zeit anzeigt, die zwischen dem letzten und dem aktuellen Haltepunkt verstrichen ist.
Ab diesem Update können Sie mit Rider mehrere Haltepunkte in einer einzigen Codezeile einrichten, wenn mehrere Anweisungen vorhanden sind. Sie können die Haltepunkte entweder mit den entsprechenden Inline-Hinweisen oder mit dem Tastenkürzel Strg + F8 setzen.
Ab Release 2024.1 funktioniert die Option Skip to cursor genauso wie in IntelliJ IDEA. Ein neues Inlay-Element Run to Cursor bietet beim Debuggen eine einfache Möglichkeit, den Code bis zu einer bestimmten Codezeile auszuführen. Wenn Ihr Programm angehalten ist, können Sie den Mauszeiger auf die Codezeile bewegen, bis zu der Sie die Ausführung fortsetzen möchten. Dann können Sie über das Popup Run to Cursor den Code bis zu der Zeile ausführen, auf der sich Ihr Cursor befindet.
Hot Reload ist jetzt beim Ausführen und Debuggen von Blazor-WebAssembly-Anwendungen (WASM) verfügbar. Hot Reload funktioniert bei .cs
-, .razor
- und .css
-Dateien (einschließlich .razor.css
-Dateien mit eingeschränktem Gültigkeitsbereich).
Diese Funktionalität ist standardmäßig aktiviert. Sie können sie unter Settings/Preferences | Build, Execution, Deployment | Hot Reload konfigurieren.
Beim Debuggen sind Prozessabbilder von zentraler Bedeutung, denn sie ermöglichen die Untersuchung des Programmzustands zum Zeitpunkt eines Fehlers, selbst wenn das Problem nicht ohne Weiteres reproduzierbar ist. Bisher konnte Rider nur C++-Core-Dumps verarbeiten. Ab sofort bietet Ihnen die IDE zusätzlich die Möglichkeit, Speicherabbilder von .NET-Prozessen zu importieren.
Um ein Prozessabbild zu importieren, gehen Sie zu Run | Debug Core Dump oder ziehen Sie die Abbilddatei einfach mit der Maus in den Editor.
Eine neue Schaltfläche Explain with AI erscheint nun direkt neben Ausnahme- oder Fehlermeldungen, die bei einem fehlgeschlagenen Unit-Test, einem fehlgeschlagenen Buildvorgang oder während einer Debugsitzung ausgelöst wurden.
Beim Umbenennen von lokalen Variablen erhalten Sie im Code-Completion-Popup KI-gestützte Namensvorschläge.
Bitte beachten Sie, dass AI Assistant in Version 2024.1 aus dem Installationsumfang entfernt wurde und nun als separates Plugin verfügbar ist. Diese Änderung entstand aus der Notwendigkeit, eine größere Entscheidungsfreiheit in Bezug auf den Einsatz von KI-gestützten Technologien zu bieten und Ihnen mehr Kontrolle über Ihre Präferenzen und Anforderungen hinsichtlich Ihrer Arbeitsumgebung zu geben. AI Assistant erfordert weiterhin ein aktives JetBrains-AI-Abonnement.
Bei der C++-Unterstützung haben wir unter anderem die folgenden wichtigen Verbesserungen vorgenommen:
Die C++-Unterstützung in Rider wird von ReSharper C++ bereitgestellt. Weitere Details finden Sie unter Das ist neu in ReSharper C++ 2024.1.
Wir freuen uns, Ihnen in der Debugger-Aufrufliste Blueprint-Unterstützung anbieten zu können. Statt einer anonymen Speicheradresse zeigt Rider in der Aufrufliste jetzt Informationen zu Blueprint-Aufrufen an, die in Ihren bestehenden C++-Code eingefügt sind. Bitte aktualisieren Sie das RiderLink-Plugin unbedingt auf die neueste Version!
Dieses Release unterstützt das Slate-UI-Framework der Unreal Engine. Dadurch können Sie in Rider die Befehle Go to Definition und Find Usages verwenden, und das Rename-Refactoring kann von Slate-Makros deklarierte Symbole umbenennen.
Rider formatiert Slate-DSL-Code jetzt korrekt, sowohl beim direkten Aufruf der Reformat-Aktion als auch während der Eingabe.
Rider baut die intelligente Integration mit der Blueprint-Funktionalität weiter aus und unterstützt jetzt das Hinzufügen von Core Redirects beim Umbenennen einer UENUM
-Instanz und kann bei Ressourcennamen in C++-Code Asset-Pfade vervollständigen.
Mit hilfreichen Verbesserungen bauen wir die Perforce-Unterstützung weiter aus. So ist es jetzt einfacher, sich nach Ablauf einer Sitzung wieder anzumelden und beim Rename-Refactoring die Dateien auf die richtige Änderungsliste zu setzen.
Wir haben auch ein Problem mit dem UnrealBuildTool behoben, das manchmal dazu führte, dass ein Projekt, das zuvor in Visual Studio kompiliert worden war, vollständig neu kompiliert wurde. Dies verbessert die Nutzungserfahrung bei der Verwendung beider IDEs erheblich. Die Korrektur ist in Unreal Engine 5.4 und allen Rider-Versionen enthalten.
Vergessen Sie nicht, sich alle C++-bezogenen Änderungen in der ReSharper-C++-Engine anzusehen.
Wir freuen uns sehr, Ihnen in Zusammenarbeit mit unseren Freunden bei Sirenix Unterstützung für das populäre Unity-Asset Odin Inspector bereitstellen zu können. Rider erkennt und markiert von Odin Inspector serialisierte Felder und Eigenschaften, stellt Completion und Inspektionen für Gruppennamen in Layout-Attributen bereit und bietet eine Vorschau für die Odin-Klasse GUIColor
an. Auch die Bereichsattribute von Odin werden erkannt, und diese Werte werden in der Rider-eigenen Analyse von Ganzzahlwerten berücksichtigt, um Sie zu warnen, wenn ein Wert außerhalb des Bereichs liegt.
Rider 2024.1 erweitert die in Version 2023.3 eingeführte Unterstützung für Shader-Schlüsselwörter. Bei der Bearbeitung Ihrer Shader-Dateien können Sie verschiedene Schlüsselwörter aktivieren oder deaktivieren, wodurch wiederum die Syntaxhervorhebung und die Codeanalyse in verschiedenen Präprozessor-Zweigen ein- und ausgeschaltet werden. Dieses Release erweitert die Unterstützung auf implizite Shader-Schlüsselwörter, Stage-spezifische lokale Schlüsselwörter und Präprozessoranweisungen mit dem Suffix _KEYWORD_DEFINED
.
Mit diesem Release ändert sich die Art und Weise, wie Rider auf den möglicherweise unerwarteten Umgang von Unity mit null
-Gleichheitsvergleichen zur Überprüfung der Lebensdauer des zugrunde liegenden Game-Objekts hinweist. Anstatt eine Warnung auszugeben, wenn eine moderne C#-null
-Prüfung die Lebenszeitprüfung umgeht, weist Rider jetzt darauf hin, wenn ein null
-Vergleich die Prüfung durchführt.
In einem bevorstehenden Blogartikel werden wir detaillierter auf dieses Thema eingehen.
Beim Debugging gibt es erhebliche Verbesserungen: Rider bietet eine erweiterte DOTS-spezifische Unterstützung, z. B. durch das Hinzufügen eines Entity
-Unterknotens, wenn eine IJobEntity
-Instanz in der Watches-Leiste untersucht wird. Die Pausenpunkt-Funktion wurde aktualisiert, damit sie auch mit DOTS-Systemen funktioniert. Die Darstellung von Textur-Debugwerten hat einige Korrekturen erhalten, und der neue Collections-Betrachter fördert den Überblick über Sammlungen von Game-Objekten.
Zu den weiteren Neuerungen zählen Performance-Verbesserungen beim Parsen von Assets, Korrekturen bei der Erkennung von serialisierten Feldern und zahlreiche andere kleine Korrekturen und Updates. Weitere Details finden Sie im Änderungsprotokoll.
Wir erweitern unsere Godot-Unterstützung durch weitere Updates für das optionale Plugin, das Sie auf dem Plugins-Tab in den Einstellungen installieren können. Dies sind einige der jüngsten Änderungen:
.gd
, .tscn
, .tres
und .godot
, sowie eine verbesserte Syntaxhervorhebung für .gdshader
. launchSettings.json
(JetBrains/godot-support#125). @addTagHelper
und @removeTagHelper
Rider löst jetzt Assembly-Namen auf, auf die in @addTagHelper
- und @removeTagHelper
-Direktiven innerhalb Ihrer Razor-Views verwiesen wird. Dadurch können Sie die Code-Completion nutzen, nach Verwendungen suchen und einfacher im Code navigieren.
Außerdem hebt Rider alle unaufgelösten Assemblies als Warnungen hervor, damit Sie sie in Ihren Razor-Views leichter erkennen können.
Wenn Sie die Dateivorlage Blazor Component verwenden, können Sie jetzt zusätzliche Dateien wie .razor.cs
, .razor.css
, .razor.js
generieren.
Rider 2024.1 führt mehrere neue Quick-Fixes für React ein, mit denen Sie unkompliziert Props und States anlegen können. Sie können diese Quick-Fixes mit dem Tastenkürzel Alt+Enter aufrufen.
Weitere Informationen zu den Verbesserungen für die Webentwicklung finden Sie auf dieser Seite.
Diese Version enthält mehrere Updates für die VCS-Unterstützung in Rider, darunter:
Weitere Informationen zu allen Änderungen finden Sie hier.
Rider 2024.1 bietet unter anderem folgende bemerkenswerte Verbesserungen für die Arbeit mit Datenbanken:
INSERTS
.GROUP BY
-Klauseln.Weitere Informationen zu den Verbesserungen für die Arbeit mit Datenbanken finden Sie auf dieser Seite.
Mit dem .NET 8 SDK wurde .NET Aspire eingeführt, ein neuer Ansatz zur Bewältigung der komplexen Probleme bei der Entwicklung verteilter Anwendungen auf Basis des .NET-Stacks. Als Antwort auf diese Innovation bieten wir ein neues integriertes Tool: das .NET-Aspire-Plugin für Rider.
Das Plugin ist für Rider 2024.1 verfügbar und kann direkt vom JetBrains Marketplace oder unter Settings/Preferences | Plugins heruntergeladen werden.
Sie erfahren alles Wichtige über .NET Aspire und das neue Plugin in diesem Blogartikel.
Das integrierte Profiling-Tool dotMemory unterstützt jetzt den Frozen Object Heap (FOH) – ein Feature, das mit dem .NET 6 SDK im Zuge von Performance-Verbesserungen für die Garbage Collection eingeführt wurde.
FOH weist unveränderlichen Objekten einen speziellen Speicherbereich zu. Diese Objekte werden nach der Allokation nicht geändert und unterliegen nicht der Garbage Collection. Durch die Unterstützung dieser Technologie kann dotMemory eine detailliertere Analyse des von unveränderlichen Objekten genutzten FOH-Speichers durchführen und so die Optimierung der Speichernutzung fördern.
Die integrierten Profiler dotTrace und dotMemory unterstützen jetzt MAUI- und .NET-macOS-Anwendungen.
Unterstützte Zielframeworks:
net8.0-windows
, net7.0-windows
.net8.0-maccatalyst
, net7.0-maccatalyst
.net8.0-macos
, net7.0-macos
.Klicken Sie hier für weitere Informationen zu den verfügbaren Profiling-Modi.
Das neue Plugin Azure Toolkit for Rider ist ein quelloffenes Projekt, das .NET-Entwickler*innen beim Konzipieren, Entwickeln, Konfigurieren, Testen, Verwalten und Bereitstellen von hochverfügbaren und skalierbaren Webanwendungen für Azure unterstützt.
Das Plugin ist im JetBrains Marketplace erhältlich und kann direkt in JetBrains Rider heruntergeladen und installiert werden.
Diese Version erweitert die Unterstützung für GitHub Actions. Unser Entwicklungsschwerpunkt liegt auf der Bereicherung Ihrer CI/CD-Workflows durch erhöhte Effizienz und intelligente Funktionen, die speziell auf GitHub Actions ausgerichtet sind.
Die Liste der Verbesserungen umfasst:
action.yml
.Weitere Informationen finden Sie in diesem Beitrag des IntelliJ-IDEA-Blogs.
Die in Version 2023.3 eingeführten Typabhängigkeitsdiagramme erhalten ein Funktionsupgrade mit neuen Möglichkeiten zur Diagrammkonfiguration:
Weitere Möglichkeiten zum Generieren von Typabhängigkeitsdiagrammen für Ihre Anwendung finden Sie in diesem Blogartikel.
Der Assembly Explorer in Rider unterstützt jetzt das WebCIL-Paketformat für WebAssemblies.
Die Unterstützung umfasst:
.wasm
-Dateien im Assembly Explorer.