Nouveautés de RustRover 2024.2

Les points forts de cette version incluent la prise en charge du développement frontend et des bases de données, ainsi que la saisie semi-automatique du code en ligne entière.

Télécharger

Gratuit pour une utilisation non commerciale. Essai de 30 jours disponible.

Développement frontend et prise en charge des bases de données

En réaction à vos commentaires, nous avons 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 IDE. Des suggestions de texte grisé sur une seule ligne complètent les instructions en fonction du contexte du fichier actuel. La saisie semi-automatique du code en ligne entière est incluse dans votre abonnement RustRover sans frais supplémentaires.

Possibilité de joindre 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 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 simple type 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 de déclarer un tableau en tant que 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 ?

Nous avons considérablement amélioré la vérification de type pour l'opérateur ?. L'opérateur est désormais suggéré par la saisie semi-automatique dans un certain nombre de cas, notamment les appels de méthode chaînés. Une nouvelle inspection met également en évidence les appels unwrap() qui permettent d'utiliser ?.

Améliorations des dossiers

Les dossiers de modules sont désormais facilement signalés en tant que paquets dans la vue Project pour aider à les distinguer des dossiers normaux.

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 de 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 macro similaire aux fonctions

Les actions d'intention sont à présent disponibles pour les jetons avec un seul élément correspondant dans la macro étendue concernée.

Saisie semi-automatique du code pour les références de noms non résolues

Si vous créez une utilisation d'une fonction avant de la déclarer, l'IDE propose désormais une suggestion de saisie semi-automatique avec son nom.

Autres améliorations

Cette mise à jour introduit également une tonne d'autres améliorations :

  • L'exécution d'un test ne relance plus le build du projet deux fois.
  • Les conseils d'insertion sont désormais disponibles dans les chaînes de méthodes asynchrones.
  • L'IDE encapsule désormais les valeurs de retour de type Option<…> dans Some() (E0308).
  • De nouveaux avertissements vous informent des faux négatifs dans la syntaxe de {variables:?} (E0277).
  • La mise en évidence a été améliorée pour les méthodes non résolues (E0599).
  • L'IDE vous alerte à présent si un return est inutile.
  • L'application du correctif Convert the identifier modifie à présent toutes les utilisations pertinentes de l'identifiant.
  • L'erreur extern location for crate does not exist on sync a été corrigée.
  • L'outil de mise en forme intégré fonctionne nettement mieux, après avoir reçu des correctifs pour plus de 20 problèmes.
  • Une prise en charge est disponible pour 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'IDE met à présent 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'IDE. Vous pouvez changer de langue dans Settings | Appearance & Behavior | System Settings | Language and Region.

Lignes épinglées tenant compte du langage

Vous pouvez maintenant choisir les langages pour lesquels vous souhaitez que les lignes épinglées s'affichent. Vous pouvez personnaliser cette fonctionnalité soit dans Settings | Editor | General | Sticky Lines ou à l'aide du menu contextuel qui s'affiche lors d'un clic droit sur une ligne épinglée dans l'éditeur.

Option d'aperçu dans Search Everywhere

La boîte de dialogue Search Everywhere inclut désormais une option permettant de prévisualiser les éléments de 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 fera apparaître un volet d'aperçu sous les résultats de la recherche. Il vous offre un contexte supplémentaire et facilite la navigation dans votre projet.

AI Assistant

Nous travaillons actuellement sur l'implémentation d'une intégration spécifique à Rust avec l'AI Assistant, mais nous en sommes encore aux premiers stades du développement. D'autres mises à jour suivront prochainement !

RustRover a également hérité du développement et de la collaboration à distance ainsi que des systèmes de contrôle de version de cette version de la plateforme.