RubyMine 2023.2 inclut la nouvelle fonctionnalité AI Assistant, une meilleure prise en charge de Turbo-Rails et d'Import Maps, des améliorations des performances, la prise en charge de l'API LSP pour le développement de plugins et des fonctionnalités plus avancées pour RBS et Vue.
Cette version met à jour la saisie semi-automatique du code Turbo pour les projets Ruby on Rails. Il est désormais possible d'utiliser la saisie semi-automatique du code pour les flux Turbo dans les contrôleurs et les vues, ainsi que pour la diffusion de flux Turbo à partir de modèles. La saisie semi-automatique pour les Turbo Frames dans les vues est également disponible.
Vous pouvez désormais utiliser les commandes importmap dans Run Anything, bénéficier de la saisie semi-automatique pour les spécificateurs de modules et les chemins de fichiers dans les méthodes pin
et pin_all_from
, et naviguer entre les modules importés et leurs utilisations.
Nous avons implémenté la mise en évidence de la syntaxe pour les exemples de code afin de faciliter la compréhension de l'objectif de chaque inspection.
Les fonctionnalités de code insight sont disponibles pour les accesseurs ActiveRecord::Store
. Vous bénéficiez ainsi de la saisie semi-automatique de code et de la navigation pour les accesseurs, des méthodes de suivi de modifications dirty tracking, de méthodes d'accès aux modifications effectuées lors du dernier enregistrement et des validations sur les accesseurs.
Vous pouvez personnaliser les formats d'affichage des différents objets dans la fenêtre d'outils Debug. Cette fonctionnalité utilise des moteurs de rendu, c'est-à-dire des configurations uniques liées à certains types qui déterminent la façon dont les instances de ces types sont présentées dans la fenêtre d'outils Debug. Grâce à l'utilisation d'expressions personnalisées, les moteurs de rendu fournissent un haut niveau de flexibilité pour l'affichage des données.
La fonctionnalité AI Assistant vous permet de poser des questions, de parler des tâches en cours et de collaborer. L'IDE fournit des informations relatives à votre projet, notamment sur les langages de programmation et les technologies qu'il utilise. Une fois le résultat souhaité atteint, vous pouvez insérer le code généré par l'IA dans l'éditeur en utilisant la fonction Insert Snippet at Caret ou par un simple copier-coller.
La boîte de dialogue Commit Changes comporte désormais le bouton Generate Commit Message with AI Assistant. Il vous suffit de cliquer sur ce bouton pour envoyer la liste des modifications au LLM, qui générera un message de commit descriptif résumant ces modifications.
Pour générer la documentation d'une déclaration en utilisant un LLM, allez dans le sous-menu AI Actions et sélectionnez l'action Write documentation. Lorsque vous sélectionnez cette option, l'IDE génère la partie statique du commentaire, tandis que l'IA prend en charge la génération du texte de la documentation.
Nous avons optimisé le comportement du menu hamburger dans la barre d'outils principale pour Windows et Linux. Les éléments du menu s'affichent désormais à l'horizontale sur la barre d'outils et le menu peut être converti en barre d'outils distincte.
Les commandes de la fenêtre sont désormais affichés directement dans la barre d'outils principale et non plus dans la barre flottante.
Dans la vue Project, vous pouvez maintenant utiliser l'option Open Directories with Single Click afin de développer et de réduire plus rapidement les dossiers du projet. Pour accéder à cette option, cliquez simplement sur l'icône à trois points et sélectionnez-la dans le menu déroulant.
La nouvelle option Light with Light Header offre une expérience visuelle plus cohérente et uniforme. Cette option permet de s'assurer que les en-têtes de fenêtre, les info-bulles et les bulles de notification utilisent tous des couleurs claires.
Les en-têtes de projets colorés sont conçus pour simplifier la navigation entre plusieurs projets ouverts. Il est désormais possible d'associer une couleur et une icône différentes à chaque projet, afin de distinguer plus facilement les projets dans votre espace de travail.
Nous avons implémenté un nouveau correctif rapide qui permet de corriger les fautes de frappe dans les noms de symboles en appliquant les corrections suggérées.
La fonctionnalité de formatage est désormais disponible pour les alias de classes et de modules.
Nous avons ajouté des inspections de conventions de nommage pour les interfaces, les alias et les variables de types.
Les fonctionnalités de code insight sont maintenant disponibles pour la syntaxe use
dans RBS.
Nous avons ajouté des annotations et des inspections pour les directives lorsqu'elles sont mal utilisées.
RubyMine s'assure de la cohérence du formatage des directives use et de sa conformité aux normes en vigueur.
Les fonctionnalités de code insight, la navigation, l'inférence de type et la refactorisation rename sont désormais disponibles pour les alias de classes et de modules.
Nous avons optimisé la synchronisation des gemmes pour les SDK Docker et docker-compose. Désormais, nous utilisons uniquement l'API Docker Engine pour copier des gemmes à partir d'une image ou d'un conteneur en cours d'exécution.
Nous avons procédé à une refonte majeure de l'analyseur lexical de RubyMine, ce qui a permis d'augmenter considérablement sa vitesse.
La prise en charge de l'API LSP inclut la mise en évidence des erreurs et des avertissements, des correctifs rapides, la saisie semi-automatique du code et la navigation vers les déclarations. Des fonctionnalités supplémentaires seront ajoutées prochainement.
Nous avons mis à jour les options de pliage de code par défaut. Voici les options maintenant disponibles :
RubyMine assure maintenant la prise en charge initiale du serveur de langage Vue (Volar) afin de fournir une détection des erreurs plus précise. Par défaut, Volar est utilisé pour TypeScript v5.0 et ses versions ultérieures, tandis que notre propre implémentation reste utilisée pour les versions plus anciennes.
Afin d'améliorer l'expérience de gestion de plusieurs configurations d'exécution, il est désormais possible d'épingler vos configurations préférées dans le widget Run.
Vous pouvez organiser les fichiers par heure de modification dans la vue Project. RubyMine classe maintenant automatiquement vos fichiers en fonction de leur heure de modification.
Vous pouvez maintenant ajouter facilement des actions à la barre d'outils en utilisant un menu déroulant.
Explorez la nouvelle collection de modèles dynamiques et profitez d'une expérience de développement plus efficace avec les hooks React.