Das ist neu in Rider 2019.3

Rider 2019.3 bietet hervorragende Unterstützung für T4-Templates, einen plattformübergreifenden Profiler für .NET Core und plattformübergreifende Test-Coverage für Unity. Das Programm startet schneller, der Debugger unterstützt Docker Compose, und die VCS-Funktionalität und die Xamarin-Unterstützung wurden auf breiter Front verbessert.

Unterstützung für T4-Templates

Unterstützung für T4-Templates

Sie haben sich die Unterstützung von T4-Textvorlagen gewünscht, und einmal mehr war Ihr Wunsch uns Befehl! Ab sofort unterstützen wir T4-Templates mit einem selbstentwickelten Generator, der über ein vorinstalliertes Plugin verfügbar ist. 

Jetzt können Sie in Rider alle Ihre T4-Vorlagen unkompliziert ausführen, verarbeiten und debuggen. Wir sind zuversichtlich, dass Ihnen die neuen Unterstützungsfunktionen im Editor gefallen werden:

  • Umfassende C#-Unterstützung in Codeblöcken – inklusive Hervorhebung, Navigation, Vervollständigung, Eingabeunterstützung, Refaktorierung, Kontextaktionen, Inspektionen, Formatierung und mehr.
  • Unterstützung für T4-spezifische Funktionen mit Inspektionen, Eingabehilfen, Faltfunktion und Klammerabgleich.
  • Umfassende Unterstützung für include-Direktiven, um C#-Code so korrekt wie möglich aufzulösen.
  • Unterstützung für verschiedene Arten von Direktiven mit Inspektionen, Quick-Fixes, Hervorhebung, Navigation und mehr.

Alle diese Features funktionieren unter Windows, macOS und Linux gleichermaßen.

Plattformübergreifender Profiler für .NET Core

Plattformübergreifender Profiler für .NET Core

Bereits Rider 2019.1 bot einen Performance-Profiler für macOS und Linux, die Unterstützung war jedoch auf Mono- und Unity-Mono-Anwendungen beschränkt. Diese Version macht einen großen Schritt nach vorn: das integrierte dotTrace-Plugin kann jetzt .NET-Core-Anwendungen unter Linux und macOS profilen. Dies bedeutet, dass Sie alle .NET-Anwendungen unter Windows, macOS oder Linux profilen können.

Beachten Sie, dass eine vollständige Unterstützung nur für Projekte gegeben ist, die auf .NET Core 3.1 abzielen. Aufgrund einiger .NET-Core-Einschränkungen kann es in seltenen Fällen beim Profiling von Projekten, die auf .NET Core 3.0 oder früher abzielen, zum Einfrieren oder Abstürzen der profilierten Anwendung kommen.

Test-Coverage für Unity

Test-Coverage für Unity

Wir geben uns viel Mühe, das Scripting für Unity zu verbessern, und wir versuchen, mit jeder neuen Version etwas Besonderes in dieser Hinsicht zu bieten. Dieses Mal sind die Besonderheiten eine plattformübergreifende Test-Coverage und Continuous Testing für Ihre Unity-Edit-Mode-Tests!

Hier sind einige der neuen Funktionen, auf die Sie sich freuen können:

  • Der Unit-Test-Runner unterstützt jetzt Play-Mode-Tests.
  • Rider unterstützt UIElements mit Syntaxhervorhebung, Codevervollständigung und Schemavalidierung für UXML- und USS-Dateien.
  • Die Unterstützung für .asmdef-Dateien ist wieder da!
  • Bei Unity-Editoren wird der Projektname angezeigt, wenn Prozesse zum Debuggen aufgelistet werden.
  • Wir haben beim ersten Laden eines Projekts die Performance beim Parsen von Assets verbessert.
  • Das Rider-Toolfenster für die Protokollanzeige unterstützt jetzt „Clear on play“.
  • Bisher konnte es vorkommen, dass Rider C#-8-Features vorschlug. Dieser lästige Bug ist jetzt behoben.
  • Wir berücksichtigen jetzt verschiedene Sonderfälle beim Aktualisieren von .meta-Dateien während einer Refaktorierung.

