Das ist neu in Rider

Rider 2021.2 bietet eine verbesserte C#-Sprachunterstützung, einschließlich einer Vielzahl von Codeanalyse-Updates sowie Unterstützung für nullfähige Verweistypen und Quellcodegeneratoren. Im Bereich Webentwicklung bietet diese Version Unterstützung für ASP.NET-Core-Endpunkte und clientseitiges Debugging für Blazor-WebAssembly-Apps. Außerdem gibt es zahlreiche Extras für die Game-Entwicklung mit Unity und Unreal Engine. Und mit dem Willkommensassistenten können Sie jetzt Einstellungen aus anderen IDEs wie Visual Studio, VS für Mac oder Visual Studio Code importieren.

Unterstützung für ASP.NET-Endpunkte

Das neue Endpoints-Toolfenster hilft Ihnen, alle ASP.NET-Core-Endpunkte in Ihrem Projekt zu erkunden, die registriert oder mit den Attributen [Route], [Http{Methode}] oder [AcceptVerbs] annotiert sind.

Sie können die Dokumentation des Endpunkts überprüfen oder mit Jump to Source zum Quellcode des implementierenden Controllers navigieren. Mit Find Usages finden Sie die Stelle, an dem der Endpunkt registriert wurde.

Auf dem Tab HTTP Client können Sie Anfragen erstellen und an Ihre Anwendung senden – optimal zum Testen von APIs.

Testen Sie Ihre API mit dem mitgelieferten Plugin OpenAPI Specifications. Es bietet Swagger-UI-Unterstützung für OpenAPI-Dateien, mit denen Sie Anfragen schreiben und Antworten überprüfen können.

Auch im Code-Editor erhalten Sie erstklassige Unterstützung:

  • Beim Verwenden von HttpClient schlägt die Code-Completion alle URIs vor, die zu Aktionen in Controllern aufgelöst werden können, die mit den Attributen [Route], [Http{Methode}] oder [AcceptVerbs] annotiert sind.
  • Mit Go to Declaration und Find Usages können Sie auf einfache Weise zwischen Routenattributen in Controllern und diesen URIs navigieren.
  • Das Umbenennen eines Routenattributs in einem Controller wirkt sich auf die Verwendung in URIs aus, und Sie können eine Route sogar direkt in der URI-Zeichenfolge umbenennen.

Debugging für Blazor WebAssembly

Das lang erwartete clientseitige Debugging für Blazor WebAssembly ist endlich in Rider angekommen! Es funktioniert sowohl mit .NET-5.0- als auch mit .NET-Core-3.1-Anwendungen.

Follow the official Microsoft guide to set up WASM debugging. Anschließend können Sie wie gewohnt Ihre Anwendungen debuggen.

Damit es unter Linux funktioniert, müssen Sie erst manuell die Entwicklungszertifikate installieren. If you are using Ubuntu, you can follow this guide.

Rider supports the debugging proxy if either of these NuGet packages are installed: Microsoft.AspNetCore.Components.WebAssembly.DevServer or Microsoft.AspNetCore.Components.WebAssembly.Server. Derzeit werden keine benutzerdefinierten Debugging-Proxys für Blazor-WASM-Apps unterstützt.

Sprachunterstützung

C#-Codeanalyse

Verwenden Sie temporäre Variablen, um Variablenwerte zu vertauschen? Es gibt jetzt eine elegantere Möglichkeit! Rider 2021.2 hilft Ihnen mit dem neuen Quick-Fix Swap via deconstruction, Ihren Code zu modernisieren.

Reduzieren Sie die Anzahl der Zuordnungen in Ihrem Code und erhöhen Sie die Geschwindigkeit! Ersetzen Sie das Anlegen von leeren Arrays durch Array.Empty<T>.

Wenn Sie einen neuen Type[0] allozieren, schlägt Rider die Verwendung von Type.EmptyTypes vor, um eine effizientere Speichernutzung zu ermöglichen.

Wenn keine speziellen EventArgs benötigt werden, kann Rider new EventArgs() durch EventArgs.Empty ersetzen.

