En tant que développeur, j’ai eu l’occasion de passer par pas mal d’éditeurs de code au cours de mon apprentissage, puis du début de ma carrière (bon, j’y suis encore, je préfère le préciser). Que ce soit pour les fonctionnalités, pour l’UI, ou encore pour leur consommation en mémoire, il y a de multiples raisons d’adopter ou d’arrêter d’utiliser un éditeur.

Dans cet article, je vais vous parler brièvement des éditeurs que j’ai déjà utilisés, et de pourquoi j’en suis venu à adopter Neovim.

Avant Neovim : la valse des éditeurs

Notepad++

Oui oui, Notepad++, comme les anciens. C’est avec ça que j’ai appris les bases quand j’étais en DUT : HTML, CSS, Javascript, Python, et même un peu de Java (en compilant dans le terminal). Encore aujourd’hui, je trouve que ça reste un bon environnement quand on souhaite avoir un éditeur minimaliste sous Windows. Néanmoins, il faut reconnaître que l’UI est très basique, et qu’on peut vouloir un environnement qui en fait un peu plus pour nous, notamment quand on fait du Java.

D’où l’éditeur suivant : Éclipse.

Éclipse

Pendant mon apprentissage du Java, autant pour pousser notre pratique un peu plus loin que pour nous donner une première expérience d’un IDE poussé, toute la classe s’est vue embarquer dans la pratique de Java via Éclipse. Et le moins que l’on puisse dire, c’est que ça change grandement l’expérience de développement !

Compilation, création d’archive JAR, ajout automatique des “getter” et “setter” : avec un IDE comme ça, tout va plus vite. Et, en bonus, Éclipse est cross-platform donc on n’est pas perdu s’il nous faut souvent transiter entre Windows et Linux.

Mais alors, pourquoi avoir changé ?

Pour deux raisons, principalement : la stabilité des versions (à l’époque), et l’UI. Une version sur deux sortait avec des bugs handicapants. De plus, l’UI, bien que customisable, n’était pas ce que je trouvais de plus “soigné”. J’ai donc décidé de changer d’IDE, pour quelque chose d’aussi puissant, mais plus soigné : Atom.

Atom

J’ai eu l’occasion de coder brièvement sur Atom, un peu avant sa fin de vie. Extensible et possédant un bon look and feel, j’y serais peut-être encore s’il n’était pas obsolète !

J’ai donc dû changer rapidement d’IDE, et c’est là que j’en suis arrivé à celui que tout le monde connaît : VS Code.

VS Code / VS Codium

Bien connu de tous, VS Code est le point de rendez-vous de beaucoup de développeurs. Très extensible, couvrant une vaste panoplie de langages, cross-platform, c’est évidemment un IDE qui m’a servi longtemps. Un peu gêné par la télémétrie, j’ai ensuite opté pour VS Codium. Et jusqu’à un changement drastique, je serais toujours sur VS Codium à l’heure actuelle.

Un changement de setup et un déclic

Quand j’ai décidé de changer de PC et que je me suis retrouvé avec un Intel Celeron, restreint à 4Go de RAM, j’ai rapidement vu qu’il faudrait changer d’IDE pour un moins gourmand en mémoire. En effet, cumuler l’IDE, un navigateur et un serveur Next.js (quand j’en faisais) a amené plusieurs fois mon PC à crasher violemment.

J’avais plusieurs solutions pour éviter cela :

  • Acheter un PC plus puissant (💸)
  • Changer d’IDE
  • Opter pour une techno web moins “lourde” (🤓)

J’ai donc changé d’IDE, et mon choix s’est porté sur ce qui m’apparaissait le plus léger possible : Neovim.

LunarVim et LazyVim

Si LunarVim a été ma porte d’entrée dans le monde de Neovim, c’est véritablement LazyVim qui m’a permis d’avoir un environnement stable. J’ai vraiment eu un coup de coeur pour sa simplicité, surtout grâce à son duo de gestionnaire de paquets : Lazy et Mason. Ils permettent facilement d’avoir des extensions et tous les outils qui font le confort du développeur moderne, à savoir les linters, les formatters et les LSP (Language Server Protocol).

Conclusion

Mon passage à Neovim a été motivé par une contrainte matérielle, mais est aujourd’hui la manière que j’ai d’interagir avec mon code, voire mes fichiers en général. Evidemment, il y a tout à réapprendre quand on fait ce choix, mais personnellement ça m’a débloqué un vrai amour pour les TUI (Terminal User Interface).

Finalement, pourquoi s’embêter à débattre de ce qui est meilleur pour un IDE entre le natif, Electron ou encore Tauri, quand un combo Neovim + Lazygit peut suffire ?