Dies sind natürlich nur die Highlights. Wie immer gibt es viele weitere kleinere Korrekturen und Neuerungen in dieser Version. Die vollständige Liste finden Sie im Changelog!

Bessere Performance

Bessere Performance

Rider 2019.3 profitiert automatisch von allen Leistungsoptimierungen, die wir in der IntelliJ-Plattform im Rahmen unseres letzten Quality-Marathons umgesetzt haben. Zu den wichtigsten Verbesserungen zählen eine erheblich verbesserte Startperformance, flüssigeres Scrollen mit der Maus und die Behebung zahlreicher UI-Hänger. Bei Interesse können Sie Einzelheiten zu den vielfältigen Performance-Verbesserungen im IntelliJ-IDEA-Blog nachlesen.

Docker Compose kommt im Debugger an

Docker Compose kommt im Debugger an

In Version 2018.2 debütierte die Docker-Unterstützung im Debugger. Damit konnte Rider Container debuggen, die aus einer Dockerfile erstellt wurden. Das Debugging von Containern, die mit Docker Compose (docker-compose.yml) erstellt wurden, war bisher jedoch noch nicht möglich.

Jetzt hat das Warten ein Ende! Docker Compose wird jetzt endlich auch im Debugger unterstützt. Jetzt können Sie aus mehreren Containern bestehende Anwendungen mit einem Mausklick debuggen.

Edit&Continue wird noch besser

Edit&Continue wird noch besser nur auf Windows

Edit&Continue kann nun Änderungen auf eine ausgeführte (nicht angehaltene) Anwendung anwenden – die Anwendung muss also nicht an einem Breakpoint angehalten worden sein. Sie können die Änderungen jederzeit anwenden, indem Sie im Tooltip am oberen Rand der Editor-Registerkarte auf den Link „Apply Changes“ klicken. Außerdem können Sie unter Settings | Build, Execution, Deployment | Debugger | Editing during debug die automatische Anwendung von Edit&Continue-Änderungen in den Aktionen Step/Resume/Jump to Statement deaktivieren.

Bitte beachten Sie, dass Edit&Continue weiterhin nur unter Windows unterstützt wird.

Verbesserungen im Debugger

Verbesserungen im Debugger

Auch in den anderen Bereichen des Debuggers haben wir zahlreiche Änderungen umgesetzt. Erstens wurde die Exceptions-Baumstruktur in der Breakpoints-Ansicht umfassend aktualisiert:

  • Die Suche funktioniert bei reduzierten Knoten.
  • Ausnahmen werden sowohl nach Typ (User/System) als auch nach Namespace gruppiert.
  • Der Hauptknoten heißt jetzt „CLR Exceptions“.

Zweitens gab es einige Aktualisierungen beim Remote-Debugging:

  • Treten bei der Verwendung Fehler auf, werden Sie jetzt durch bessere Fehlermeldungen und Beschreibungen unterstützt.
  • Wenn für das Remote-Debugging kein Kennwort oder keine Passphrase angegeben wurde, werden Sie beim Verbinden mit einem Remoteserver danach gefragt.

Und schließlich:

  • Viele Debugger-Aktionen erhielten neue, aussagekräftigere Namen.
  • Die Funktion „Pin to top“ unterstützt die rekursive Auswertung.
  • Die Aktion „Jump to Type Source“ ist jetzt verfügbar.
  • Die Option „Just my code“ für Ausnahmehaltepunkte funktioniert unter Mono viel besser.
Aktualisierte VCS-Unterstützung

Aktualisierte VCS-Unterstützung

Bei der Verwendung von Versionierungssystemen experimentieren wir mit Verbesserungen der Bedienoberfläche und der Benutzerführung. Eine erhebliche Verbesserung in dieser Version ist die neue Live-Diff-Vorschau, die direkt auf der rechten Seite des Codeeditors geöffnet wird.

Wir haben auch ein neues Commit-Toolfenster eingeführt, das standardmäßig auf der linken Seite angezeigt wird, um mehr vertikalen Bildschirmraum für Änderungslisten, Commit-Beschreibungen usw. frei zu lassen.

Wenn Sie die Registerkarte Version Control beim ersten Start von Rider 2019.3 nicht finden, machen Sie sich keine Sorgen – das Fenster ist immer noch da, hat aber einen neuen Namen: Repository.