Weitere Verbesserungen:

  • Verwenden Sie die Eigenschaft generated_code in .editorconfig, um Dateien oder Ordner als generierten Code zu markieren und von der Verarbeitung auszuschließen.
  • Die Codeanalyse von Membern mit vielen lokalen Funktionen und Closures erfolgt jetzt schneller.
  • Freuen Sie sich auf Performance-Verbesserungen bei Find similar issues und bei der Codeanalyse von großen und komplexen switch-Anweisungen und switch-Ausdrücken.

Nullfähige Verweistypen (NRT)

Mussten Sie nach der Aktivierung von nullfähigen Verweistypen an zahlreichen Stellen in Ihrem Code Nullability-Warnungen unterdrücken?

Rider weist Sie darauf hin, wenn eine Unterdrückung (!) nicht mehr benötigt wird und gefahrlos entfernt werden kann.

Mit einer neuen Kontextaktion können Sie alle unterdrückten Nullability-Warnungen im Gültigkeitsbereich finden. Mithilfe des Find Results-Toolfensters können Sie dann überprüfen, ob die Unterdrückungen noch benötigt werden.

Wir haben ein neues Refactoring eingeführt, mit dem die Nullfähigkeit geändert werden kann. Es ist über verschiedene Wege zugänglich: über einen Quick-Fix, über die Aktion Refactor This sowie durch ein In-Place-Refactoring beim Hinzufügen oder Entfernen der Nullability-Annotation (?).

Rider aktualisiert Nullability-Annotationen und schlägt vor, die Änderungen in Ihren gesamten Codebestand zu übernehmen.

Wenn Sie JetBrains.Annotations-Attribute verwenden und nullfähige Verweistypen aktiviert haben, stehen Ihnen mehrere neue Inspektionen mit entsprechenden Quick-Fixes zur Verfügung.

Aktualisieren Sie JetBrains.Annotations-Attribute auf die NRT-Syntax und auf Attribute, die vom Compiler unterstützt werden! Rider kann beispielsweise [CanBeNull] string zu string? ändern.

Rider informiert Sie über redundante JetBrains.Annotations-Attribute wie [NotNull] string oder [ItemCanBeNull] List<string?>. Und natürlich gibt es einen Quick-Fix, mit dem Sie Ihren Code aktualisieren können.

