Introduction
Pour de nombreux développeurs travaillant avec Scala et Kotlin, IntelliJ IDEA a longtemps été le choix par défaut. Cependant, avec l'intégration d'Eglot dans Emacs 29 comme client LSP par défaut, une alternative légère et flexible s'offre à vous. Eglot, avec sa philosophie Unix, offre une approche modulaire et hackable rendant possible le développement sur des JVM sans l'énorme empreinte mémoire d'IntelliJ.
Pourquoi abandonner IntelliJ ?
IntelliJ, bien qu'extrêmement puissant, est aussi notoirement gourmand en ressources. Selon certaines estimations, il peut consommer plus de 8 Go de RAM lors de l'indexation de projets, ralentissant votre système. En comparaison, Emacs avec Eglot offre une solution bien plus légère.
Les avantages d'Emacs et Eglot
- Philosophie Unix des LSPs : Eglot agit comme un transport léger et protocolaire, communiquant avec les serveurs de langage dédiés via JSON-RPC.
- Hackabilité infinie : Avec Emacs, vous pouvez intercepter les vulnérabilités en direct grâce à Lisp, une flexibilité que IntelliJ ne peut offrir.
- Interface unifiée : Les mêmes outils de manipulation de texte et de complétion sont utilisables, que vous modifiez du Scala, du Markdown ou un fichier Nix.
Configuration de base
Installation et mise en place
Commencez par installer Emacs et configurez Eglot. Utilisez des gestionnaires de paquets comme Elpaca et use-package pour optimiser votre configuration. Voici un exemple de configuration de base pour Eglot avec Scala et Kotlin :
``lisp (use-package eglot :config (add-to-list 'eglot-server-programs '(scala-mode . ("metals-emacs"))) (add-to-list 'eglot-server-programs '(kotlin-mode . ("kotlin-language-server")))) ``
Configuration avancée
Pour des projets plus complexes, vous aurez besoin de configurations spécifiques. Par exemple, pour Scala, le serveur Metals est recommandé. Pour Kotlin, le langage serveur Kotlin est souvent utilisé.
#### Scala avec Metals
Metals offre une intégration puissante pour Scala, incluant des fonctionnalités comme le refactoring intelligent et le diagnostic de code.
#### Kotlin avec Kotlin Language Server
Ce serveur fournit une complétion de code, une navigation et des diagnostics pour Kotlin, intégrant étroitement ces fonctionnalités avec Emacs.
Conseils et astuces
Optimisation des performances
Bien qu'Emacs soit léger, l'optimisation est essentielle pour les projets à grande échelle. Configurez vos serveurs LSP pour tirer le meilleur parti de votre matériel.
Débogage et extensions
Profitez de la capacité d'Emacs à être étendu par Lisp pour personnaliser votre environnement. Créez des scripts pour automatiser des tâches répétitives et améliorer votre flux de travail.
Conclusion
L'adoption d'Emacs avec Eglot pour le développement Scala et Kotlin non seulement allège votre charge système mais offre aussi une flexibilité inégalée. Pourquoi ne pas essayer ?
Discutons de ton projet en 15 minutes.