Nouveautés de RubyMine 2024.3

Amélioration de la saisie semi-automatique du code basée sur le cloud, prompts d'IA inline, prise en charge de Kamal 2, intégration native avec RBS Collection, mises à jour de Ruby 3.4 et vérifications orthographiques et grammaticales générées par Grazie

AI Assistant

Amélioration de la saisie semi-automatique du code basée sur le cloud

RubyMine 2024.3 offre une saisie semi-automatique du code basée sur le cloud plus rapide et tenant encore mieux compte du contexte grâce au plugin JetBrains AI Assistant, qui accroît sa qualité et sa rapidité et ajoute la prise en charge de la saisie semi-automatique multiligne.

Générée par le LLM Mellum, la latence de la saisie semi-automatique a diminué de près d'un dixième par rapport aux versions précédentes, ce qui permet des suggestions quasi instantanées. Le taux d'acceptation des suggestions de saisie semi-automatique a presque doublé, tandis que le taux d'annulation est de deux à trois fois inférieur à celui de la version précédente.

Veuillez noter que la saisie semi-automatique du code basée sur le cloud dans l'AI Assistant n'est disponible qu'avec un abonnement AI Pro ou un essai gratuit actif.

Contexte Rails amélioré pour les tests unitaires

RubyMine fournit maintenant davantage d'informations contextuelles sur les applications Rails à l'AI Assistant, ce qui améliore la génération de tests unitaires.

Prompts d'IA inline

RubyMine 2024.3 inaugure les prompts d'IA inline, qui offrent un moyen fluide d'interagir avec l'AI Assistant directement dans l'éditeur. Vous pouvez saisir des requêtes en langage naturel, que l'AI Assistant interprète et convertit instantanément en modifications du code, signalées en violet dans la gouttière pour en faciliter le suivi. Les prompts d'IA inline prennent en compte le contexte et incluent automatiquement les fichiers et symboles associés pour une génération de code plus précise.
La fonctionnalité est actuellement disponible dans les fichiers *.rb.

Prise en charge de Rails 8

Prise en charge de Kamal 2

Rails 8 prend en charge le déploiement de vos applications avec Kamal 2, et dans RubyMine 2024.3, nous avons implémenté la saisie semi-automatique du code pour les configurations Kamal 2.

Annotations de nullabilité de schema.rb pour la prise en charge des types

RubyMine reconnaît désormais le modificateur de type not-null pour les attributs de migration et fournit une mise en évidence et des avertissements pour les affectations nil incorrectes.

Analyse du code pour Solid Queue et Solid Cache

Dans RubyMine 2024.3, les fichiers queue_schema.rb et cache_schema.rb disposent désormais d'icônes spécifiques et de la mise en évidence de la syntaxe.

RBS

Intégration native avec RBS Collection

RubyMine fournit maintenant une intégrative native avec RBS Collection, une collection de fichiers RBS gérée par la communauté pour les gemmes qui n'incluent pas de signatures.

Même si vous n'utilisez pas RBS dans votre projet, cela vous permet de bénéficier des signatures de type incluses dans RBS Collection. RubyMine téléchargera et gérera automatiquement les signatures de types pour les dépendances du projet.

Ruby

Possibilité d'utiliser it comme alias pour les paramètres numérotés dans les blocs

RubyMine reconnaît désormais it en tant qu'alias pour _1 dans les blocs sans paramètres et fournit ainsi une prise en charge des types et des intentions de conversion dans de tels cas.
Nous avons ajouté une nouvelle annotation d'erreur qui vous empêche d'utiliser it dans un bloc avec des paramètres numérotés réguliers.

Prise en charge des chaînes « gelées » de Ruby 3.4

RubyMine reconnaît désormais les chaînes « gelées », un nouvel état de transition pour les chaînes littérales en Ruby 3.4. Dans les projets sans le pragma frozen_string_literal, les chaînes sont « gelées ». Y apporter des modifications génère ainsi un avertissement au lieu d'une erreur.

