Das ist neu in Rider 2024.3

Rider 2024.3 delivers support for .NET 9, including such C# 13 enhancements as params collections, partial properties, and the preview field keyword. The Windows Forms Designer is now available for .NET 6+ projects, along with an advanced debugging capability to freeze and unfreeze individual threads. Game developers will be happy to see console debugging for Unreal Engine, IL2CPP debugging for Unity, and improved Godot support. This release also brings expanded AI Assistant functionality, including in-editor AI prompts and customizable chat models. Enhancements for code cleanup, naming conventions, and remote development round out the release.

Wichtige Updates

Monitoring-Toolfenster

Unterstützung für .NET 9

Die neueste Version von Rider enthält unter anderem folgende Neuerungen:

  • Unterstützung für Projektvorlagen aus dem neuen SDK.
  • Erstellen, Ausführen und Debuggen von Projekten, die das neue SDK verwenden.
  • Support for the latest C# 13 features, such as params collections, partial properties, the field keyword preview, and others.

In unserem Blog können Sie mehr über die erweiterte C#-13-Unterstützung in Rider 2024.3 erfahren.

Windows Forms Designer for .NET projects .NET 6.0+

Der Windows Forms Designer unterstützt jetzt Projekte, die .NET 6.0 und höher voraussetzen, sodass Sie Bedienoberflächen für Ihre Windows-Forms-Anwendungen erstellen, anzeigen und bearbeiten können. Die Funktionalität ist dem klassischen Windows Forms Designer für das .NET-Framework fast ebenbürtig.

Zu beachten ist, dass die meisten DevExpress-Steuerelemente kompatibel sind, während die Telerik- und Infragistics-Steuerelemente begrenzt unterstützt und VB.NET-Windows-Forms-Anwendungen nicht unterstützt werden.

Ability to freeze and unfreeze individual threads during debugging

Rider 2024.3 kann beim Debuggen einzelne Threads einfrieren und auftauen und bietet dadurch eine präzisere Kontrolle über Multithreading-Anwendungen. Sie können mit der rechten Maustaste auf einen beliebigen Thread klicken und mit Freeze dessen Ausführung anhalten, ohne den Rest der Anwendung zu beeinträchtigen. Wenn Sie soweit sind, können Sie nach einem erneuten Rechtsklick mit Unfreeze die Ausführung des Threads fortsetzen. Die Funktion ist nur für .NET- und .NET-Framework-Projekte verfügbar.

Running and debugging native code on consoles Game dev Unreal Engine

Rider 2024.3 has reached a massive milestone by introducing support for running and debugging C++ on all major consoles! This includes games written with custom engines and Unreal Engine. Availability is strictly by request, and you must be part of the console’s official development program. Weitere Informationen finden Sie hier.

More updates for game development

Benutzererfahrung

Tooltip colorization

For this release we reviewed almost all C# error, warning, and informal messages and introduced text colorization wherever possible.

Approximately 600 messages were upgraded with tooltips that are structured for easier reading and include the familiar colors from the editor for the included code elements.

Run widget: Launch multiple configurations simultaneously

The updated Run widget now allows multiple configurations to be launched simultaneously by holding Ctrl and clicking the debug icon. It also displays the controls for all running configurations, simplifying management.

Erhöhtes Standardlimit für Tabs

The default tab limit in the editor has been increased to 30, allowing more tabs to stay open before the IDE closes the least recently used ones. You can adjust this in Settings | Editor | General | Editor Tabs.

Aktualisierte Bedienoberfläche für das neue Terminal

We've updated the new terminal's UI with a more compact design, reducing padding to optimize the use of your screen. Die Verringerung der Leerräume spart Platz und ermöglicht einen besseren Überblick bei der Arbeit mit Befehlen, ohne die Lesbarkeit zu beeinträchtigen.

C#-Unterstützung

С#13-Updates

With its latest release, Rider introduces support for the latest features that come with C# 13, namely:

  • New params collections: The params keyword has been expanded to work with various collection types, allowing for more efficient method signatures without additional allocations.
  • Partial properties: Support has been added for partial properties, enabling you to spread property accessor implementations across multiple files, increasing flexibility and organization in your codebase.
  • New lock type: The new System.Threading.Lock type has been introduced for more efficient thread synchronization, improving performance over the traditional lock statement.
  • Overload resolution priority: A new attribute is available, providing better control of method overload resolution and allowing developers to prioritize which overload gets called in complex scenarios.
  • field keyword: The preview feature has been added to the field keyword. This gives direct access to the backing field of auto-properties, simplifying property logic.

Learn all about the support of C#13 features in Rider and ReSharper on our blog.

Code styles and cleanup

Codebereinigung

In Rider 2024.3, code cleanup has been re-engineered for more robust performance. It now leverages the same engine as scoped quick-fixes, ensuring thorough issue resolution and enhancing analyzer precision. Parallel preprocessing has also been added to optimize file handling.

