RubyMine 2025.2 apporte plusieurs nouveautés intéressantes, notamment :
Découvrez tous les détails !
JetBrains AI Assistant vient de bénéficier d'une mise à niveau majeure, qui vous offre une saisie semi-automatique plus intelligente, une meilleure compréhension du projet et davantage de contrôle sur le fonctionnement de l'IA dans votre IDE. Vous trouverez ci-dessous un aperçu des nouvelles fonctionnalités d'AI Assistant. Rendez-vous ici pour lire l'article complet.
La saisie automatique du code basée sur le cloud pour ERB a été élargie. Elle fonctionne désormais dans les balises ERB, telles que <% <caret> -%> et <%= <caret> %>.
Cette fonctionnalité s'appuie sur la saisie automatique du code basée sur l'IA existante de RubyMine pour Ruby et inclut des améliorations telles que :
Le chat de l'Assistant AI exploite désormais la fonctionnalité Search Everywhere pour les Classes et les Symbols afin d'intégrer un contexte plus précis.
Vous pouvez maintenant définir des instructions spécifiques au projet pour guider les réponses de l'IA, telles que le style de code ou les contraintes du framework. Les règles sont stockées dans votre projet et vous pouvez les partager au sein de l'équipe, afin de garantir l'alignement et la cohérence sans nécessiter de saisie manuelle répétée.
L'AI Assistant vous permet de travailler avec des modèles locaux en connectant des LLM tiers exécutés sur votre machine. En plus d'Ollama et de LM Studio, vous pouvez à présent utiliser n'importe quel serveur de modèles compatible avec l'API OpenAI, comme llama.cpp, LiteLLM, etc. Cela vous permet de profiter gratuitement des fonctionnalités d'IA sans qu'aucune donnée ne quitte votre machine.
JetBrains AI Assistant prend désormais en charge les images en pièces jointes dans le chat lors de l'utilisation de modèles Anthropic et OpenAI.
Dans RubyMine 2025.2, l'AI Assistant fournira davantage de suggestions de code, dans un plus large éventail de contextes, pour simplifier votre workflow de développement.
Les améliorations apportées à la mise en forme des sorties multilignes affinent en outre l'expérience de codage.
Junie, l'agent de programmation IA de JetBrains disponible dans RubyMine 2025.2 sous forme de plugin, bénéficie désormais des mises à jour majeures ci-dessous :
RubyMine 2025.2 vous permet de désactiver des fournisseurs de signature de type spécifiques utilisés pour certaines inspections de code.
Cela peut être particulièrement utile dans les cas où une inspection utilise des données provenant de plusieurs services et que vous souhaitez éviter les conflits entre eux.
Par exemple, l'inspection Mismatched Argument Type utilise RBS et Sorbet, qui peuvent entrer en conflit l'un avec l'autre. Pour éviter tout problème, vous pouvez désactiver l'un d'entre eux.
Pour trouver toutes les inspections présentant des conflits potentiels et désactiver certains de leurs fournisseurs, allez dans Settings | Editor | Inspections | Ruby | Probable bugs.
Travailler avec des projets Rails contenant de nombreux fichiers de migration est à présent beaucoup plus fluide. RubyMine 2025.2 garantit que les modifications, les ajouts et les suppressions de migrations se produisent sans retard ni blocage, pour maintenir un workflow ininterrompu.
Nous avons optimisé la gestion de certaines tâches d'arrière-plan lors du démarrage du projet.
En retardant certaines opérations et en réduisant la fréquence d'exécution pour d'autres, nous avons accéléré et fluidifié le démarrage de projet pour vous permettre de commencer votre travail plus rapidement.
Par exemple, des opérations telles que l'actualisation des tâches Rake et des générateurs Rails ou la mise à jour des collections RBS ne s'exécutent désormais que lorsque c'est strictement nécessaire.
RubyMine 2025.2 prend désormais en charge les infobulles pour les déclarations et références RBS.
Appuyez sur Ctrl et survolez une déclaration dans un fichier .rbs pour voir un aperçu de la cible.
Cet aperçu est particulièrement utile pour obtenir rapidement des informations contextuelles sur la cible d'une référence. Par exemple, vous pouvez l'utiliser pour voir la définition d'un alias de type sans avoir à y naviguer.
La prise en charge améliorée des types avec RBS Collection est désormais activée par défaut.
Vous remarquerez un gain de précision dans des fonctionnalités telles que :
Remarque : l'intégration de RBS Collection nécessite RBS 3.2, qui est automatiquement intégré à Ruby 3.4. Si vous utilisez une ancienne version de Ruby, RubyMine vous demandera d'installer la gem appropriée.
RubyMine 2025.2 apporte des améliorations pour Bundler, particulièrement bénéfiques pour les projets multimodules.
RubyMine regroupe désormais les notifications de gems manquantes dans tous les modules en une seule alerte, réduisant ainsi l'encombrement et les interruptions.
Pour vous éviter de gérer des boîtes de dialogue à chaque fois que vous appelez une commande Bundler, nous avons introduit un nouvel onglet Bundler. Situé sous Settings | Tools, il vous permet de :
RubyMine installe maintenant les gems module par module pour éviter les conflits et la réinstallation des gems partagés entre plusieurs modules.
Nous avons optimisé la saisie semi-automatique du code pour les constantes d'exception dans RubyMine. Dans les cas où aucun préfixe n'est fourni (par exemple, lors du déclenchement de la saisie semi-automatique sans saisie), les suggestions se limitent maintenant à un ensemble ciblé de constantes pertinentes.
Cette modification améliore considérablement les performances, en particulier dans les grands projets.
Dans RubyMine 2025.2, le processus d'installation des gems de débogage est non modal, la progression étant affichée dans la fenêtre du terminal plutôt que dans la barre de progression.
RubyMine alimente le nouveau linter Ruby dans Qodana.
Le linter Ruby intègre les inspections de code robustes de RubyMine dans les workflows automatisés, pour vous aider à détecter les problèmes et à maintenir une qualité de code élevée dans tous vos projets.
Qodana pour Ruby est actuellement en accès anticipé. Vous trouverez plus d'informations dans la documentation de Qodana.