Darüber hinaus haben wir die Ansicht „Compare with Current“ verbessert, den Clone-Dialog überarbeitet und das Pushen von nicht aktiven Zweigen ermöglicht.

Um mehr zu erfahren, lesen Sie den Blogbeitrag A New Way to Commit! Introducing the Commit and Repository Tool Windows in Rider 2019.3.

AWS-Toolkit-Plugin debütiert in Rider

AWS-Toolkit-Plugin debütiert in Rider

In diesem Versionszyklus haben wir intensiv daran gearbeitet, das AWS-Toolkit-Plugin für .NET-Entwickler zu optimieren und mit Rider kompatibel zu machen.

  • Mit einer vordefinierten Projektvorlage können Sie eine neue serverlose AWS-Anwendung erstellen.
  • Sie können AWS-Lambdas lokal oder remote erstellen, ausführen und debuggen. Sie müssen dazu nicht einmal den Editor verlassen: Verwenden Sie einfach die Symbole in der Randleiste.
  • Sie können Ihre serverlose App zu AWS hochladen.
  • Cloud-Debugging ist jetzt möglich! Sie können Ihre .NET-Core-Anwendungen, die mit AWS Fargate auf Amazon ECS ausgeführt werden, direkt in einem Remote-Container in der Cloud debuggen, ohne jede lokale Emulation.
  • Das Plugin ist sowohl für Rider v2019.2 als auch für Rider v2019.3 verfügbar.

Nach der Installation des Plugins AWS Toolkit for Rider haben Sie alles Notwendige, um mit serverlosen AWS-Anwendungen sofort loszulegen.

Erweiterte Xamarin Unterstützung

Erweiterte Xamarin Unterstützung

Wir haben weiter daran gearbeitet, aus Rider eine großartige IDE für die Xamarin-Entwicklung zu machen. Sowohl für Xamarin Android als auch für Xamarin iOS gibt es einige tolle Verbesserungen:

  • Integrierte Komponenten aus JetBrains AppCode sorgen dafür, dass Apple-Geräte und -Simulatoren auf Macs jetzt besser erkannt werden.
  • Die Liste der angeschlossenen Apple-Geräte finden Sie in der Symbolleiste.
  • Wir unterstützen jetzt mtouch-Gerätebuilds (Mono-Compiler für iOS).
  • Für Xamarin-Android-Projekte ist jetzt „Publish Android APK“ verfügbar (suchen Sie im Projekt-Kontextmenü nach der Aktion „Archive or Publish“).
  • Android-spezifische Projekteinstellungen können in den Projekteigenschaften bearbeitet werden.

Auch bei der Xamarin-Forms-Unterstützung gibt es einige wichtige Verbesserungen – so werden jetzt zum Beispiel x:DataType und das Class-Attribut unterstützt.

Noch bessere C#-8-Unterstützung

Noch bessere C#-8-Unterstützung

Die neue Rider-Version kommt mit C# 8 noch besser zurecht. Zu den Neuerungen zählen:

  • Ein besseres Verständnis der Nullable-Reference-Typen, einschließlich Unterstützung für notnull-Einschränkungen
  • Zieltyp-basierte switch-Ausdrücke
  • Erstunterstützung für Standard-Schnittstellenmethoden
  • Neuer Hint „Local function can be static“ inkl. passendem Quick-Fix
  • Ein neuer Quick-Fix, der Annotations und Warnungen im Zusammenhang mit nullable in einer Datei, einem Projekt oder allen Projekten einer Projektmappe aktiviert
  • Ein neuer Quick-Fix zum Hinzufügen des Attributs EnumeratorCancellation zu CancellationToken-Parametern von async-Iteratoren.

Außerdem wurde die Codeinspektion „Type or type member is never used“ in zwei separate Optionen aufgeteilt, eine für Typen (Type is never used) und eine für Typmember (Type member is never used).

Codegenerierung

Codegenerierung

