Nouveautés de RubyMine 2023.2

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.

Ruby et Rails

Prise en charge de Turbo-Rails

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.

Prise en charge d'Import Maps

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.

Mise en évidence des éléments de syntaxe dans les descriptions d'inspection

Mise en évidence de la syntaxe dans les descriptions d'inspections

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.

Code insight pour les accesseurs de stockage Rails

Code insight pour les accesseurs de stockage Rails

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.

Rendus de type personnalisé dans le débogueur

Rendus de types personnalisés dans le débogueur

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.

AI Assistant Accès limité

Chat par IA

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.

Génération de message de commit

Génération de message de commit

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.

Génération de documentation avec l'AI Assistant

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.

Nouvelle interface utilisateur

Nouveau menu hamburger pour Windows et Linux

Nouveau menu hamburger pour Windows et Linux

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.

Commandes de fenêtre mises à jour sous macOS

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.

Navigation en un clic entre les dossiers de projets

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.

Thème clair avec en-tête clair dans la nouvelle interface utilisateur

Thème clair avec en-tête clair dans la nouvelle interface utilisateur

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.

En-têtes colorés pour les projets dans la nouvelle interface utilisateur

En-têtes colorés pour les projets dans la nouvelle interface utilisateur

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.

RBS

Correction des coquilles de noms

Correction des fautes de frappe

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.

Formatage des alias de classes et de modules

Formatage des alias de classes et de modules

La fonctionnalité de formatage est désormais disponible pour les alias de classes et de modules.

Inspections des conventions de nommage

Inspections des conventions de nommage

Nous avons ajouté des inspections de conventions de nommage pour les interfaces, les alias et les variables de types.

Analyse de la syntaxe des directives use

Code insight pour la syntaxe use

Les fonctionnalités de code insight sont maintenant disponibles pour la syntaxe use dans RBS.

Annotations et inspections pour les directives use

Annotations et inspections pour les directives use

Nous avons ajouté des annotations et des inspections pour les directives lorsqu'elles sont mal utilisées.

Formatage des directives use

Formatage des directives use

RubyMine s'assure de la cohérence du formatage des directives use et de sa conformité aux normes en vigueur.

Code insight pour les alias de classes et de modules RBS

Code insight pour les alias de classes et de modules RBS

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.

Performances

Meilleure synchronisation des gemmes pour les SDK Docker et docker-compose

Amélioration de la synchronisation des gemmes pour les SDK Docker et docker-compose

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.

Analyseur lexical mis à jour

Nous avons procédé à une refonte majeure de l'analyseur lexical de RubyMine, ce qui a permis d'augmenter considérablement sa vitesse.

Fonctionnalités et améliorations

Prise en charge de l'API LSP pour le développement de plugins

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.

Paramètres de pliage de code mis à jour

Nous avons mis à jour les options de pliage de code par défaut. Voici les options maintenant disponibles :

  • Fermetures de code
  • Front matter
  • Destinations des liens
  • Table des matières
  • Tables
Prise en charge du serveur de langages Vue

Prise en charge du serveur de langage Vue

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.

Expérience utilisateur

Configurations d'exécution épinglées dans le widget Run

Configurations d'exécution épinglées dans le widget Run

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.

Tri des fichiers par heure de modification dans la vue Project

Tri des fichiers par heure de modification dans la vue Project

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.

Personnalisation améliorée pour la barre d’outils principale

Personnalisation de la barre d’outils principale améliorée

Vous pouvez maintenant ajouter facilement des actions à la barre d'outils en utilisant un menu déroulant.

Nouveaux live templates pour les hooks React

Nouveaux live templates pour les hooks React

Explorez la nouvelle collection de modèles dynamiques et profitez d'une expérience de développement plus efficace avec les hooks React.