Additionally, you can now select the Code Cleanup profile per file or skip cleanup on specific files.

Codeformatierung

There are new formatting options to give you even more flexibility:

  • New option to control wrapping around an equal = operator.
  • New Indent ‘break’ from ‘case‘ option.
  • New Treat ‘case’ statements with ‘break’ as simple option.

Naming styles

We’ve added a couple of new options to adjust naming rules more precisely.

  • Local functions now come with two options: Local functions with ‘async’ and Task-returning local functions (not ‘async’).
  • Methods have been given a new Task-returning method (not ‘async’) option to support methods with an async suffix in the name that aren’t marked with an async modifier but return a Task-like type. This is helpful when you declare a method in an interface where you aren’t allowed to use an async modifier, but which will return a Task type in implementation.

Code comments

Multiline TODO comments support

Rider 2024.3 now supports multiline TODO comments, allowing indented text on subsequent lines to be treated as part of the same TODO item. This enhancement makes it easier to group related notes and tasks together in your codebase. You can now add context to your TODOs across multiple lines, improving readability and organization.

F#-Unterstützung

We’ve updated the F# compiler service to get all the recent language features and improvements to the editor tooling.

Type Hints

F# support now shows inferred type hints for patterns and members. It’s easy to see the local value types with the new Push-to-Hint implementation.

Codebearbeitung

Code completion can now import functions, values, union cases, and active patterns. There is also a new quick-fix that helps update the pasted code.

You can convert a function expression to a parameter and match it with a new context action.

C# interop

We’ve significantly improved performance when analyzing referenced C# projects and fixed various false positive errors.

More changes, fixes, and new features are listed on the GitHub page.

Versionsverwaltung

Branchname auf Begrüßungsbildschirm

The Welcome screen now shows the branch name, helping you stay organized when handling multiple project versions and allowing you to switch between working directories easily.

Option zur Deaktivierung von Pre-Commit-Hintergrundprüfungen

Sie können jetzt Hintergrundprüfungen während des Commit-Prozesses mit einer neuen Option Run advanced checks after a commit is done unter Settings | Version Control | Commit verwalten. Mit dieser Einstellung können Sie festlegen, ob Tests und Inspektionen nach einem Commit ausgeführt werden sollen. Wenn Sie möchten, dass diese Prüfungen vor dem Commit abgeschlossen werden, deaktivieren Sie die Option einfach.

Updates für Find in Files

Die Funktion Find in Files wurde um einen neuen Suchbereich erweitert: Project Files Excluding Git-Ignored. Mit dieser Option werden alle per .gitignore ignorierten Dateien von den Suchergebnissen ausgeschlossen. So können Sie sich beim Durchsuchen Ihres Projekts auf den relevanten Code konzentrieren.

Remote-Entwicklung

Rider’s remote development is officially out of Beta!

After a final round of refinements during Beta – with particular attention to typing stability – Rider’s remote development functionality is now fully equipped to handle all core development workflows you rely on.

From code editing and debugging to version control, everything now operates almost as seamlessly as it would on a local instance, providing a smooth and powerful experience in remote environments.

You can read more about the supported workflows on the blog.

Game-Entwicklung

Unreal Engine

This release brings automatic debugging of child processes on Windows. Any processes created during a debug session will join the session, and breakpoints in the child process will be hit.

It’s also possible to configure rules to decide which child processes to debug and which ones to skip.

In addition to the exciting news about Rider’s support for debugging on consoles, this release also introduces support for the Verse programming language, new code insight features, and integration with Live++ for the hot-reload of C++ applications.

To learn more about the new code insight features, take a look at What's New in ReSharper C++.

Unity

Rider 2024.3 improves your debugging experience with IL2CPP builds, providing the same features you get with Mono. This means you will see Active Scene and this.gameObject nodes in the debugger, as well as Children and Components for GameObject instances. It also fixes issues with the Immediate window, the Collection view, and IL2CPP builds.

Quellcode-Dateien werden jetzt in Rider geöffnet, wenn Sie in einer Unity-Profiler-Aufrufliste auf einen Eintrag doppelklicken, und Rider filtert bei der Suche nach Dateien in Ihrem Projekt unnötige Inhalte besser heraus.

Godot

Dieses Release behebt einen wesentlichen Fehler im Zusammenhang mit der Unterstützung von C# Hot Reload und Godot. Rider wendet nun alle Änderungen, die Sie in Ihrem C#-Code vornehmen, noch während der Ausführung des Spiels auf Ihre Anwendung an.

Rider ist auch für die Updates beim GDScript-Debugging in Godot 4.4 vorbereitet, die viel umfassendere Einblicke in Objekteigenschaften bereitstellen, als derzeit in früheren Godot-Versionen möglich ist.

Webentwicklung

Übersichtlichere Suchergebnisse für Verzeichnisse