Die Generate-Aktion weiß jetzt mehr über C# 8 und gibt dieses Wissen gern an Sie weiter:

  • Ein neuer Quick-Fix „Add missing arms“ sorgt dafür, dass Enum-Werte lückenlos geprüft werden.
  • Ein neuer Quick-Fix mit Kontextaktion generiert Typmuster in switch-Ausdrücken.
  • Nullability wird bei der Generierung von equality- und relationalen Membern/Vergleichern berücksichtigt.

Eine neue Option bietet zudem die Möglichkeit, beim Generieren von Gleichheitsmembern oder Gleichheitsvergleichern für C# und VB.NET System.HashCode zur Implementierung von GetHashCode zu verwenden und dadurch Ihren Code zu verschlanken.

Type-Hints

Type-Hints

Wir hoffen, dass Sie die in Rider 2019.1 eingeführten Hints zu Parameternamen und Code-Annotations gerne nutzen. In dieser Version gehen wir noch einen Schritt weiter und bieten Ihnen jetzt Type-Hints. Diese sind verfügbar für:

  • Lambda-Parameter
  • Alle var-Vorkommen, einschließlich bei Pattern-Matching und Tupel-Dekonstruktion
  • Range-Variablen in LINQ-Anweisungen
  • Am Ende der Zeile in Methodenaufrufketten
Navigation und Verwendungssuche

Navigation und Verwendungssuche

Als Entwickler möchten wir oft wissen, an welchen Stellen in unserem Code eine bestimmte Referenz verwendet wird. Es war schon länger möglich, die Aktion „Find dependent code“ für eine Referenz auszuführen, um alle Vorkommen von Typen oder Typmembern in dieser Referenz zu finden. Allerdings gab es einige Einschränkungen. In dieser Version konnten wir einige davon beheben: Find dependent code funktioniert für NuGet-Referenzen und kann nicht nur auf ein Projekt, sondern auch auf die gesamte Projektmappe angewendet werden.

Rider hat natürlich noch eine Menge mehr zu bieten:

  • Der Kurzdefinition-Tooltip ist für alle Symbole im Codeeditor verfügbar, damit Sie die Definition eines Symbols schnell nachschlagen können, ohne den aktuellen Kontext zu verlassen.
  • Die „Navigate to“-Aktionen wurden um Consuming APIs erweitert. Diese Option listet alle Methoden auf, die Objekte eines bestimmten Typs in ihren Parametern entgegennehmen.
  • Das Fenster Find results für Find dependent code wurde um neue Filter ergänzt.
  • Sie können jetzt zu den externen Quellen von NuGet-Packages navigieren, die über ein Quellensymbol-Package verfügen.
Codestil

Codestil

In dieser Version haben wir einen weiteren oft geäußerten Wunsch implementiert. Die C#-Benennungseinstellungen unterstützen jetzt das Lesen von und den Export nach EditorConfig.

Neben dieser großen Neuerung helfen Ihnen mehrere kleinere Änderungen, den Stil Ihres Codes noch präziser zu steuern:

  • Verwenden Sie var statt expliziter Typen bevorzugt dann, wenn der Typ des Initialisierungsausdrucks offensichtlich ist? Dann werden Sie sich freuen, dass Rider jetzt offensichtlichere Fälle erkennt. Es gibt auch einen Kompatibilitätsmodus, der dem Roslyn-Verhalten entspricht.
  • Eine neue Codestiloption, die mit StyleCop und Roslyn kompatibel ist, fügt Klammern hinzu, um bei einer verschachtelten Gruppe von Operatoren der gleichen Prioritätsklasse die Prioritäten zu verdeutlichen. Wenn Sie sich zum Beispiel nicht merken können, ob && oder || Vorrang hat, hilft Ihnen diese Option durch das Setzen der Klammern.
  • Comment Code rückt Kommentare jetzt standardmäßig ein. Mit der neuen Einstellung „Place comments at first column when commenting out code“ können Sie dieses Verhalten deaktivieren.
  • Auf den Optionsseiten zum Einrichten der Einrückungen wird jetzt die korrekte Benachrichtigung angezeigt, wenn die Einstellung Autodetect indent size and value aktiviert ist.

Es gibt auch einen Tooltip, der die Funktionen Configure formatting und Autodetect formatting auf den Optionsseiten für die C#-Formatierung erläutert.

Verbessertes Projektmodell

