Daniel Schaber

Daniel Schaber

Softwareprojekt Allrounder

29.03.2024 | 7 min Lesezeit

Umstieg von Visual Studio auf Rider

Ein persönlicher Erfahrungsbericht

Umstieg von Visual Studio auf Rider blog image

Seit ca. 6 Jahren arbeite ich nun täglich mit Visual Studio. Als integrierte Entwicklungsumgebung (IDE = integrated development environment) kannte ich in der Tiefe bisher nichts anderes. Von Visual Studio gibt es unterschiedliche Lizenzvarianten und ich durfte mit der Enterprise-Variante bisher das volle Spektrum nutzen.

Nun nutze ich Rider, eine IDE von JetBrains, seit ungefähr 2 Monaten. Die bekannte Erweiterung ReSharper, ebenfalls von JetBrains, ist eine umfangreiche Sammlung von Tools und Funktionen, um die Produktivität von Entwicklern zu steigern. Rider enthält viele Funktionen von ReSharper, da sie beide von JetBrains entwickelt wurden und sich auf die Verbesserung der Entwicklerproduktivität in der .NET-Umgebung konzentrieren. Aber auch in Visual Studio hatte ich die Erweiterung verfügbar.

Ich schreibe hier von persönlichen Eindrücken bei meinem Umstieg von der einen IDE zur anderen. Sicherlich gibt es noch zahlreiche Funktionen und Möglichkeiten, die ich weder in Visual Studio genutzt noch in Rider für mich entdeckt habe. Nachteile und Herausforderungen ebenso. Auch möchte ich hier weder den vollständigen Produktumfang wiedergeben noch Werbung für eine bestimmte IDE machen. Daher noch einmal die Betonung, dass es sich hier um einen subjektiven Erfahrungsbericht handelt.

Wie anfangen?

Nachdem ich mir Rider installiert und die 30-tägige Testversion aktiviert hatte, bin ich ganz strikt dem Get started guide von JetBrains der Version 2023.3 gefolgt. Dieser bietet einen hervorragenden ersten Überblick. Bald darauf fängt man an – zumindest kenne ich das von mir so – sich durch die Settings zu wühlen und die einzelnen Fenster und Tools anzuordnen. Dabei fällt direkt auf, dass es hier keine großen Unterschiede zu Visual Studio gibt und man recht intuitiv sehr schnell zum Ziel kommt.

Was mir besonders gefällt, sind die Tool-Icons, die sich an den Seiten oben sowie unten anpinnen lassen und das jeweilige Toolfenster öffnen. Die Zuordnung und Ausrichtung der Fenster sind einfacher und durch die Verwendung der Symbole auch schöner und platzsparender.

Rider-icons
Rider-icons

Das Menü mit Einträgen wie „File“, „Edit“, „Build“, „Tests“ und „Tools“ ist nicht dauerhaft sichtbar, sondern versteckt sich unter dem Hamburger Symbol oben rechts neben dem App-Icon. Dadurch wirkt die gesamte IDE deutlich aufgeräumter. Zunächst war das ungewohnt für mich, da ich doch recht häufig und gerne manuell auf Menüpunkte zugreife. Viele sind aber auch durch Shortcuts erreichbar (gilt genauso für Visual Studio).

Ein weiterer positiver Aspekt, der mir beim Wechsel aufgefallen ist, ist, dass sehr hilfreiche Funktionen, wie Einstellungen zu automatischer Code-Cleanups beim Speichern oder Commiten viel prominenter platziert wurden. Die Einrichtung der IDE von der UI her und die Projektierung des Workflows, den ich gewohnt bin, wurden mir sehr leicht gemacht. Ich habe dabei auch neue Features in meinen täglichen Gebrauch aufgenommen, die mir bei Visual Studio nie aufgefallen waren.

Git und Nuget

Zwei für mich sehr wichtige Komponenten im täglichen Entwicklungsprozess. Hier fiel mir die Umstellung am schwersten, wobei wir beides etwas differenzierter betrachten sollten. Grundsätzlich finde ich sowohl die Oberflächen aller GIT-relevanten Features als auch die der Nuget-Verwaltung in Visual Studio übersichtlicher und klarer in der Bedienung. Gerade bei Nuget machen es für mich die Checkboxen an den Projekten sowie auch an den Paketen deutlich klarer, was passiert und was ich gerade aktualisiere.

Anhand des folgenden Screenshots möchte ich das kurz verdeutlichen:

Rider nuget
Rider nuget

Links habe ich die Auswahl der Pakete, die an sich schon unübersichtlicher wirkt als in Visual Studio. Ich habe FluentAssertions ausgewählt und sehe rechts meine Projekte und die aktuell installierte Version. An der rechten Seite neben den Projekten sowie darüber sind 3 Buttons erkennbar. Die Funktion der Buttons erscheint auch klar (Installieren, Updaten, Löschen) – wie erreiche ich es aber, ein Paket nur in bestimmten Projekten upzudaten oder zu entfernen? Ich kann mit STRG und Mausklick Projekte markieren. Die Buttons in einer Zeile haben logischer Weise nur Auswirkungen auf diese Zeile. Der Tooltip oben spricht von allen Projekten, unabhängig meiner Markierung, und verhält sich auch so. Ausgewählte Projekte ändere ich über das Kontextmenü (Rechtsklick mit der Maus) oder tatsächlich über die Buttons oben, da mir im nächsten Schritt ein Dialog angeboten wird, indem ich dann per Checkbox einzelne Projekte ausschließen kann. Es sind aber zunächst alle markiert. Das ist alles nicht sonderlich schwierig oder grundsätzlich schlecht gelöst, hat mir aber in Visual Studio besser gefallen.

