Nouvel IDE avec prise en charge de Rust : découverte de RustRover par JetBrains
Le monde du développement Rust a reçu une mise à jour significative : la société JetBrains, connue pour ses environnements de développement puissants, a publié un nouvel IDE spécialisé — RustRover. Cet outil vise à remplacer le plugin Rust pour IntelliJ IDEA et à offrir aux développeurs Rust un environnement complet et optimisé dès le départ. Voyons ce que représente ce nouvel outil et pourquoi il pourrait devenir indispensable pour les programmeurs qui apprennent ou utilisent déjà Rust professionnellement.
RustRover est un IDE autonome, c'est-à-dire qu'il ne nécessite pas l'installation d'autres produits JetBrains. Il inclut toutes les fonctionnalités clés attendues d'un environnement de développement moderne, mais avec un accent sur les spécificités du langage Rust : le système de possession, les lifetimes, les macros et l'intégration avec Cargo.
Fonctionnalités clés de RustRover
À première vue, RustRover semble familier à ceux qui ont travaillé avec d'autres IDE JetBrains (par exemple, PyCharm ou GoLand). Cependant, sous le capot se cache une intégration profonde avec l'écosystème Rust. Voici les principales fonctionnalités que nous avons testées :
- Autocomplétion intelligente. L'IDE analyse non seulement les types, mais aussi le contexte d'emprunt. Il suggère les méthodes pouvant être appelées, en tenant compte de la mutabilité et des lifetimes. Cela accélère considérablement l'écriture de code sûr.
- Prise en charge intégrée de Cargo. Toutes les actions de construction, de test et de gestion des dépendances sont effectuées via Cargo. L'interface propose des boutons pratiques pour lancer les tests (`cargo test`), la construction (`cargo build`) et la vérification des erreurs avec Clippy.
- Navigation dans le code. Les outils pour accéder rapidement aux définitions, rechercher les utilisations de variables et visualiser la hiérarchie des types fonctionnent parfaitement. Cela est particulièrement utile pour les grands projets avec une structure de modules complexe.
- Refactoring. Les refactorings standards sont disponibles : renommage, extraction de variable, modification de la signature d'une fonction. Tous prennent en compte les règles strictes de typage de Rust.
- Débogueur. Le débogueur intégré permet de placer des points d'arrêt, de visualiser les valeurs des variables et la pile d'appels. C'est crucial pour comprendre comment fonctionne la gestion de la mémoire en Rust.
Premier aperçu de l'interface et impressions
L'interface de RustRover est minimaliste et non surchargée de panneaux inutiles. Le projet s'ouvre instantanément, et l'indexation du code est rapide même pour des projets de taille moyenne. Nous avons testé l'IDE sur un petit projet utilisant des crates populaires (par exemple, serde et tokio). L'autocomplétion a fonctionné correctement pour toutes les dépendances, y compris les macros derive complexes.
Il convient de noter particulièrement la prise en charge intégrée du formatage du code via rustfmt et du linter Clippy. L'IDE met automatiquement en évidence les zones problématiques et propose des corrections. C'est une excellente aide pour les débutants qui apprennent à écrire du code idiomatique en Rust.
Faut-il passer à RustRover ?
Si vous êtes un développeur Rust expérimenté et que vous utilisiez IntelliJ IDEA avec le plugin, RustRover sera une mise à jour logique. Il offre de meilleures performances et une intégration plus poussée. Pour les débutants qui souhaitent apprendre Rust, c'est un excellent point de départ : pas besoin de configurer VSCode avec une multitude d'extensions — tout fonctionne « prêt à l'emploi ». Actuellement, l'IDE est en phase d'accès anticipé, mais il montre déjà une stabilité et une richesse fonctionnelle.