Développement frontend et prise en charge des bases de données
Suite aux retours des utilisateurs, JetBrains a réimplémenté la prise en charge des technologies web et des bases de données dans RustRover.
Saisie semi-automatique du code en ligne entière pour Rust
Cette version inaugure la saisie semi-automatique du code en ligne entière pour le langage Rust. Cette fonctionnalité suggère des lignes entières de code à l'aide d'un modèle de deep learning qui s'exécute localement sans envoyer de données en dehors de votre EDI. Des suggestions de texte en gris sur une seule ligne complètent les déclarations en fonction du contexte du fichier actuel. La saisie semi-automatique de code en ligne entière est incluse dans votre abonnement RustRover sans coût supplémentaire.
Possibilité d'attacher le débogueur aux processus en cours d'exécution
Vous pouvez maintenant déboguer les applications actives sans les redémarrer. Cela facilite l'utilisation de bibliothèques dynamiques ou de plugins dans les programmes tiers gérés en externe.
Plusieurs améliorations pour Cargo.toml
- Si vous acceptez une suggestion de saisie semi-automatique pour une propriété d'un type différent, le curseur restera au même endroit.
- Une propriété de niveau supérieur sera désormais entourée de [] si son type est un objet, et de [[]] si son type est un tableau d'objets.
- Dans les en-têtes, si une propriété peut être un tableau d'un type simple ou objet, l'utilisation d'une suggestion de saisie semi-automatique n'ajoutera pas de doubles crochets.
- La saisie semi-automatique du code est disponible pour lints.
- Une nouvelle vérification empêche qu'un tableau soit déclaré comme un tableau de tables.
Sélecteur de profil Cargo
Désormais, lorsque vous utilisez des configurations Run/Debug, un sélecteur de profil Cargo dédié vous permet de spécifier le profil, vous n'avez donc plus à le faire manuellement.
Prise en charge améliorée de l'opérateur ?
JetBrains a considérablement amélioré la vérification de type pour l'opérateur ?. L'opérateur est désormais suggéré par saisie semi-automatique dans un certain nombre de cas, notamment les chaînes d'appels de méthodes. Une nouvelle inspection met également en évidence les appels unwrap() qui permettent d'utiliser ?.
Améliorations pour les dossiers
Les dossiers de modules sont désormais signalés en tant que paquets dans la vue Project pour vous aider à les distinguer des autres dossiers.
De plus, glisser-déposer un fichier ne déclenche plus l'affichage d'une boîte de dialogue Move pour le répertoire parent.
Améliorations concernant Proc_macro
Extension des macros à partir de dépendances facultatives dans un espace de travail
Cargo compile désormais les proc_macros et génère des scripts pour toutes les dépendances nécessaires au bon fonctionnement de l'analyse du code. Notez que dans de rares cas, vous devrez désactiver les fonctionnalités explicitement en conflit.
Correctifs rapides pour les attributs
De nouveaux correctifs rapides suggèrent désormais d'ajouter les attributs #[proc_macro], #[proc_macro_derive] et #[proc_macro_attribute] à votre pub fn dans les crates de macros procédurales.
Actions d'intention dans les appels de macros de type fonction
Les actions d'intention sont maintenant disponibles pour les jetons avec un seul élément correspondant à un seul élément dans la macro développée.
Saisie semi-automatique pour les références de noms non résolues
Désormais, si vous utilisez une fonction avant qu'elle ne soit déclarée, l'EDI proposera une option d'auto-complétion avec son nom.
Autres améliorations
Cette mise à jour apporte de nombreuses autres améliorations :
- L'exécution d'un test ne recompile plus le projet deux fois.
- Les conseils d'insertion sont désormais disponibles dans les chaînes de méthodes asynchrones.
- L'EDI encapsule désormais les valeurs de retour de type Option<…> dans Some().
- De nouveaux avertissements vous informent des faux négatifs dans la syntaxe de {variables: ?}.
- La mise en évidence a été améliorée pour les méthodes non résolues.
- L'EDI vous alerte désormais si un return n'est pas nécessaire.
- L'application du correctif Convert the identifier modifie toutes les utilisations pertinentes de l'identifiant.
- L'erreur extern location for crate does not exist on sync a été corrigée.
- Le fonctionnement de l'outil de formatage intégré a été considérablement amélioré par l'application de correctifs pour résoudre plus de 20 problèmes.
- JetBrains a ajouté la prise en charge de la fonctionnalité instable postfix-match.
- La valeur derrière Option/Result s'affiche désormais dans la vue Threads & Variables lors du débogage avec Unix LLDB.
- La prise en charge des arguments de la macro format! a été améliorée et l'EDI met dorénavant en évidence les méthodes non résolues.
Options d'interface utilisateur en japonais, coréen et chinois
Les packs linguistiques de l'interface utilisateur en chinois, japonais et coréen sont désormais inclus dans l'installation de base de l'EDI. Vous pouvez changer de langue dans Settings | Appearance & Behavior | System Settings | Language and Region.
Lignes épinglées tenant compte du langage
Il est désormais possible de choisir les langages pour lesquels vous souhaitez que les lignes épinglées s'affichent. Vous pouvez personnaliser cette fonctionnalité dans Settings | Editor | General | Sticky Lines ou dans menu contextuel qui s'affiche lorsque vous faites un clic droit sur une ligne épinglée dans l'éditeur.
Option de prévisualisation dans Search Everywhere
La boîte de dialogue Search Everywhere inclut désormais une option permettant de prévisualiser les éléments de la base de code que vous recherchez. L'activation de cette fonctionnalité via l'icône Preview de la barre d'outils de la boîte de dialogue fait apparaître un volet d'aperçu sous les résultats de la recherche, ce qui fournit davantage de contexte et facilite la navigation dans le projet.
AI Assistant
JetBrains travaille actuellement sur l'implémentation d'une intégration de l'AI Assistant spécifique à Rust, mais n'est qu'aux premiers stades du développement. Restez donc à l'écoute des prochaines mises à jour pour.
RustRover a également hérité des fonctionnalités pour le le développement collaboratif et à distance ainsi que pour les les systèmes de contrôle de version qui ont été incluses dans la version de la plateforme.
Nouveautés et téléchargement de RustRover