Wenn die Typ-Annotationssyntax nicht erlaubt ist, kann eine neue Inspektion mit dazugehörigem Quick-Fix vom Compiler unterstützte Annotationen hinzufügen. Zum Beispiel:

  • [JetBrains.Annotations.NotNull] T param zu [DisallowNull] T param (where T: class?)
  • [JetBrains.Annotations.CanBeNull] T zu [System.Diagnostics.MaybeNull] T (in C# 8, wo die Syntax T? nicht zulässig ist)

Mit neuen Inspektionen und Quick-Fixes hilft Ihnen Rider, vom Compiler unterstützte Annotationen wie [DisallowNull], [AllowNull], [MaybeNull] und [NotNull] zu verwenden.

Eine neue Inspektion erkennt redundante Compiler-Annotationen, etwa die Verwendung von [AllowNull] mit einem nullfähigen Typ. Mit dem dazugehörigen Quick-Fix können Sie die Annotation entfernen.

Wenn die Syntax für nullfähige Verweistypen verwendet werden kann, schlägt Rider dies vor.

Es gibt noch weitere Verbesserungen, die nicht unerwähnt bleiben sollten:

  • Rider prüft, ob Variablen nullfähig sein müssen und erzeugt nach Möglichkeit striktere Typen.
  • Viele Kontextaktionen, Quick-Fixes und Postfix-Vorlagen wurden aktualisiert, um mit unterdrückten Nullability-Warnungen besser umzugehen. Die Unterdrückung von Nullability-Warnungen wird beibehalten bzw. bei generiertem Code neu erzeugt, wenn der ursprüngliche Code die Warnung unterdrückte.
  • Wir haben die Unterstützung für die Verwendung von Generics mit nullfähigen Verweistypen verbessert.

Quellcodegenerator-Unterstützung

Quellcodegeneratoren können verwendet werden, um mühsame und wiederholungsintensive Entwicklungstätigkeiten zu reduzieren und um Code zur Kompilierungszeit zu generieren. In Rider 2021.2 können viele der Funktionen, die für manuell geschriebene Codedateien konzipiert wurden, auch für generierte Dateien verwendet werden. Wir haben die Editor-Unterstützung verbessert und Refactorings hinzugefügt.

Refactorings können jetzt in generierten Dateien angewendet werden. Verwenden Sie das Rename-Refactoring, um eine generierte Eigenschaft umzubenennen. Rider benennt das zugehörige Symbol auch in manuell geschriebenem Code um!

Beim Refactoring Change Signature wiederum können Sie überprüfen, ob der Code, der nach der Änderung generiert wird, noch kompiliert werden kann.

Außerdem haben Sie die Möglichkeit, Find Usages zu verwenden, nach erbenden Elementen zu suchen, von generiertem Code zu manuell geschriebenem Code zu navigieren (mit Strg+Klick und Navigate To) und noch einiges mehr.

Die semantische Hervorhebung ist aktiviert, sodass Klassenmember wie Ereignisse, Felder und Eigenschaften korrekt eingefärbt werden. Alle Inlay-Hinweise werden ebenfalls angezeigt.

Bei generiertem Code werden Warnungen und Fehler im Editor und in der Markierungsleiste angezeigt.

Außerdem unterstützt Rider jetzt von Quellcodegeneratoren erzeugten Code in VB.NET.

Game-Entwicklung

Wir arbeiten weiter an unserer Mission, Rider zu einer großartigen IDE für die Game-Entwicklung auszubauen. Version 2021.2 bietet neue Funktionen für Unity und einige bahnbrechende Verbesserungen für unsere Unreal-Engine-Unterstützung, die sich in der Early-Preview-Phase befindet. Und wenn Sie mit Godot arbeiten, sollten Sie sich unbedingt das Plugin Godot Support for Rider ansehen.

Unity-Unterstützung

Dank einer intelligenten Integration mit dem Unity-Editor prüft Rider vor einem Commit, ob es geöffnete und nicht gespeicherte Szenen gibt. Dadurch können Sie sicherstellen, dass Ihre gesamte Arbeit ordnungsgemäß gespeichert ist, bevor Sie einen Commit durchführen.

Im Tooltip für Unity-Klassen und -Methoden zeigt Rider seit Langem einen Link zur Unity-Dokumentation an. Mit der Aktion External Documentation bzw. der dazugehörigen Tastenkombination können Sie jetzt direkt zur Dokumentation springen, ohne den Umweg über den Tooltip nehmen zu müssen.

Rider kann jetzt lokale UWP-Player debuggen, indem es Windows korrekt dazu auffordert, eingehende Verbindungen zu dem zu debuggenden Prozess zu erlauben.

Die Packages-Ansicht im Unity Explorer wird jetzt beim erneuten Öffnen einer Projektmappe viel schneller angezeigt und merkt sich sogar geöffnete Ordner.

Diese Version verbessert das Debuggen von IL2CPP-basierten Playern, indem Break on Unhandled Exception automatisch deaktiviert wird, wenn eine Verbindung zu einem IL2CPP-Player hergestellt wird.

Wie immer gibt es noch zahlreiche kleinere Verbesserungen und Fehlerbehebungen – [UnitySetup]-Methoden werden zum Beispiel nicht mehr als ungenutzt markiert, und Layer-Namen werden in älteren Projekten korrekt in der Completion vorgeschlagen. Bei Unity-basierten Inspektionen gibt es zahlreiche Performance-Verbesserungen, die insbesondere bei großen Dateien zum Tragen kommen.

Unreal Engine Early Preview

Rider for Unreal Engine macht weitere Fortschritte auf dem Weg von der öffentlichen Preview zum finalen Release. Die Liste der Themen, an denen wir seit der Veröffentlichung der Version 2021.1 gearbeitet haben, ist ganz schön lang – aber sehen Sie selbst:

Unterstützung für Unreal Engine 5! Sie haben das richtig gelesen: Rider for Unreal funktioniert hervorragend mit den neuen Unreal-Engine-5-Projekten – genauso wie mit Ihren bestehenden Unreal-Engine-4-Projekten.

Unterstützung für das Öffnen von .uproject-Dateien! Ganz richtig: Rider kann Ihr Unreal-Engine-Projekt direkt über die Datei <Projektname>.uproject öffnen, ohne dass eine Visual-Studio-Projektmappe generiert werden muss.

Rider for Unreal Engine funktioniert jetzt auf dem Mac! Öffnen Sie einfach Ihre <Projektname>.uproject-Datei und genießen Sie das vollständige Rider-for-Unreal-Erlebnis auf macOS. Dazu gehören umfangreiche C++- und HLSL-Shader-Bearbeitungsfunktionen, Navigation, Inspektionen und Refactorings, Codestil-Einstellungen und Quick-Fixes, Blueprint-Unterstützung (Suchen von Codeverwendungen in einem Blueprint, Code Vision-Links und Zähler sowie Navigation), Debugging und umfassende Integration mit dem Unreal Editor. Die macOS-Version funktioniert mit Unreal Engine 4.26 oder höher.

Es gibt bedeutende Verbesserungen für Natvis und die integrierte Darstellung von Debugger-Ergebnissen: Unterstützung für das Inheritable-Attribut, Formatbezeichner, benutzerdefinierte Listenelemente, einzeilige Zusammenfassungen für alle nicht von Natvis abgedeckten Strukturen, ein [Raw View]-Knoten zum Betrachten der zugrunde liegenden Objektdaten und mehr.

Erweiterte Codestil-Einstellungen. Rider erkennt Unreal-Projekte und konfiguriert sich automatisch, um UE-Codestilkonventionen zu verstehen und zu befolgen. Die IDE hebt Code hervor, der nicht den Stilvorgaben entspricht, und bietet Quick-Fixes zur automatischen Anpassung Ihres Codes an.

Und last but not least: Das EzArgs-Plugin bietet einen einfachen Zugriff auf die Argumente von C++-Run/Debug-Konfigurationen – Sie können neue Argumente einfach im Dropdown-Menü der Symbolleiste eingeben.

Codebereinigung

Wir haben die Dialoge Reformat File und Code Cleanup zusammengeführt. Die Tastenkombinationen für beide bleiben erhalten, aber Sie können eine neue, einheitliche Ansicht nutzen, in der beide Schritte in einem Zug ausgeführt werden können. Außerdem bieten die Cleanup-Profile eine Vorschau der durchzuführenden Aktionen, und Sie können einfach mit einer Schaltfläche in den Profilbearbeitungsmodus wechseln.

Im Commit-Dialog können Sie nun Ihre Änderungen einer automatischen Codebereinigung mit dem Profil Ihrer Wahl unterziehen. Alternativ können Sie mit einer neuen Option im Dialog Reformat und Cleanup die Neuformatierung und Bereinigung auf Änderungen in der aktuellen Datei seit dem letzten Commit beschränken.

Aktionen zum Formatieren und Anordnen von Code sowie zum Optimieren von Importen sind jetzt für CSS, JavaScript und SQL verfügbar. Sie können die Regeln unter Settings | Editor | Code Cleanup anpassen.

Benutzererfahrung

Einstellungen aus anderen IDEs importieren

Sie arbeiten zum ersten Mal mit Rider? Wenn Sie Rider bisher noch nicht installiert oder verwendet haben, können Sie mit dem Willkommensassistenten Einstellungen aus anderen IDEs wie Visual Studio, Visual Studio für Mac oder Visual Studio Code importieren. Zudem erkennt Rider auch die Einstellungen von ReSharper.

Lesen Sie mehr über das Importieren von Einstellungen aus anderen IDEs.

Anordnen von Toolfenstern durch Ziehen und Ablegen

Toolfenster können jetzt einfach mit der Maus an die gewünschte Stelle im IDE-Hauptfenster oder in einem separaten Fenster gezogen werden. Durch Anklicken und Halten der Titelleiste können Sie das Toolfenster ziehen und in einem beliebigen markierten Bereich ablegen.

Transparente Titelleiste Nur macOS

Unter macOS ist die Titelleiste jetzt transparent, wenn sich das IDE-Fenster nicht im Vollbildmodus befindet. Dies bedeutet, dass die Titelleiste nicht sichtbar vom Rest des Fensters abgegrenzt ist.

Erweiterte Einstellungen

In den Rider-Einstellungen unter Preferences/Settings finden Sie in der neuen Kategorie Advanced Settings spezielle Einstellungen für besondere Anwendungsfälle. Sie können beispielsweise einen linken Rand für den Ablenkungsfreien Modus einstellen oder festlegen, dass nach Anwendung eines Zeilenkommentars mit Comment with Line Comment der Cursor um eine Zeile nach unten bewegt werden soll.

Neue Navigationsmöglichkeit in Preferences/Settings

Wir haben die Navigation in den Einstellungen vereinfacht, indem wir in der oberen rechten Ecke des Fensters Preferences/Settings Navigationspfeile hinzugefügt haben. Mit diesen können Sie schnell zwischen den geöffneten Abschnitten hin und her springen.

Debugger

Eigenschaftswerte werden standardmäßig vom Debugger ausgewertet und angezeigt, aber manchmal kann die Auswertung einige Zeit dauern. Aus diesem Grund haben wir die neue Aktion Disable Evaluation of Selected Item hinzugefügt, um die Auswertung eines Elements zu deaktivieren.

Insbesondere bei nativem Code kann es vorkommen, dass die Auswertung eines Methodenaufrufs die Debugging-Sitzung zum Absturz bringt. Rider merkt sich diese problematischen Aufrufe und deaktiviert deren Auswertung für Sie.

Bei der schrittweisen Ausführung wird jede neue Datei in einem neuen Tab geöffnet, was manchmal zu einer übervollen Tab-Leiste führt. Die Vorschau-Funktion kann hier Abhilfe schaffen! Sie ermöglicht es Ihnen, Dateien in einem einzelnen Vorschau-Tab nacheinander anzuzeigen, ohne für jede Datei einen neuen Tab zu öffnen. Sie können die Funktion unter Settings/Preferences | General | Editor Tabs | Opening Policy aktivieren.

Versionsverwaltung

Änderungslisten

Bereits seit Längerem zeigt Rider alle Änderungen seit dem letzten Commit unter einem Knoten namens Default Changelist (Standard-Änderungsliste) an. Ab dieser Version verwenden wir stattdessen den treffenderen Namen Changes (Änderungen). Dieses Update wirkt sich auf Ihre neuen Projekte aus.

Rider fügt bei Git-Operationen nicht mehr automatisch eine Changelist hinzu. Ein Cherry-Pick führt zum Beispiel nicht mehr zur Erstellung einer Changelist.

Sollten Sie die automatische Erstellung dem neuen Verhalten vorziehen, können Sie das frühere Verhalten unter Preferences/Settings | Version Control | Changelists mit dem Kontrollkästchen Create changelists automatically aktivieren.

Textsuche im lokalen Verlauf

Wir haben den Dialog Local History um ein Suchfeld erweitert, damit Sie einen gesuchten Text einfacher in Ihren lokalen Revisionen finden können. Wenn Sie mit der rechten Maustaste auf eine geänderte Datei klicken und im Kontextmenü Local History | Show History auswählen, können Sie auf einfache Weise in Ihrem Dateiverlauf navigieren, indem Sie eine Suchanfrage in dieses Feld eingeben.

GPG-Signatur

Unter Preferences/Settings | Version Control | Git können Sie jetzt das Signieren von Git-Commits mit GPG aktivieren. Wenn Sie einen GPG-Schlüssel zum ersten Mal verwenden, müssen Sie ihn zuerst konfigurieren. Wenn Sie bereits einen GPG-Schlüssel konfiguriert haben, können Sie ihn einfach in der Dropdown-Liste auswählen.

Höhere Git-Mindestversion

Die älteste von der IDE unterstützte Git-Version ist jetzt v2.17. Wir haben die unterstützte Mindestversion erhöht, da 2.17 die älteste Version ist, die noch Sicherheitsupdates erhält.

Editor

Strukturelles Entfernen

Wir haben die strukturelle Entfernung von Codeteilen implementiert – wählen Sie mit einer beliebigen strukturellen Auswahlart (z. B. Strukturnavigation, Auswahl vergrößern/verkleinern oder Code neu anordnen) einen Codeabschnitt aus, entfernen Sie ihn und überlassen Sie es Rider, die erforderlichen strukturellen Anpassungen vorzunehmen. Sie können Kommas und Doppelpunkte bei Methodenargumenten, Klammern in Attributargumenten oder geschweifte Klammern bei leeren Objektinitialisierern entfernen lassen.

Schnelldokumentation

Wir haben die Anzeige der Kurzdokumentation aktualisiert. Attribute werden jetzt hervorgehoben, sodass sie leichter zu lesen und zu überblicken sind. Wenn Sie eine Klasse oder Methode untersuchen, die Generics verwendet, zeigt Rider keinen Platzhalterwert mehr – stattdessen wird die konkrete Implementierung angezeigt.

Formatierung

Wenn Sie den Pico-Klammer- und Einrückungsstil bevorzugen, sind Sie bei uns richtig. Der Pico-Stil wurde als Option auf dem Tab Brace Layout unter Preferences/Settings | Editor | Code Style | C# | Braces Layout hinzugefügt.

Frontend-Entwicklung

Browser-Seiten beim Speichern neu laden

Wenn Sie sich eine Vorschau von HTML-Dateien im Browser anzeigen lassen, werden diese automatisch aktualisiert, wenn Sie Ihre Änderungen in der HTML-Datei oder in verknüpften CSS- und JavaScript-Dateien speichern. Diese Funktion ist standardmäßig aktiviert.

Umbenennen-Refactoring für useState-Hooks in React

Verschwenden Sie keine Zeit mehr damit, useState-Werte und -Funktionen einzeln zu refaktorieren – Rider kann die Umbenennung jetzt für Sie vornehmen! Legen Sie die Einfügemarke auf einen State-Wert und drücken Sie Umschalt+F6 oder wählen Sie im Rechtsklick-Kontextmenü die Option Refactor | Rename.

Autoimport für require()

Wussten Sie, dass Rider fehlende Importanweisungen hinzufügen kann, wenn Sie ES6-Symbole vervollständigen? Dasselbe ist jetzt auch für CommonJS-Module möglich: require-Importe werden bei Verwendung der Code-Completion eingefügt.

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

Xamarin

Wir unterstützen jetzt neben .apk-Dateien auch das Generieren von .aab-Dateien (Android App Bundle), da diese bald die einzige Möglichkeit sein werden, Ihre Apps in den Google Play Store hochzuladen.

XCAssets können jetzt für imageset, appiconset und colorset direkt in Rider erstellt und bearbeitet werden. Auf diese Weise können Sie die verschiedenen Endgeräte und die ihnen zugeordneten Bilder, Symbole und Farben sehen. Bilder und Symbole können durch Ziehen und Ablegen hinzugefügt oder ersetzt werden. Unser bewährtes Farbwähler-Steuerelement ermöglicht eine einfache Farbauswahl.

Beim Bearbeiten von Android-Layout- oder Ressourcendateien wird die Datei Resource.Designer.cs jetzt automatisch generiert. Dadurch werden alle Fehler, die zuvor fälschlicherweise angezeigt wurden, beseitigt.

F#-Unterstützung

Postfix-Vorlagen in der Code-Completion

Postfix-Vorlagen helfen Ihnen beim Transformieren von Ausdrücken, die Sie bereits eingetippt haben, ohne zurückspringen zu müssen. Endlich stehen sie auch für F# zur Verfügung, beginnend mit der let-Vorlage.

Aktionen

Rider bietet eine neue Aktion für Dekonstruktionsmuster für Tupel und union-Fälle in F#.

Sie können jetzt Ihren Code mithilfe von Aktionen neu anordnen. Sie können Elemente an folgenden Stellen nach oben/unten bzw. links/rechts verschieben: enum- oder union-Fälle, record- oder union-Fallfelder, Match-Klauseln, Tupel und Funktionsparameter.

Eine weitere neue Aktion, Optimize Imports, erspart es Ihnen, jedes Mal, wenn Sie Ihre Importe bereinigen müssen, einen ähnlichen Quick-Fix nach einer Warnung manuell aufzurufen.

Weitere nützliche Verbesserungen

  • Das Refactoring Inline Variable funktioniert jetzt auch für let-Bindungen auf der obersten Ebene.
  • Die Darstellung der XML-Dokumentation im Editor wurde erheblich verbessert.
  • Die Sprachversion kann in den Projekteigenschaften angegeben werden und wird auch in der .fsproj-Datei gespeichert.
  • Die F#-Unterstützung wurde darüber hinaus durch weitere Quick-Fixes, Refactorings und andere Verbesserungen ausgebaut. Please take a look at the full release notes for more information.

Apple-Silicon-Unterstützung Nur macOS Early Preview

Eine Early-Preview-Version von Rider 2021.2 mit vollständiger nativer Unterstützung für den M1-Chip ist verfügbar. Diese Version führt keine Übersetzung von x64 zu ARM64 durch. Es werden die folgenden Laufzeitumgebungen verwendet:

  • Die Apple-Silicon-kompatible JBR (JetBrains Runtime) für das Frontend.
  • .NET 6 Preview 4 für das Backend.

Weitere Informationen finden Sie auf dieser Seite.

Unterstützung für Datenbanken

Generieren aus einer echten Datenquelle

Das Generieren von DDL-Datenquellen ist ein weiterer Schritt in unserer langfristigen Entwicklung hin zu einer nahtlosen Datenbankversionierung. Mit dieser Funktion können Sie Ihre DDL-Dateien in einem VCS-System verwahren und jedes Mal neu generieren, wenn Ihre Datenbankstruktur aktualisiert wird.

Sie können jetzt eine DDL-Datenquelle basierend auf einer echten Datenquelle generieren. Die DDL-Dateien werden lokal erstellt, und die neue Datenquelle basiert auf diesen Dateien. Auf diese Weise haben Sie jederzeit die Möglichkeit, diese Dateien neu zu generieren und die DDL-Datenquelle zu aktualisieren.

Separate Ordner für Funktionen und Prozeduren

Wenn Sie in den Einstellungen des Datenbank-Explorers (das Zahnradsymbol) die Option Separate Procedures and Functions einschalten, tritt diese sofort in Kraft.

Bei SQL Server gibt es eigene Knoten für Skalar- und Tabellenfunktionen. Bei PostgreSQL gibt es einen Knoten für Triggerfunktionen.

Separate Knoten für Trigger, Schlüssel und Indizes

Eine neue Option für die Datenbank-Baumstruktur namens Show Constraints and Triggers in the Schema weist Triggern, Schlüsseln und Indizes ihre eigenen Knoten im Datenbank-Explorer zu.

Completion für datenbankübergreifende Synonyme SQL Server

Die Code-Completion umfasst jetzt datenbankübergreifende Synonyme.

Plugins

dotCover

dotCover kann jetzt die Coverage-Analyse von Testklassen innerhalb einer Assembly parallel durchführen. In bestimmten Fällen ermöglicht dies eine schnellere Coverage-Analyse.

Unit-Test-Runner für .NET-Core- und .NET-Projekte können jetzt vorab geladen werden. Dies ermöglicht einen schnelleren Start der Coverage-Analyse, da die Unit-Test-Runner bereits im Arbeitsspeicher geladen sind.

Es gibt noch weitere Verbesserungen, die nicht unerwähnt bleiben sollten:

  • Verbesserte Unterstützung für C# 8.0 und C# 9.0 in der Coverage-Baumstruktur, inkl. Anzeige der Standard-Schnittstellenimplementierungen und mehr.
  • dotCover bietet jetzt an, den Unity-Editor neu zu starten, wenn die Coverage-Filter geändert wurden.

Dynamische Programmanalyse (DPA)

DPA speichert jetzt zwei Werte für jedes Problem – den historischen Höchstwert und den Wert des letzten Durchlaufs. Dies verhindert falsche Negativergebnisse. Bisher konnte es passieren, dass Probleme unter den Schwellenwert fielen und aus der Problemliste verschwanden, und zwar nicht, weil sie behoben wurden, sondern weil sich ihre Startbedingungen geändert hatten.

Außerdem gibt es noch einige weitere Verbesserungen:

  • DPA wird automatisch deaktiviert, wenn Sie das Performance-Profiling starten.
  • Im Fenster Dynamic Program Analysis können jetzt mehrere Probleme ausgewählt werden.
  • Das Unterdrücken von Problemen mit dem Attribut SuppressMessage funktioniert jetzt bei asynchronen Methoden.

SpecFlow-Ankündigung

SpecFlow is a tool to bring Behavior-Driven Development to .NET. Auf Anregung der Community haben wir das SpecFlow-Entwicklungsteam dabei unterstützt, ein SpecFlow-Plugin für den JetBrains Marketplace zu entwickeln, das Syntaxhervorhebung, Code-Completion, Navigation und Skelettcode-Generierung für SpecFlow-Tests ermöglicht. In einem Webinar mit Andreas Willich haben wir diese Funktionen ausführlich vorgestellt.

Empfohlene Plugins

Wir haben die Liste der empfohlenen Plugins überarbeitet, die bei der Ersteinrichtung im Assistenten „Customize Rider“ angezeigt wird. Die Liste enthält jetzt folgende Einträge:

Sonstiges

Projektmappen-Explorer

Große Verzeichnisse wie node_modules oder libs können die Dateiindizierung, die für eine schnelle Textsuche erforderlich ist, erheblich verlangsamen. Im Rider-Kontextmenü können Sie einzelne Verzeichnisse von der Indizierung ausschließen.

Sie können jetzt die Dateieigenschaften (z. B. Build-Aktion oder Kopieren in Output-Verzeichnis) für mehrere im Projektmappen-Explorer ausgewählte Elemente bearbeiten.

Assembly-Explorer und Decompiler

The embedded decompiler now can decompile single-file apps. Es werden die Einzeldateiformate der SDKs .NET Core 3.1, .NET 5 und des künftigen .NET 6 unterstützt.

Im Assembly-Explorer können Sie die in einer Einzeldatei-App integrierten Assemblies in der gewohnten Weise durchsuchen.

JetBrains Toolbox App

Ab sofort verpassen Sie keine wichtigen Produktupdates mehr, die von der JetBrains Toolbox App bereitgestellt werden. Wenn eine neue Version zum Download verfügbar ist, informiert Sie Rider und bietet an, das Upgrade durchzuführen. Dazu muss die JetBrains Toolbox App in der Version 1.20.8804 oder höher vorliegen.

Verschiedenes

  • Wenn Sie bei der Razor-Entwicklung an großen Views arbeiten, die Ihren Editor ins Stocken bringen, können Sie die CPU-intensiven Unterstützungen und die automatischen Vorschläge deaktivieren. Die Einstellungen finden Sie hier: Preferences/Settings | Editor | General | Typing Assistance | Razor | Allow CPU-intensive typing assist.
  • Die Liste Go To Base/Inheritors zeigt auch versteckte Überschreibungen an.
  • Wir haben Unterstützung für die Protokollnachricht-Vorlage der Microsoft LoggerExtensions hinzugefügt. Rider analysiert jetzt den Code, färbt ihn ein und bietet Kontextaktionen an.
  • Wir haben eine Option zum Unterdrücken von Problemen bei asynchronen Methoden hinzugefügt.
  • Rider warnt Sie, wenn Sie versuchen, eine 64-Bit-Webanwendung in der 32-Bit-Version von IIS Express ("use64Bit": false in launchSettings.json) im In-Process-Modus auszuführen.