Annotations d'erreur pour les arguments anonymes ambigus

RubyMine affiche désormais une erreur lorsque vous essayez d'utiliser des arguments de bloc anonymes, de rest et de mots-clés rest dans un contexte imbriqué ambigu.

VCS

Mises à jour pour Find in Files

La fonctionnalité Find in Files a été améliorée avec une nouvelle portée de recherche, Project Files Excluding Git-Ignored. Cette option exclut de vos résultats de recherche tous les fichiers ignorés dans les fichiers .gitignore, ce qui vous permet de vous concentrer uniquement sur le code pertinent lorsque vous faites des recherches dans votre projet.

Option de désactivation des vérifications préalables au commit en arrière-plan

Vous pouvez désormais gérer les vérifications en arrière-plan pendant le processus de commit grâce à la nouvelle option Run advanced checks after a commit is done sous Settings | Version Control | Commit. Ce paramètre vous permet de décider si les tests et les inspections doivent être exécutés après un commit. Si vous souhaitez que ces vérifications soient effectuées avant le commit, il vous suffit de le désactiver.

Expérience utilisateur

Vérifications orthographiques et grammaticales intégrées

Le plugin Grazie est maintenant directement disponible dans RubyMine. Il fournit des vérifications intelligentes, qui vont au-delà des fautes d'orthographe et de frappe. Il comprend les règles de grammaire et vous avertit s'il détecte un style inapproprié.

Les vérifications Grazie sont disponibles dans les chaînes, les heredocs, les commentaires, les commentaires de bloc et les fichiers RDoc.

Vous pouvez gérer les vérifications de Grazie dans Settings | Editor | Natural Languages | Grammar and Style | Scope.

Amélioration de la prise en charge des consoles

Nous avons ajouté de nouvelles options afin de vérifier si la première suggestion de saisie semi-automatique est présélectionnée lors de l'utilisation des consoles ou du champ Evaluate Expression lors du débogage.

Pendant le débogage, le champ Evaluate Expression reflète maintenant avec précision les types self, reconnaît les variables locales et les paramètres avec des types inférés, et prend en charge la saisie semi-automatique pour les nouvelles variables locales introduites dans le cadre de la session du cadre de pile actuelle.

Les sessions de console mémorisent les commandes exécutées précédemment et fournissent l'inférence de type et la saisie semi-automatique pour les variables locales.

Augmentation de la limite par défaut du nombre d'onglets ouverts

Nous avons augmenté la limite par défaut pour le nombre d'onglets ouverts dans l'éditeur, qui est maintenant de 30. Vous pouvez ainsi garder davantage d'onglets ouverts avant que l'IDE ne commence à fermer ceux qui sont restés inutilisés le plus longtemps. Vous pouvez contrôler ce paramètre dans Settings | Editor | General | Editor Tabs.

Emplacement optimisé pour l'action Rename

Nous avons optimisé l'emplacement de l'action Rename dans le menu contextuel lorsqu'elle est appelée sur des éléments dans l'éditeur et la fenêtre d'outil Project. L'action se trouve désormais en haut, ce qui permet aux utilisateurs ayant souvent recours la souris de renommer rapidement les fichiers, les variables et d'autres éléments.

Interface utilisateur mise à jour pour le nouveau terminal

Nous avons mis à jour l'interface utilisateur du nouveau terminal avec un design plus compact, qui réduit les marges afin de maximiser l'espace dont vous disposez sur l'écran. Vous bénéficiez ainsi d'une meilleure visibilité lorsque vous travaillez avec des commandes, tout en conservant une lisibilité optimale.

Mise en évidence de toutes les occurrences du texte sélectionné

Par défaut, RubyMine met désormais automatiquement en évidence toutes les instances du texte que vous sélectionnez dans un fichier. Cela facilite le suivi de l'endroit où le texte sélectionné apparaît dans votre code.