Nouveautés de RubyMine 2023.3

Prise en charge améliorée de l'AI Assistant, chemins personnalisés pour les applications et moteurs Rails, analyse du code pour les variables locales strictes de Rails 7.1, déclarations supplémentaires de RBS, mise à jour des moteurs de rendu de type du Débogeur, RuboCop en mode serveur, inspections de code Brakeman et bien plus.

AI Assistant Disponibilité générale

L'AI Assistant est maintenant disponible pour tous, avec de nombreuses nouveautés et fonctionnalités améliorées pour rendre votre travail avec les IDE de JetBrains encore plus productif.

AI-generated name suggestions

Prise en charge des suggestions de noms générées par IA

Vous pouvez désormais activer les suggestions de noms générées par IA pour les variables locales et les paramètres dans votre code Ruby. Cette action est disponible lors de l'utilisation de la refactorisation inline Rename. Pour activer les suggestions de noms, cochez la case Provide AI-generated name suggestions dans Settings | Tools | AI Assistant.

AI assistant context

Amélioration des contextes Ruby

Nous continuons d'améliorer les contextes Ruby et la façon dont les LLM analysent votre base de code. Ces modifications ont un impact sur la façon dont l'AI Assistant génère la documentation, explique votre code Ruby, reconnaît le contenu des fichiers et plus.

Génération de tests unitaires

Génération de tests unitaires

L'AI Assistant vous permet de générer sans effort des tests pour les méthodes publiques dans votre application Ruby ou Rails. Sélectionnez la méthode pour laquelle vous souhaitez préparer les tests et appuyez sur ⌥ + Entrée sous macOS ou Alt + Entrée sous Windows. Dans le menu contextuel, sélectionnez AI Actions, puis Generate Unit Tests.

Pour utiliser l'AI Assistant dans RubyMine en tant que fonctionnalité supplémentaire, vous devez disposer d'un abonnement à JetBrains AI Service.

Rails

Custom paths for Rails

Chemins personnalisés pour les applications et les moteurs Rails

RubyMine détecte l'utilisation de chemins personnalisés dans vos applications et moteurs Rails. En plus des chemins par défaut comme app, app/controllers et app/models, l'IDE reconnaît tout autre emplacement configuré dans votre projet. Vous pouvez ainsi redéfinir la structure par défaut et continuer de bénéficier des fonctionnalités d'analyse du code de RubyMine. Pour configurer des chemins personnalisés, allez dans Settings | Languages & Frameworks | Rails | Paths.

Importation automatique des chemins Rails

Importation automatique des chemins Rails

Nous avons implémenté une nouvelle option qui permet de détecter automatiquement les chemins personnalisés dans votre application Rails. Chaque fois que vous ouvrez votre projet, RubyMine tente d'importer la configuration des chemins Rails en arrière-plan.

Code insight for elements outside default location

Analyse du code pour les modèles, les contrôleurs et les mailers stockés en dehors de leurs emplacements par défaut

Toutes vos fonctionnalités préférées d'analyse du code, telles que la navigation et la prise en charge des types, fonctionnent maintenant avec les modèles, les contrôleurs et les mailers, même si ces derniers se trouvent en dehors de leurs répertoires par défaut.

Strict locals

Analyse du code pour les variables locales strictes de Rails 7.1

RubyMine prend désormais en charge les fonctionnalités de résolution, la saisie semi-automatique, Find Usages, Rename, et la navigation pour les variables locales strictes.

Inférence de type

Type provision for self-type bindings

Affichage du type pour les types self personnalisés dans les blocs

La nouvelle version de RubyMine prend en charge la personnalisation du type self des blocs de RBS vers Ruby. Cette fonctionnalité aide à reconnaître les DSL et améliore l'analyse et la compréhension du code.

Annotation to specify self-type of blocks

Annotation personnalisée pour spécifier le type de self des blocs

Vous pouvez maintenant déclarer explicitement le type self directement à l'intérieur des blocs en utilisant un commentaire de type YARD.

Extra declarations from RBS

Prise en charge des déclarations supplémentaires de RBS

Nous avons implémenté une prise en charge basique pour reconnaître les déclarations supplémentaires de RBS lorsqu'elles pas présentes dans vos fichiers Ruby. Cette prise en charge est particulièrement intéressante pour les projets qui utilisent beaucoup la réflexion, car ces déclarations peuvent ensuite être utilisées pour l'auto-complétion et pour d'autres fonctionnalités de RubyMine. La fonctionnalité est disponible pour les classes, les modules, les constantes, les méthodes et les variables.

Débogueur

Debugger type renderers

Mise à jour pour les outils de rendu de type du débogueur

Vous n'avez plus besoin de redémarrer le débogueur pour appliquer des modifications aux outils de rendu de type. Cliquez simplement sur le bouton Apply et RubyMine les rechargera instantanément.

Outils et bibliothèques

Rubocop server mode

RuboCop en mode serveur

RubyMine prend automatiquement en charge l'exécution de RuboCop en mode serveur. Pour utiliser cette fonctionnalité, les conditions suivantes doivent être respectées :

  • Linux ou macOS
  • MRI Ruby local 2.3 ou version ultérieure
  • RuboCop 1.31 ou version ultérieure
Brakeman

Inspections de code Brakeman

Vous pouvez désormais consulter facilement les informations de Brakeman dans RubyMine, dans un format convivial. Résolvez rapidement les problèmes de sécurité grâce à un accès facile à la documentation de Brakeman, aux indicateurs de confiance et bien plus. Assurez-vous que la gemme brakeman est installée, puis allez dans Code | Analyze Code | Run inspection by name pour lancer l'analyse.

rspec-parameterized

Spécifications paramétrées avec rspec-parameterized

RubyMine fournit une prise en charge complète de la syntaxe RSpec::Parameterized, qui inclut notamment la reconnaissance, la résolution et des suggestions de saisie semi-automatique. Nous avons également implémenté des configurations Run/Debug pour améliorer votre expérience de test.

let_it_be support

Déclarations de fixtures avec let_it_be

Nous avons ajouté la prise en charge des déclarations de fixtures dans les tests RSpec utilisant des blocs let_it_be. Cette prise en charge comprend des fonctionnalités telles que la résolution de variable, la mise en évidence de la syntaxe et la gestion automatique de l'insertion de blocs do pour before_all. Pour l'activer, vous devez installer la gemme test-prof.