Dank einem aktualisierten Rider-Projektmodell werden jetzt alle Refaktorierungen, die Sie in Ihren Websprachen-Dateien (z. B. TypeScript-Dateien) vornehmen, auf alle Ihre Projektdateien angewendet. Bei der Refaktorierung „Move a TS class to a separate file“ zum Beispiel wird auch in der .csproj-Datei die entsprechende Änderung vorgenommen. Wir haben auch die Benutzererfahrung für den Status „Not Built“ im Solution Explorer verbessert.

Bitte beachten Sie, dass .NET Core 1.* SDK nicht mehr unterstützt wird, da diese Versionen das Supportende erreicht haben.

Erstunterstützung für MongoDB

Rider bietet jetzt eine Erstunterstützung für MongoDB (mehr dazu hier). Darüber hinaus umfasst jetzt die Datenbankunterstützung in Rider den Oracle-PL/SQL-Debugger, neue Inspektionen und Warnungen, eine Inline-Anzeige des Abfragefortschritts und die Möglichkeit, Verbindungsfehler unkompliziert bei Google nachzuschlagen.

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

Webentwicklung

Webentwicklung

Wie immer gibt es viele Extrafeatures für Webentwickler:

  • Erhebliche Verbesserungen bei der Codevervollständigung für Vue.js.
  • Quick-Documentation in Vue.js-Projekten.
  • Bessere Unterstützung für Props in React-Komponenten ohne PropTypes.
  • Verbesserte Angular-Unterstützung.
  • Unterstützung für TypeScript 3.7 und weitere Verbesserungen bei der JavaScript/TypeScript-Unterstützung.
  • Mehrere Updates bei der CSS/SASS-Unterstützung.
  • Unterstützung für Yarn 2, das demnächst veröffentlicht wird.

Weitere Informationen finden Sie unter Das ist neu in WebStorm 2019.3.

Weitere Features

Weitere Features

  • Wir haben die Unterstützung von Projektdateien (etwa .csproj) verbessert: Die Codevervollständigung berücksichtigt jetzt verschiedene MSBuild-Elemente. Sie haben jetzt auch die Möglichkeit, eine Inspektion und einen Quick-Fix für die <TargetFramework>/<TargetFrameworks>-Validierung zu verwenden.
  • Die vordefinierten Run-Konfigurationen werden jetzt intelligenter erstellt, damit Sie sie möglichst ohne jede Anpassung verwenden können. Auch ein passender Name wird jetzt automatisch generiert – Schluss mit dem langweiligen „Default“.
  • Die Unterstützung für MSBuild-Eigenschaften, die in einer launchSettings.json-Datei spezifiziert sind, wurde auf neue Eigenschaften wie zum Beispiel $(ProjectDir) erweitert.
  • Das Parameterinfo-Popup ist jetzt für Tupel verfügbar.
  • Die Eingabeunterstützung lässt beim Löschen neuer Zeilen und beim Löschen mit der Rücktaste vor einer neuen Zeile ein Leerzeichen übrig, wenn dieses zum Trennen von Token oder aufgrund der Formatierungsregeln benötigt wird.
Noch mehr Funktionen

Noch mehr Funktionen

  • Die Hervorhebung von Bezeichnern wurde komplett überarbeitet. Es gibt jetzt eine eigene Seite für C#, separate Farben für Präprozessordirektiven, statische Methoden, Felder usw.
  • Neue NUnit-Inspektionen decken kombinatorische Unit-Tests und die einzelnen Parameter von parametrisierten Unit-Tests ab.
  • Die Schaltfläche „Expand All“ (Alle erweitern) ist wieder in der linken Symbolleiste verfügbar.
  • Ein neuer, reaktiver TFS-Client ist jetzt als experimentelles Feature verfügbar. Aktivieren Sie den Client unter Settings | Version Control | TFVC, und schon können Sie ihn verwenden. Der neue Client sorgt für eine rasante Geschwindigkeitssteigerung bei der Aktion „Checking for changes“ (Auf Änderungen prüfen) (etwa 100- bis 1000-mal schneller laut unseren Tests). Viele Vorgänge, z. B. Commit- und History-Aktionen, werden nach diesem ersten Release zum neuen Client portiert.