Rider schließt jetzt standardmäßig node_modules-Ergebnisse aus, wenn Sie Find in Files in Projektverzeichnissen verwenden, sodass die Menge an irrelevanten Dateien reduziert wird. Sie können das bisherige Verhalten wiederherstellen, indem Sie die Option Search in library files when “Directory” is selected in Find in Files unter Settings | Advanced Settings aktivieren.

Bessere Navigations- und Umbenennungsfunktionen für Framework-Komponenten

Wir haben die im Editor angezeigten Hinweise für Vue-, Svelte- und Astro-Komponenten verbessert. Die Aktion Show component usages findet jetzt Verwendungen sowohl in Importen als auch in Markup-Templates. Wir haben auch einen Filter Show Component Usages hinzugefügt, um Komponentenverwendungen bei der Suche nach regulären Dateireferenzen auszuschließen. Das Rename-Refactoring bietet wiederum eine neue Option zum Einbeziehen von Verwendungen beim Umbenennen einer Komponentendatei.

Farbvorschau für Tailwind-CSS-Klassen

Die Farbvorschau für Tailwind-CSS-Klassen wird jetzt inline im Editor angezeigt, sodass Sie Farben leichter unterscheiden können. Wir unterstützen jetzt die Methode textDocument/documentColor aus dem Language Server Protocol (LSP), sodass alle LSP-basierten Plugins standardmäßig über diese Funktionalität verfügen.

Weitere Informationen finden Sie auf der Seite Das ist neu in WebStorm.

Arbeiten mit Datenbanken

Text zu SQL: Diff für KI-generierte Ergebnisse im Editor

Wir haben die AI-Assistant-Erfahrung im Editor verbessert. Wenn Sie AI Assistant bitten, einen Codeabschnitt zu bearbeiten, wird im Editorbereich ein Vergleich zwischen dem ursprünglichen und dem generierten Code angezeigt. Die Vorschläge von AI Assistant werden farblich hervorgehoben und mit einem Revert-Symbol in der Randleiste markiert. You can also edit the resulting query yourself in the same area. Ihre Änderungen werden auf die gleiche Weise hervorgehoben. For example, you can ask AI Assistant to retrieve more data with a query and then add an ORDER BY clause to the generated result.

SQL-Fehlerbehandlung mit AI Assistant

We have implemented a couple of useful actions for handling SQL query execution errors with AI Assistant, which are accessible in the error message area. Explain with AI opens the AI chat with an automatically sent prompt and AI Assistant’s response providing an explanation of the error. Fix with AI korrigiert den Abfragefehler direkt im Editor.

Detailliertere Informationen finden Sie auf der Seite Das ist neu in DataGrip.

AI Assistant

.NET-Aspire-Plugin für Rider

Inline-KI-Prompts

Rider 2024.3 introduces inline AI prompts, offering a seamless way to interact with AI Assistant directly in the editor. Sie können Ihre Anfragen in natürlicher Sprache eingeben; AI Assistant interpretiert diese sofort und setzt sie in Codeänderungen um, die zur leichteren Nachverfolgung in der Randleiste violett markiert sind. Die Inline-KI-Prompts sind kontextsensitiv und berücksichtigen automatisch zugehörige Dateien und Symbole für eine präzisere Codegenerierung.

Verbessertes Kontextmanagement

Mit diesem Update haben wir die Verwaltung des Kontexts, den AI Assistant bei seinen Vorschlägen berücksichtigt, transparenter und intuitiver gestaltet. Eine überarbeitete Oberfläche, in der Sie jedes Kontextelement einsehen und verwalten können, bietet volle Transparenz und Kontrolle. Die geöffnete Datei und der darin enthaltene ausgewählte Code werden nun automatisch zum Kontext hinzugefügt. Sie können unkompliziert Dateien hinzufügen oder entfernen, um den Kontext an Ihren Workflow anzupassen. Darüber hinaus können Sie für das gesamte Projekt gültige Anweisungen beifügen, um die Antworten von AI Assistant an Ihren Codebestand anzupassen.

Auswahl des Chatmodell-Anbieters

Sie können jetzt Ihr bevorzugtes KI-Chatmodell auswählen. Sie haben die Wahl zwischen Google Gemini, OpenAI und den auf Ihrem System installierten lokalen Modellen. Durch diese erweiterte Auswahl können Sie die Antworten im KI-Chat an Ihren konkreten Workflow anpassen, um eine individuellere und persönlichere Erfahrung zu erhalten.

Dekompilierer

IL code for assembly manifest

The IL Viewer tool window now provides IL code for assembly manifest, including:

  • Assembly and module info such as name, custom attributes, etc.
  • Referenced assemblies and modules.
  • Forwarded types.
  • A list of files and resources.

This IL code is shown when the caret in the text editor is on an assembly or module attribute or somewhere inside an <AssemblyName>.cs file for external assemblies.

Support for primary constructors

When working with classes that declare a primary constructor, the Decompiler will now display the constructor and its parameters correctly, giving you a complete view of how objects are instantiated directly from the decompiled code.