The right tool for the job

Etienne Delattre
YounitedTech
Published in
4 min readNov 5, 2018

Quand on est imprégné de .NET l’éditeur qui s’impose est Visual Studio (fat edition), ça va de soi, c’est automatique. Il y a de très bonnes raisons à cela, c’est un environnement de développement complet qui vient avec toutes les extensions Microsoft qui permettent de déployer sur Azure, suivre les changement de code avec Git et j’en passe des milliers d’autre. VS peut tout faire (même sur Mac).
Mais Microsoft eux même proposent une alternative nommée Visual Studio Code, alors qu’est ce que l’on peut trouver de plus dans un autre éditeur qui nous améliorerait la vie ?
Déjà VS Code est plus léger, plus rapide, il vient aussi avec certaines extensions, mais pas avec tout… bref, pas avec grand chose. Mais au final il répond à d’autre cas d’utilisations, il rend des services aux moments où le développeur veut contrôler manuellement des configurations cachées dans Visual Studio. En contrepartie il demande de se réhabituer à coder sans outils de refactoring poussés.

Jetbrains Rider

Depuis toujours Resharper me faisait de l’oeil, me rappelant sans cesse que certains des plus beaux moment passés dans Visual Studio l’étaient parce que j’avais les suggestions de code et les options de réusinage que JetBrains offrait avec son extension. En 2016 JetBrains a proposé une version preview de Rider, j’ai vu quelqu’un suggérer que le nom vient de Resharper IDE et cela résume simplement la proposition de valeur.

Riding a Flying Carpet, by Viktor Vasnetsov

Rider, c’est un IDE plus rapide, bien plus rapide. C’est un des points d’attention de l’éditeur : ne pas bloquer le développeur. Sous le capot il est assemblé en Kotlin et détaché de ReSharper (écrit en C#) qui tourne dans un processus séparé.

Toutes les propositions de correction ou les réusinages sont calculés sans bloquer l’interface.

Petite liste de fonctionnalités

  • La décompilation de sources externes, et la possibilité de faire du débogage pas à pas ! Pas besoin de serveur de symboles ou d’avoir accès aux .pdb des fichiers à déboguer, Rider mets à disposition du code lisible et permet de s’arrêter et consulter le contenu des variables.
  • Le “Find Action” ( Ctrl+Shift+A chez moi ) permet de faire absolument tout sans quitter le clavier. Avec une très rapide description de l’action ou du menu recherché.
  • Une intégration Git mature qui permet de faire bien plus que l’extension Team inclue dans Visual Studio. (cherry picking, rebase, et toutes ces merveilles) Mais un peu plus que ça, il a également un historique local, sorte de Ctrl+Z / Ctrl+Y survitaminé qui fait qu’aucun changement n’est perdu. Combien de fois ai-je annulé des changements pour plus tard me rendre compte qu’il me fallait en garder une partie… Il devient vraiment aisé d’annuler un refactoring sur 80 fichiers, ce qui peut être plus complexe dans Visual Studio.
  • Une application multi-plateforme, vraiment. Là où Visual Studio a une version Mac qui est en fait Xamarin Studio avec une couche de peinture neuve, Rider marche sur Windows / Mac / Linux avec les mêmes fonctionnalités. Pas besoin de changer d’habitudes ou de chercher ce qui manque sur Mac, tout est là et au même endroit.

Mais je peux toujours déployer mon machin obscur ?

Probablement, Rider est compatible avec toute les versions de .NET, et il est prêt pour travailler avec du .Net Core dernière génération.

Mais pourquoi maintenant ?

Rider passe par des phases d’early access qui permettent à l’éditeur de tester de nouvelles fonctionnalités, et au mois d’août l’Early Access Preview (ou EAP) portait notamment sur la couverture de test continue. Comme le propose DotCover ou le fantastique NCrunch, Rider a maintenant l’option pour faire tourner les tests en continu et détecter la couverture de tests. La référence dans le domaine (Ncrunch) fonctionne à chaque caractère entré, ici Rider lance les tests selon vos souhaits à chaque sauvegarde (petit Ctrl+S) ou à chaque compilation (Build Ctrl+Shift+B).

Alors tout y est ?

Bien sûr que non. Microsoft reste la référence sur ses propres produits, et surtout sur l’intégration avec les services Azure pour leurs déploiements. Il existe un Azure Toolkit pour déployer sur Azure depuis Rider, mais pas aussi mature que dans Visual Studio. Pas de possibilité d’inspecter des ressources Cloud en 2 clics depuis l’éditeur ou de consulter les rapports Application Insights dans l’éditeur.

Parfait pour moi

Rider retient toute mon attention et remplit 90% de mes besoins, je le quitte parfois ponctuellement pour une fonctionnalité bien précise de Visual Studio. C’est le bon outil pour coder avec plus d’aisance et être moins distrait par des boutons par milliers, tout est à portée de mains mais sans être envahissant.

Pour un peu plus d’infos vous pouvez jeter un œil à une liste de fonctionnalités qui ont retenu mon attention dans le Gist dont le lien est ci-dessous.

https://gist.github.com/eOkadas/c09cf071001738c88c05f4fc3b4e5570

Ou bien sûr foncer sur le site de Jetbrains et vous faire votre propre idée avec la version d’essai ou l’EAP qui finira surement courant novembre.

https://blog.jetbrains.com/dotnet/2018/10/08/rider-2018-3-early-access-program-kicks-off/

--

--