IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

RustRover : la version 2024.2 de l'EDI Rust de JetBrains disponible
Avec la prise en charge du développement frontend et des bases de données, et bien d'autres nouveautés

Le , par Michael Guilloux

29PARTAGES

6  0 
JetBrains annonce la sortie de RustRover 2024.2, la deuxième mise à jour majeure de l'année de son nouvel EDI autonome pour les développeurs Rust. 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. Mais il y a encore bien d'autres nouveautés et améliorations que nous présenterons ici avec plus de détails.

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

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de air-dex
Membre expert https://www.developpez.com
Le 19/09/2024 à 4:48
Quel est l'avantage de RustRover sur un IntelliJ avec plugin Rust ? J'ai du mal à le voir.
0  0 
Avatar de Redglyph
Nouveau Candidat au Club https://www.developpez.com
Le 21/09/2024 à 18:27
Citation Envoyé par air-dex Voir le message
Quel est l'avantage de RustRover sur un IntelliJ avec plugin Rust ? J'ai du mal à le voir.
A l'utilisation, il n'y en a pas. J'ai fréquemment utilisé les deux depuis que RustRover est sorti, et je ne vois aucune différence. Les mises à jour du plugin Rust pour IntelliJ semblent être disponible à peu près au même moment que les mises à jour pour RustRover. Evidemment, IntelliJ permet de faire d'autres projects (Java, Kotlin, etc), donc ça peut être utile si tu ne veux pas avoir deux IDEs à gérer. Et il faut avoir la version payante d'IntelliJ (Ultimate, à 169€ + TVA la première année, puis ça diminue un peu).

Les deux souffrent des mêmes bugs, qui, il faut le dire, deviennent de plus en plus nombreux avec leurs outils. La plateforme est la même, donc sans considérer tout ce qui est propre à Rust, l'IDE a le même comportement et partage les même problèmes.

Je crois que la seule différence significative est au niveau de la licence. RustRover a deux nouveaux types d'éditions: non-commerciale et commerciale. Alors qu'IntelliJ, même en version Community Edition, peut être utilisé pour des applications commerciales (par ex. si tu l'utilises au travail), ce n'est pas le cas de RustRover. La version non commerciale ne peut pas être utilisée si l'activité est liée à un quelconque profit. De plus, il n'est pas possible de désactiver l'envoi de données statistiques (en principe anonymes).

Quant à la version commerciale, on ne peut l'avoir qu'en donnant un numéro de TVA, ce qui est un peu étrange - il y a peut-être moyen de l'obtenir autrement en demandant à JetBrains, mais je n'ai pas essayé. Donc si c'est un souci, IntelliJ Ultimate est sans doute la meilleure solution. Pour l'instant, je pense que RustRover est à prix réduit, mais ça ne va pas durer, et la différence pourrait être en faveur d'IntelliJ vu tout ce que cette version supporte.

Enfin, il y a aussi le risque que JetBrains laisse tomber le plugin Rust pour IntelliJ et/ou CLion.
0  0