Zu GIT kann ich bezüglich der Übersichtlichkeit Ähnliches sagen, wobei hier ganz klar der Faktor Gewohnheit eine größere Rolle spielt. Nachdem ich herausgefunden habe, dass sich bestimmte Informationen in den Settings dazuschalten lassen, die in Visual Studio per default aktiv sind, gefiel es mir schon deutlich besser. Dazu kommt, dass Basis-Funktionen, wie Update eines lokalen Branches, Checkouts und Merges, in Rider viel flüssiger und schneller funktionieren.

Ein weiterer Punkt, der mir in Visual Studio besser gefiel, ist das Lösen von Konflikten bei Merges. Das war auf Anhieb einfacher und intuitiver. Bei Rider benötigte es ein wenig mehr Zeit, die richtigen Einstellungen zu finden und alles so einzurichten, damit ich gut damit arbeiten kann.

Performance

In Bezug auf die Performance der IDE Rider kann ich mit Überzeugung sagen, dass sie Visual Studio für meine Bedürfnisse übertrifft. Dies mag auch daran liegen, dass Rider leichtgewichtiger ist und Visual Studio (Enterprise) eine deutlich höhere Anzahl an integrierten Features bietet – Features, die ich aber scheinbar nicht benötige.

Ich arbeite aktuell in einem .NET-Projekt, dessen Solution 50 Projekte umfasst, das insgesamt 87.000 Lines of Code umfasst. Der Unterschied in der Zeit für das Öffnen der Solution und den vollständigen Build ist bei identischen Tools zur Codeanalyse und Buildsettings drastisch. Von 2–3 Minuten zu ~50 Sekunden. Auch zwang mich Visual Studio häufig zu Neustarts, weil Builds nicht mehr liefen oder Projekte und Pakete nicht korrekt geladen wurden. Dies kam bei Rider bisher nicht einmal vor. Auch die Funktionen des Resharpers sind aufgrund der direkten Integration deutlich performanter und flüssiger.

Auch positiv hervorzuheben ist, dass der Lüfterbedarf des Rechners beim Debuggen der App unter Rider merklich geringer ist und daher deutlich angenehmer ist.

Preis

Visual Studio 2022 Enterprise kostet aktuell 210,83 € pro Nutzer pro Monat. Für mich wären das also 2529,96 € im Jahr. Wohingegen Rider für Unternehmen mit 498,61 € für das Jahr deutlich darunter liegt. Im zweiten und allen darauffolgenden Jahren wird es sogar noch günstiger.

Die kleinen Dinge

Abschließend, vor meinem endgültigen, persönlichen Fazit, möchte ich noch ein paar kleine Features nennen, die mir noch mehr Freude am Umstieg gemacht haben. Es sind Kleinigkeiten, die das Arbeiten aber angenehmer machen.

  • Kopieren von .cs Dateien öffnet einen kleinen Dialog und lässt mich direkt den Namen der neuen Klasse eintragen.
  • Beim Erstellen neuer Branches fügt die Leertaste automatisch einen Bindestrich „–“ ein.
  • Wechseln zwischen Klassen (analog zu Visual Studio) mit STRG + TAB öffnet zeitgleich ein Kontektmenü mit häufig verwendeten Tools oder Funktionen, wie beispielsweise Build, Explorer, Terminal,…

Mein Fazit

Mein erster Eindruck von Rider war insgesamt positiv. Insbesondere hervorzuheben sind die nahtlose Integration von ReSharper, die vertraute Benutzeroberfläche und die schnelle Einarbeitung dank des gut strukturierten „Get started“-Guides.

Die Benutzeroberfläche von Rider ist aufgeräumt und bietet einige nützliche Features wie die anpassbaren Tool-Icons, die mir geholfen haben, meinen Arbeitsbereich effizienter zu gestalten. Allerdings gab es auch einige Anpassungen an die neue Benutzeroberfläche, wie das versteckte Menü, die zunächst ungewohnt waren, sich aber mit der Zeit als praktisch erwiesen haben.

Die Integration von Git und Nuget stellte eine Herausforderung dar, insbesondere in Bezug auf die Übersichtlichkeit der Oberfläche im Vergleich zu Visual Studio.

In Bezug auf die Leistung konnte Rider überzeugen. Die IDE war spürbar schneller als Visual Studio. Dies führte zu einer verbesserten Arbeitsgeschwindigkeit und einem insgesamt reibungsloseren Entwicklungsprozess. Auch der geringere Ressourcenverbrauch von Rider, insbesondere während des Debuggens, trug zu einem angenehmeren Arbeitsumfeld bei.

Mir fehlen bis dato keinerlei Funktionen und der Gewinn an Performance und den Nice-To-Have Funktionen macht für mich den großen Unterschied. Bei meiner Recherche habe ich auch einen detaillierteren Vergleich der beiden IDEs gefunden.

Gerne möchte ich auch eure Meinungen, Erfahrungen und hilfreichen Tipps zur einen wie auch zur anderen IDE, über unsere sozialen Kanäle Instagram und Threads hören.