Nouveautés de RustRover 2024.2

Les points clés de cette version incluent la prise en charge du développement frontend et des bases de données, ainsi que la saisie semi-automatique de 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

Suite aux retours des utilisateurs, 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 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 ?

Nous avons 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

Des actions d'intention sont à présent disponibles pour les jetons avec un seul élément correspondant dans l'extension de la macro.

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'IDE 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'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 désormais si un return n'est pas nécessaire.
  • La conversion d'un identificateur à l'aide d'un correctif suggéré par le compilateur affecte à présent toutes les utilisations pertinentes de cet identificateur.
  • 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.
  • Nous avons 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'IDE 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'IDE. 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

Nous travaillons actuellement sur l'implémentation d'une intégration de l'AI Assistant spécifique à Rust, mais nous en sommes qu'aux premiers stades du développement. Restez à l'écoute des prochaines mises à jour !

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.

Télécharger