Nouvel IDE avec prise en charge de Rust : premier regard
L'écosystème Rust continue de se développer rapidement, et voici un autre événement important : un nouvel environnement de développement intégré (IDE) spécialisé est apparu sur le marché — RustLens. Le projet, encore en version bêta, a déjà attiré l'attention de la communauté grâce à une intégration profonde avec le compilateur et des outils uniques d'analyse de code. Nous avons décidé de tester cette nouveauté et de partager nos premières impressions.
Qu'est-ce que RustLens ?
RustLens est un IDE écrit en Rust lui-même en utilisant le framework egui et le backend système Winit. Contrairement aux solutions universelles comme VS Code ou CLion, cet environnement est conçu dès le départ pour les spécificités du langage : le système strict de possession, les durées de vie (lifetimes) et le travail avec les blocs unsafe.
Fonctionnalités clés
- Autocomplétion intelligente (IntelliSense) — le moteur analyse non seulement les types, mais aussi les limites d'emprunt, proposant uniquement les options correctes du point de vue du borrow checker.
- Débogueur intégré — prise en charge des points d'arrêt avec visualisation de la pile et de l'état de la mémoire. Le débogueur utilise LLDB et peut afficher les valeurs dans un format proche des structures Rust.
- Graphe des dépendances — affichage visuel de l'arborescence Cargo.toml avec indication des conflits de versions et des crates obsolètes.
- Console REPL — possibilité d'exécuter des fragments de code sans compiler l'ensemble du projet, en utilisant miri pour vérifier le code unsafe.
- Refactoring — renommage automatique des variables en tenant compte de l'ombrage (shadowing) et extraction de code dans des fonctions avec transfert correct des durées de vie (lifetimes).
Premières impressions
L'installation a pris environ une minute — il suffit de télécharger le binaire (pour Windows, macOS et Linux) et d'indiquer le chemin vers rustup. L'interface est minimaliste, rappelant Zed, mais avec davantage de panneaux. Lors de l'ouverture d'un projet de 10 000 lignes de code, l'environnement s'est lancé en 2 secondes — un excellent indicateur par rapport à IntelliJ IDEA.
Ce qui a particulièrement plu, c'est le travail avec les durées de vie (lifetimes) : lorsque l'on tente d'écrire du code incorrect, l'éditeur ne se contente pas de souligner l'erreur, mais propose des options de correction via des infobulles. Par exemple, pour une fonction retournant une référence, l'IDE peut suggérer d'ajouter un paramètre explicite de durée de vie ou de modifier la signature pour un type possédant.
Comparaison avec les alternatives
- VS Code + rust-analyzer — inférieur en vitesse d'analyse des grands projets et ne dispose pas de débogueur intégré.
- CLion + Rust Plugin — solution lourde nécessitant beaucoup de RAM. RustLens fonctionne 2 à 3 fois plus vite sur des projets identiques.
- IntelliJ IDEA — bon pour Java/Kotlin, mais offre moins de fonctionnalités spécifiques pour Rust.
Inconvénients et projets futurs
Pour l'instant, RustLens ne prend pas en charge les plugins (annoncés pour 2025), et le terminal intégré ne fonctionne qu'en mode de base. Les développeurs promettent d'ajouter l'intégration avec wasm-pack et cargo-audit dans les prochaines mises à jour.
Bilan : RustLens est un regard neuf sur la boîte à outils pour Rust. Si vous recherchez un environnement léger, rapide et profondément intégré, il vaut la peine d'essayer la version bêta.