Rider 2022.3 unterstützt das .NET 7 SDK, einschließlich der neuen Sprachmerkmale von C# 11. Diese Version bietet erhebliche Leistungssteigerungen – insbesondere durch verkürzte Startzeiten und die Möglichkeit, Rider über Remote-Entwicklung in WSL 2 (Windows-Subsystem für Linux 2) auszuführen. Wir haben auch einige wichtige UX/UI-Änderungen vorgenommen. So können beispielsweise bei der Verwendung mehrerer Bildschirme Toolfenster angedockt werden. Und nicht zuletzt vertieft dieses Release die Integration mit den Editoren von Unity und Unreal.
Wir haben mehrere Änderungen vorgenommen, um den Start von Rider zu beschleunigen und die Zeit bis zur Einsatzbereitschaft nach dem Öffnen einer Lösung zu verkürzen:
Erfahren Sie mehr über die Performance-Verbesserungen in Rider hier.
Rider unterstützt jetzt WSL 2 (Windows-Subsystem für Linux 2) über die Remote-Entwicklungsfunktion der IDE. Dies bedeutet, dass Sie Rider in einer WSL-2-Instanz verwenden können, um Ihre Projektmappen und Quelldateien zu durchsuchen und Anwendungen so zu kompilieren, zu debuggen und auszuführen, als ob sie sich auf dem lokalen System befinden würden.
Der einfache Einrichtungsprozess kann direkt auf dem Begrüßungsbildschirm von Rider gestartet werden. Die Bedienoberfläche wird über Remote-Entwicklung bereitgestellt, sodass WSLg nicht erforderlich ist. Ein lokaler RemoteDev-Client wird automatisch installiert. Weitere Informationen finden Sie in der Dokumentation für die Remote-Entwicklung.
Wir haben die oft gewünschte Option zum Andocken von Toolfenstern an schwebende Editor-Tabs endlich umgesetzt! Damit Sie Ihren Arbeitsbereich komfortabler einrichten und Rider bequem mit mehreren Bildschirmen verwenden können, lassen sich Toolfenster jetzt aus dem Hauptfenster herauslösen und an schwebende Editor-Tabs andocken.
Wir haben den Algorithmus zur Erstellung der Ergebnisliste in Search Everywhere optimiert, um sie berechenbarer und die Auswahl der gesuchten Elemente treffsicherer zu machen. Wenn Sie mit der Sucheingabe beginnen, bleiben die zuerst angezeigten Suchergebnisse unverändert und werden nicht wie in früheren Versionen neu sortiert, wenn weitere Ergebnisse gefunden werden.
Wir haben einen neuen Dialog Attach to process eingeführt, um Ihre Nutzungserfahrung zu verbessern, insbesondere beim Anhängen an einen Prozess über SSH. Dadurch können Sie den richtigen Prozess schneller finden und auswählen, und die IDE merkt sich außerdem den gewählten Debugger.
Wir erleichtern Ihnen die Codebearbeitung durch eine Optimierung der Einfügeaktion (⌘V / Strg+V). Wenn Sie jetzt eine Zeile kopieren (⌘C / Strg+C) oder ausschneiden (⌘X / Strg+X), ohne dass Code ausgewählt ist, wird die kopierte Zeile beim Einfügen oberhalb der aktuellen Zeile und nicht wie früher an der Einfügemarke eingefügt.
Die neue Aktion Edit | Paste Special: JSON as Classes
ermöglicht das „intelligente Einfügen“ von Objekten. Wenn Sie einen JSON-Abschnitt kopieren und mit dieser Aktion einfügen, werden automatisch C#-Klassen aus den JSON-Daten generiert.
Sie sind jetzt herzlich eingeladen, unter Preferences/Settings | Appearance & Behavior | New UI Preview
die neue Bedienoberfläche für IntelliJ-basierte IDEs zu aktivieren. Die neue Oberfläche ist Teil unserer kontinuierlichen Bemühungen, die visuelle Komplexität der IDE zu reduzieren und Ihnen zu helfen, sich auf Ihre Arbeit zu konzentrieren.
Darüber hinaus nehmen wir weiterhin kleine UI/UX-Optimierungen vor, um Rider noch relevanter und nützlicher zu machen:
File | New
im Hauptmenü wurde in File | New Solution
umbenannt, um die tatsächlich ausgeführte Aktion genauer zu beschreiben. Rider 2022.3 bietet offizielle Unterstützung für das .NET 7 SDK, einschließlich:
ref
-Felder und das Schlüsselwort scoped
. Wir haben grundlegende Unterstützung für UTF-8-Literale
eingeführt. Bei der Codeanalyse wird nun vorgeschlagen, ein Literal mit dem Suffix u8
statt der Methode System.Text.Encoding.UTF8.GetBytes()
oder einem Byte-Array mit UTF8
-Symbolen zu verwenden. Hinzu kommen mehrere Compiler-Warnungen und -Fehler für UTF-8-Literale.
Dateilokale Typen erhalten nun eine grundlegende Unterstützung. Diese umfasst die Erkennung der neuen Syntax, den Zugriffsmodifikator file
für Typen sowie Compiler-Warnungen und -Fehler mit entsprechenden Quick-Fixes wie z. B. Move class to outer scope, wenn der Modifikator file
für eine geschachtelte Klasse angegeben wird. Mit einer nützlichen Kontextaktion können Sie außerdem einen allgemeinen Typ in einen dateilokalen Typ umwandeln.
Rider kann jetzt reguläre und Verbatim-Zeichenfolgen in ihre Raw-Gegenstücke umwandeln. Dies bedeutet auch, dass zahlreiche bestehende Funktionen für Zeichenfolgen nun auch für Raw-Zeichenfolgen verfügbar sind.
Ab diesem Release schlägt die IDE die Verwendung der in C# 11 eingeführten List-Pattern-Syntax zur Prüfung der Elemente einer Collection vor (anstelle der herkömmlichen Collection-Längenprüfungen mit anschließendem Indexzugriff).
Ab C# 11 können Sie static
-Member in Schnittstellen mit den Modifikatoren abstract
und virtual
versehen und solche Member in generischem Code mit Typparametern verwenden, die durch diese Schnittstelle spezifiziert sind. Rider wurde aktualisiert, um polymorphe static
-Member genauso zu behandeln wie gewöhnliche polymorphe Member:
override
enthalten auch Schnittstellen-Member, sodass Sie abstrakte oder als virtual static
gekennzeichnete Member unkompliziert implementieren können. >>>
) Rider erkennt jetzt den umständlichen Code, den C#-Entwickler*innen bisher schreiben mussten, um eine vorzeichenlose Rechtsverschiebung von vorzeichenbehafteten Datentypen vorzunehmen, und schlägt stattdessen den in C# 11 eingeführten Operator >>>
für die vorzeichenlose Rechtsverschiebung vor.
Wenn Sie Zeichen-Spans parsen, verwenden Sie wahrscheinlich häufig die Methode MemoryExtensions.SequenceEqual
. C# 11 hat eine Abkürzung für diese Prüfung eingeführt. Sie können jetzt einfach Pattern-Matching mit is
oder switch
verwenden, um Spans mit Zeichenfolgenliteralen zu vergleichen.
Rider schlägt nun vor, statt mehrerer if
-Anweisungen is
oder switch
zu verwenden.
ref
-Felder und Schlüsselwort scoped
Ab C#11 können Sie ref
-Felder in ref
-Structs deklarieren. Rider unterstützt diese neue Syntaxregel, zeigt alle Compilerfehler und -warnungen an, schlägt das ref
-Schlüsselwort bei der Code-Completion vor und erlaubt die Initialisierung solcher Felder in Konstruktoren.
Rider kennt auch das neue Schlüsselwort scoped
, das Sie für Argumente und lokale Variablen verwenden können, die als ref
oder ref struct
spezifiziert sind. Die Unterstützung umfasst das korrekte Parsen der neuen Syntax, das Vorschlagen des Schlüsselworts scoped
in der Code-Completion und die Beibehaltung von scoped
beim Generieren von Methodenüberschreibungen. Auch die Kompatibilität von scoped
-Modifikatoren wird überprüft, und bei abweichenden scoped
-Angaben bei Überschreibungen, Schnittstellenimplementierungen und Delegatkonvertierungen werden Quick-Fixes vorgeschlagen.
C# 11 und .NET 7 haben auch Änderungen an den ref
-bezogenen Sicherheitsregeln eingeführt. Die Änderungen regeln, welche Operationen für ref
- und ref struct
-Variablen verfügbar sind, um nach der Einführung von ref
-Feldern die ref-Sicherheit in verwaltetem Code zu gewährleisten. Rider kennt die Änderungen und hilft Ihnen, Stellen in Ihrem Projekt zu finden, die aktualisiert und mit dem neuen Schlüsselwort scoped
versehen werden müssen, um auf C# 11 oder .NET 7 migrieren zu können.
Dieser Build enthält eine Reihe von Verbesserungen bei der Sprachinjektion:
Wir haben Unterstützung für Sprachinjektionen hinzugefügt, die mit den Attributen [StringSyntax]
(aus .NET 7) und [LanguageInjection]
(aus JetBrains.Annotations) spezifiziert werden. Auch die Sprachangabe in einem Kommentar nach dem Muster // lang=<language_name>
wird unterstützt.
Sprachinjektionen in interpolierten und verketteten Zeichenfolgen sind jetzt in jeder Sprache möglich – bisher stand nur SQL zur Wahl. Bitte beachten Sie, dass Syntaxfehler unterdrückt werden, wenn Sie interpolierte oder verkettete Zeichenfolgen mit beliebigen Ausdrücken verwenden. Sprachinjektionen in Raw-Zeichenfolgen gemäß C# 11 werden ebenfalls unterstützt.
Bei Raw-Zeichenfolgen wird jetzt eine Einrückungslinie angezeigt, die die Einrückung vom tatsächlichen Inhalt trennt.
Ein neues Randleistensymbol informiert Sie über implizite Namensraum-Importe in C#- und Razor-Dateien.
Wenn Sie in der entsprechenden Zeile Alt+Enter drücken, sehen Sie die vollständige Liste der impliziten Importe sowie Informationen zur Quelldatei, in der sich die entsprechenden global using
-Direktiven befinden. Wenn Sie einen bestimmten importierten Namensraum auswählen, kann Rider Sie zur Deklaration navigieren – dies gilt auch für <Using Include="Some.NameSpace" />
-Tags in der .csproj
-Projektdatei.
Rider zeigt auch globale Importe aus _Imports.razor
an und ermöglicht die Navigation zu den entsprechenden Importdefinitionen.
Um Ihren Entwicklungsprozess zu optimieren und zu beschleunigen, haben wir eine ML-gestützte Sortierung der Vorschläge in der C#-Completion eingeführt.
Um Ihre Erfahrung mit dieser Funktion weiter zu verbessern, können Sie unter Settings/Preferences | Editor | General | Code Completion | Machine Learning-assisted Completion
zwei Optionen aktivieren:
Mit der Einführung der Zahlentypen Int128
und UInt128
in .NET 7 haben wir die Formatangaben-Vorschläge in der Code-Completion aktualisiert.
Dabei haben wir auch die fehlende Unterstützung für die Typen DateOnly
und TimeOnly
aus .NET 6 sowie den in .NET 5 eingeführten Fließkommazahlentyp mit halber Genauigkeit Half
nachgereicht.
Manchmal werden Pattern-Matching-Ausdrücke nach einem Refactoring zu trivialen rekursiven Patterns. In einem solchen Fall lohnt es sich möglicherweise nicht mehr, die rekursive Syntax zu verwenden. Daher bietet Rider jetzt die Möglichkeit, Patterns durch einfachere Ausdrücke zu ersetzen, wobei die ursprüngliche Pattern-Matching-Semantik beibehalten wird.
Manchmal kommen bei der Texteingabe nach einem Aufruf kaum sinnvolle Vorschläge. Ein Grund dafür kann sein, dass der Aufruf keinen Wert zurückgibt, da eine void
-Methode aufgerufen wurde. Um dies zu erkennen, sind normalerweise einige IDE-Aktionen erforderlich (zurückgehen und zur Deklaration der Methode navigieren oder die Maus auf den Aufruf bewegen). Ab dieser Version erhalten Sie nach einem Aufruf, der void
zurückgibt, durch den Hinweis „void“ eine unmittelbare Rückmeldung zum Rückgabetyp des Aufrufs. Wenn Sie diesen void
-Vorschlag übernehmen, wird nach dem Aufruf ein Semikolon eingefügt, wenn dieses noch fehlt.
Rider 2022.3 führt Hot Reload für Blazor-Server-Apps ein. Wenn Sie Änderungen am Quellcode Ihrer Blazor-Server-App vornehmen, während die App ausgeführt wird, werden Sie von Rider gefragt, ob Sie diese Änderungen ohne Neustart auf die ausgeführte App anwenden möchten. Achten Sie oben im Texteditor auf die gelbe Benachrichtigungsleiste Sources are modified. Wenn Sie die Änderung übernehmen, wird Ihre App sofort aktualisiert und Sie können mit der aktualisierten App weiterarbeiten.
Um einen in der Community häufig geäußerten Wunsch zu erfüllen, haben wir eine neue Run-Konfiguration IIS Application
eingeführt, mit der Sie klassische ASP.NET-Anwendungen auf einem IIS-Server ausführen und debuggen können. Neu ist auch die Unterstützung für den Befehlsnamen IIS
in der launchSettings.json
-Datei von ASP.NET-Core-Anwendungen.
Die Unterstützung für Endpunkte und der Endpoints-Viewer werden weiterhin kontinuierlich verbessert. Der Viewer erkennt jetzt auch Endpunkte in Routinggruppen bei Verwendung der Minimal-API von ASP.NET Core 7 und listet sie korrekt auf. Dadurch ist es über die bisherige Funktionalität hinaus möglich, die mit der MapGroup()
-API deklarierten Endpunkte zu finden, zu ihnen zu navigieren und die Smart-Completion für sie zu nutzen.
In ASP.NET-Projekten ist jetzt die Aktion .NET User Secrets verfügbar.
Rider generiert jetzt automatisch eine Run-Konfiguration npm
für JavaScript- und TypeScript-Webprojekte (.esproj
), die in der Projektmappe (.sln
) referenziert werden.
Code-Vision-Hinweise stehen jetzt auch für JavaScript und TypeScript zur Verfügung. Diese Hinweise helfen Ihnen, die Verwendung verschiedener Klassen, Methoden, Typ-Aliasnamen und Schnittstellen in Ihrem Code zu verfolgen.
Die IDE versteht jetzt die At-Regel @supports
, die einen Anweisungsblock mit einer @supports
-Bedingung verknüpft. This build also includes support for viewport units, range media queries, container queries, @layer (Cascade layers), and color modification functions.
Wir haben Unterstützung für die Typverengung in Angular-Templates hinzugefügt. Dadurch können präzisere Typinformationen und bessere Code-Completion-Vorschläge bereitgestellt werden.
Außerdem schließt Rider jetzt den Cache-Ordner .angular
von der globalen Suche aus, um relevantere Ergebnisse bereitzustellen.
Die Unity-Unterstützung in Rider erhält ein weiteres umfassendes Update mit Neuerungen, Optimierungen an vorhandenen Funktionen und einigen Fehlerkorrekturen.
Wir unterstützen jetzt das neue Unity-Paket Input System. Rider erkennt die Verwendung von Methoden als Ereignishandler für Eingaben und kategorisiert diese Methoden nicht mehr als ungenutzt. Auch Find Usages funktioniert bei diesen Methoden und zeigt an, wo sie im Code oder in der Datei .inputactions
verwendet werden.
Das Laden von Game-Ressourcen zur Laufzeit ist eine großartige Möglichkeit, und Rider hilft Ihnen jetzt, in Resources.Load
-Aufrufen den richtigen Pfad zu verwenden. Bei der Eingabe werden Completion-Vorschläge angezeigt, und unbekannte Ressourcen werden zur Warnung eingefärbt.
Rider bietet seit mehreren Releases Completion und Verifizierung für Tag-Namen, und ab Version 2022.3 wird auch die Methodengruppe GameObject.FindWithTag
unterstützt. Sie erhalten Code-Completion während der Eingabe und werden gewarnt, wenn Sie ein Tag verwenden, das nicht im Projekt vorhanden ist.
Bei Unity-Projekten ist es sehr wichtig, dass die Metadateien mit den Dateien und Ordnern synchronisiert sind. Rider 2022.3 warnt Sie, wenn Sie versuchen, per Commit eine Metadatei für einen leeren Ordner in die Versionsverwaltung zu übernehmen. Noch nützlicher ist die Warnung, die Rider bei geöffnetem Unity-Editor ausgibt, wenn Sie ungespeicherte Szenen oder Assets haben. So können Sie sicherstellen, dass Ihre Commits alle Änderungen enthalten.
Natürlich gibt es noch zahlreiche weitere kleine Verbesserungen und Korrekturen. Wir haben die Ladezeit besonders großer Projekte verkürzt, und Sie erhalten eine Benachrichtigung, wenn Sie versuchen, eine schreibgeschützte Paketdatei zu bearbeiten. Eine Verbesserung in Find Usages ermöglicht die Verwendung bei Methoden in verschachtelten Prefabs und Arrays von Ereignishandlern.
Im Rahmen der DOTS-Unterstützung hat Rider gelernt, Klassen, die IBaker
oder IAspect
implementieren, nicht als ungenutzt zu markieren.
Sie können die Namensinspektionen bei serialisierten Feldern deaktivieren, damit diese wie normale Felder behandelt werden, und die Links zur Online-Dokumentation verweisen jetzt auf die richtigen Stellen.
Wir bedanken uns außerdem bei Unity für die Beisteuerung einer Korrektur für das Debugging von Playern auf Nintendo Switch.
Rider bietet bereits länger die Option, beim Umbenennen von Unreal-Klassen oder -Eigenschaften über das Rename-Refactoring CoreRedirects hinzuzufügen. Dies funktioniert jetzt auch in den folgenden Fällen:
UFUNCTION()
USTRUCT()
UENUM
Bei der Durchführung des Rename-Refactoring schlägt Rider jetzt in allen diesen Fällen vor, CoreRedirects hinzuzufügen.
Wenn Sie dem Vorschlag zustimmen, wird die entsprechende .ini
-Datei automatisch aktualisiert.
Jetzt ist es viel unwahrscheinlicher, dass sich beim Umbenennen Fehler in Ihr Game einschleichen!
Rider 2022.3 führt eine neue Code-Vision-Metrik für Blueprints ein. Sie können jetzt unkompliziert überprüfen, wie viele Blueprints die Funktion BlueprintCallable
verwenden und die Liste aller Verwendungen über das Code-Vision-Kontextmenü abrufen.
Das Tool Generate GUID unterstützt jetzt das GUID-Format der Unreal Engine. Wann immer Sie schnell eine GUID generieren müssen, wählen Sie einfach Tools | Generate GUID...
im Menü aus, und das bevorzugte Hexadezimalformat wird standardmäßig ausgewählt.
Die Autoimport-Vorschläge der Completion können Ihnen eine Menge Zeit sparen. Wird dabei jedoch nicht die korrekte #include
-Direktive hinzugefügt, kann das resultierende Problem schwer zu finden sein. Wir haben intensiv daran gearbeitet, diese Funktion zu optimieren und sicherzustellen, dass keine unerwünschten Elemente aus den System-Headern für den Autoimport vorgeschlagen werden. Standardmäßig werden System-Header nicht vorgeschlagen, aber wenn Sie dies wünschen, können Sie sie unter Settings/Preferences | Languages & Frameworks | C++ | Unreal Engine
aktivieren.
Wir haben die Darstellung der UnrealBuildTool-Protokolle verbessert. Damit Sie keine Warnungen oder Fehler in Ihren Projektkonfigurationen übersehen, zeigt das Fenster jetzt Zeitstempel an und bewahrt die Protokolle aus früheren UnrealBuildTool-Läufen auf.
.uproject
-Modell Bei Unreal-Engine-basierten Projekten kann Rider sowohl mit .sln
- als auch mit .uproject
-Projekten umgehen. Die Unterstützung für das native .uproject
-Modell wird kontinuierlich verbessert, um die Präzision und den Komfort zu steigern:
.project
unter AdditionalRootDirectories
und AdditionalPluginDirectories
angegeben sind. .Build.cs
-Dateien. .uplugin
- und .uproject
-Dateien werden jetzt bei Verwendung des .uproject
-Projektmodells unterstützt. .uproject
-Modell verwendet wird. Wir haben die Aktion Attach to Unreal Editor für Unreal-Engine-Projekte implementiert. Dies erleichtert das Anhängen an einen Unreal-Engine-Prozess, ohne manuell nach dem richtigen Prozess suchen zu müssen. Derzeit ist das Anhängen nur an den Prozess möglich, mit dem UnrealLink verbunden ist – d. h. das im Unreal Editor ausgeführte Projekt sollte dem in Rider bearbeiteten Projekt entsprechen. Wir arbeiten daran, diesen Workflow in zukünftigen Versionen zu verbessern.
Rider 2022.3 kann jetzt auf ARM64-basierten Windows- und Linux-Systemen ausgeführt werden. Alle grundlegenden Entwicklungsabläufe werden unterstützt; Sie können Ihre .NET-Anwendungen ausführen und debuggen und Unit-Tests durchführen. Wir arbeiten weiter an der Entwicklung und an Tests, um sicherzustellen, dass Rider reibungslos mit ARM64-Prozessoren funktioniert. Gleichzeitig möchten wir Sie auf die folgenden Einschränkungen hinweisen:
dotMemory steht jetzt nicht nur unter Windows, sondern auch unter Linux und macOS für JetBrains Rider zur Verfügung. Im Run-Widget und im Menü Run | Switch profiler configuration
sind zwei neue Profiling-Modi verfügbar: Memory (sampled allocations) und Memory (full allocations). Informationen zu den Unterschieden zwischen den beiden Modi finden Sie in der dotMemory-Hilfe.
Sie können den Profiler über das Run-Menü an einen laufenden Prozess anhängen und die Erfassung des Zeitdiagramms (Timeline Graph) in Echtzeit nachverfolgen. Wählen Sie ein Intervall, um die aus der eigenständigen dotMemory-Anwendung bekannte Ansicht Memory Allocations zu öffnen. Darin können Sie die allozierten Objekte und die Baumstruktur der Allokationsaufrufe für einen bestimmten Zeitraum analysieren.
Leider ist es in dieser Version noch nicht möglich, Speicher-Snapshots zu erfassen.
Die dynamische Programmanalyse (DPA) verfügt über neue Inspektionen, die verschiedene Probleme im Zusammenhang mit der Datenbanknutzung finden können:
Die neuen Inspektionen sind für alle Anwendungen verfügbar, die Entity Framework Core und einen .NET-Datenprovider für SQL Server verwenden.
Die neue Kontextaktion Show Covering Tests in den dotCover-Kontextmenüs ist sowohl im Code-Editor als auch im Fenster Unit Test Coverage verfügbar. Diese Aktion zeigt ein Popup-Fenster an, in dem alle zur Coverage gehörenden Tests aufgeführt sind. In diesem Popup können Sie auch eine neue Coverage-Sitzung starten.
dotCover kopiert ab sofort nur noch die Assemblies und Symboldateien, die für das Continuous Testing in JetBrains Rider benötigt werden. Dadurch wird die Gesamtperformance von dotCover insbesondere bei großen Projekten verbessert, da nicht mehr das gesamte Arbeitsverzeichnis kopiert werden muss. Bei Bedarf können Sie den Schattenkopien-Filter in den dotCover-Einstellungen anpassen.
Die Coverage-Analyse von Unity-Tests erforderte bisher den Neustart von Unity mit aktivierter Coverage-Unterstützung. Ab diesem Release müssen Sie Unity nicht mehr neu starten – die Test-Coverage wird standardmäßig unterstützt.
CPM (Central Package Management, d. h. zentrale Paketverwaltung mithilfe der Datei Directory.Packages.props
) ist eine in Entwicklung befindliche Funktion des .NET-Technologiestacks, die in Zukunft – eine weitere Entwicklung vorausgesetzt – die Verwaltung von Projektmappen erleichtern sollte. Mit der Einführung von CPM in Rider erhalten Entwickler*innen mehr Kontrolle über ihre Abhängigkeiten.
Weitere Informationen zur zentralen Paketverwaltung, inklusive Tipps und Vorbehalte, finden Sie in diesem Blogartikel.
Jede Verwendung eines quelloffenen NuGet-Pakets ist mit dem Risiko verbunden, dass Sicherheitslücken in Ihr Projekt eingeschleppt werden. Um dieses Risiko zu minimieren, bietet Rider jetzt eine Erkennung von Abhängigkeiten an, die von Sicherheitslücken betroffen sind. Die IDE warnt Sie über Benachrichtigungs-Popups vor anfälligen Abhängigkeiten, die sich aus der Verwendung von NuGet-Paketen ergeben. Sie können die Meldungen im Bereich Security der Problems-Ansicht weiter untersuchen. Informationen zu anfälligen Abhängigkeiten der in der Projektmappe verwendeten Pakete finden Sie auch im Fenster NuGet Package Management, wenn Sie ein bestimmtes Paket auswählen.
Wir haben auch das Scrollen in der Paketliste des NuGet-Toolfensters verbessert.
Rider 2022.3 führt die Unterstützung von F# 7 ein, stellt verschiedene Korrekturen für kleinere Probleme bereit und bietet einige Verbesserungen für den Entwicklungsalltag.
Durch die Eingabe von <
innerhalb eines Kommentars wird jetzt eine Dokumentationsvorlage eingefügt. Zudem erleichtern Syntaxhervorhebung und Code-Completion die Bearbeitung von Dokumentationskommentaren.
Eine neue Code-Completion-Regel vereinfacht die Eingabe von record
-Ausdrücken, indem sie Felder des abgeleiteten record
-Typs hervorhebt, bereits verwendete Felder ausblendet und verschiedene Fälle behebt, in denen bisher keine Vorschläge angezeigt wurden.
Mit den neuen Quick-Fixes Update parameter name und Update record field können Sie Signaturdateien aktualisieren, um ihre Verwendung bei Codeänderungen zu vereinfachen. A huge thanks goes to Florian Verdonck for implementing them!
Dies waren nur die Highlights der verbesserten F#-Unterstützung. You can find the full list of F# features included in the 2022.3 release here.
Hier sind einige besonders interessante Neuerungen in Rider 2022.3 für die Arbeit mit Datenbanken:
Erfahren Sie mehr: Das ist neu in DataGrip 2022.3
Das IL Viewer-Toolfenster von Rider kann jetzt Code in verschiedene Ebenen von C#-Sprachkonstrukten dekompilieren. Es stehen zwei C#-Ebenen zur Verfügung: high-level, wobei bestimmte Syntaxkonstrukte mithilfe der neuesten Sprachmerkmale vereinfacht werden, und low-level für den Fall, dass Sie erfahren möchten, wie diese Syntaxkonstrukte ohne „syntaktischen Zucker“ aussehen.
Die Syntaxhervorhebung und die Wellenlinien wurden in Rider 2022.3 überarbeitet. Aufgrund von Abweichungen in der internen Logik kam es bisher zu einem Konflikt zwischen Rider und der Codestilanalyse von Microsoft Roslyn. Dies führte zu überlappenden Syntaxhervorhebungen, der Darstellung derselben Hervorhebung an verschiedenen Stellen oder doppelten Wellenlinien. Die Unterschiede in der Logik, die den meisten dieser Fälle zugrunde lagen, sind nun behoben, und bei den seltenen Ausnahmen werden jetzt Fehler mit klaren Vorschlägen zur Lösung des Konflikts angezeigt.
Außerdem zeigt Rider jetzt bei Inspektionen, die von Roslyn-Analyzern erstellt wurden, die Roslyn Analyzer ID und die URL-Referenz in einem Schnelldokumentations-Tooltip an.
Wir haben die Möglichkeit eingeführt, statt der Verwendung des Rider-Formatierungsmoduls eine clang-format-Binärdatei direkt auszuführen. Dies gewährleistet eine vollständige Kompatibilität der Formatierung mit dem Industriestandard und ermöglicht eine höhere Performance und eine größere Auswahl an Formatierungsoptionen. Um zwischen dem integrierten und einem externen clang-format umzuschalten, wählen Sie unter Settings | Editor | Code Style | C++
die Option Clang-format aus.
Wir haben die Performance des Debuggers bei deaktivierter Option Allow property evaluations and implicit function calls erheblich verbessert. Jetzt können im nebeneffektfreien Modus viel mehr Ausdrücke in .NET-, .NET-Framework- und .NET-Core-Projekten ausgewertet werden.
Wir haben die Baumstruktur des Unit-Test-Explorers auf „lazy“ umgestellt und dadurch die Geschwindigkeit erhöht und den Speicherbedarf verringert. Zuvor wurden alle Knoten automatisch gemeinsam mit der Unit-Test-Baumstruktur erstellt. Dies führte zu einem hohen Speicherverbrauch und einer stockenden Navigation. Jetzt werden nur noch die Knoten der ausgeklappten Zweige angelegt, wodurch sich die Leistung spürbar verbessert.
32-Bit
-Version von MSBuild der Arbeitsspeicher ausgeht, kann Rider dies erkennen und zur 64-Bit
-Version von Visual Studio wechseln. Die projektmappenweite Analyse und der Befehl Find usages wurden refaktoriert. Unseren internen Tests zufolge sind sie dadurch um durchschnittlich 20–40% schneller geworden.