Nouveautés de RubyMine 2022.2

Meilleure prise en charge de Rails, de RBS, du débogeur, de YARD, et ajout de plusieurs nouvelles fonctionnalités.

Rails

Liens cliquables dans les journaux des serveurs Rails

Les développeurs Rails peuvent maintenant cliquer sur les liens pour les références Controller#action, View et Route pour accéder aux fichiers correspondants.

Rechercher, compléter et parcourir les URL Rails

RubyMine prend désormais en charge la recherche d'URL Rails. Il vous suffit de taper /url dans la boîte de dialogue Search Everywhere pour rechercher un fichier contenant l'URL souhaitée et y accéder. Vous pouvez également utiliser le raccourci clavier Ctrl+Shift+\.

Nous avons introduit la saisie semi-automatique pour les requêtes HTTP. Vous pouvez donc remplir automatiquement les URL Rails et accéder aux Routes associées. Les suggestions de saisie semi-automatique affichent également les types de requêtes HTTP disponibles.

Fenêtre d'outil Endpoints

La nouvelle fenêtre d'outil Endpoints fournit une vue agrégée des API client et serveur utilisées dans votre projet. La fenêtre d'outil peut vous aider lors du développement de microservices et pour la communication backend-frontend. Pour en savoir plus, consultez cette rubrique d'aide.

Amélioration de la saisie semi-automatique des balises HTML dans les fichiers ERB

Plus besoin de saisir manuellement les balises HTML ouvrantes lorsque vous modifiez des fichiers .html.erb : commencez simplement à saisir le nom d'une balise HTML et RubyMine vous fournira la suggestion de saisie automatique appropriée. Appuyez sur la touche Tab pour compléter automatiquement la balise puis continuez à modifier son contenu.

RBS

Modificateurs de visibilité inline

Dans cette version, nous avons continué à améliorer notre prise en charge de RBS. Dorénavant, 'analyse du code de RubyMine vérifie les modificateurs de visibilité publique et privée inline pour déterminer la visibilité des déclarations d'attributs et de méthodes. Nous avons également ajouté des modificateurs de visibilité par méthode à la vue de la structure.

Récupérer des types à partir de classes inconnues

Auparavant, nous ne fournissions des types pour un objet que si sa classe comportait une signature RBS. En l'absence de signature RBS correspondante, nous ne pouvions récupérer que les types de méthodes de Object.

Nous avons amélioré l'inférence de type pour les classes inconnues. Ainsi, RubyMine peut maintenant rechercher les types pour les méthodes de tous les ancêtres connus de Ruby, et non plus seulement pour Object.

Débogueur

Nous avons amélioré le débogueur de RubyMine pour le rendre plus robuste pour Ruby 3 et ses versions ultérieures Vous devez maintenant pouvoir déboguer votre code écrit en Ruby 3 ou version ultérieure sans problème, et utiliser toutes les fonctionnalités fournies dans l'interface utilisateur graphique, notamment parcourir le code et évaluer les expressions. Nous avons également résolu plusieurs problèmes des précédentes implémentations du débogueur afin de permettre aux utilisateurs exécutant une version de Ruby antérieure à la version 3.0 de pouvoir déboguer leur code dans RubyMine. Aucune action supplémentaire n'est requise, car l'IDE suggère automatiquement une implémentation de débogueur appropriée.

YARD

Analyse du code pour les macros YARD

À partir de la version 2022.2, RubyMine reconnaît les extensions de macros YARD et fournit une assistance générale au codage pour ces dernières.

  • Utilisez l'action Go to declaration sur une référence de macro pour accéder à la déclaration de macro correspondante.
  • Recherchez les utilisations d'une déclaration de macro en appelant l'action Find usages.
  • Renommez chaque occurrence d'une macro avec Rename en appuyant sur Maj+F6.

Veuillez noter que RubyMine ne prend pas en charge les macros « attach » en raison de problèmes de performances potentiels.

Amélioration du rendu des documents YARD

Découvrez le nouvel aspect des commentaires et balises YARD lors de leur rendu dans l'éditeur. Nous avons réorganisé l'indentation et les styles pour uniformiser la documentation du code à l'intérieur de l'IDE.

Ajout de nouvelles fonctionnalités

Exécution du fichier actif

RubyMine utilise des configurations run/debug pour exécuter, déboguer, déployer et tester votre code. Dans cette version, nous avons introduit une nouvelle fonctionnalité pour exécuter et déboguer le fichier actuellement ouvert dans l'éditeur.

Analyse du code pour les variables locales de correspondance de modèles

Les fonctionnalités d'analyse du code, telles que la navigation entre les entités, la refactorisation Rename et Find Usages, fonctionnent désormais pour les variables locales de correspondance de modèles.

Supprimer une ligne de commentaire vide

Cette version comprend une nouvelle option qui permet de supprimer une ligne de commentaire vide en appuyant sur Entrée. Utilisez Maj+Entrée pour insérer une ligne de commentaire vide. Vous pouvez activer ou désactiver cette option dans Preferences / Settings | Advanced Settings | Ruby | Delete empty line comment with Enter checkbox.

Modifier la taille de la police de façon globale

Nous avons introduit un nouveau raccourci clavier qui modifie la taille de la police partout dans l'éditeur. Pour augmenter la taille de la police, appuyez sur Alt+Maj+. Pour la réduire, appuyez sur Alt+Maj+,.

Modifier le nom des interpréteurs

Si vous utilisez différentes versions de Ruby pour différents projets, vous pouvez maintenant modifier les noms des interpréteurs dans les paramètres du SDK Ruby. Nous avons ajouté cette fonctionnalité pour améliorer la lisibilité de divers SDK et réduire les risques de confusion lors du choix de l'un d'eux.

Ouvrir un fichier Gemfile à partir d'une suggestion RuboCop

Vous pouvez maintenant ouvrir votre fichier Gemfile et ajouter la gemme RuboCop directement à partir de la fenêtre d'outil Notifications. Lorsque vous voyez la suggestion Set up RuboCop dans la fenêtre d'outil Notifications, cliquez sur Add.

Gérer l'insertion automatique des parenthèses

Vous pouvez maintenant choisir si vous voulez que RubyMine insère automatiquement des parenthèses lors de la saisie semi-automatique du code ou non. Pour activer l'insertion automatique des parenthèses, allez dans Settings/Preferences | Editor | General | Code Completion et cocher la case Insert parentheses automatically when applicable.

JavaScript

Prise en charge des composants autonomes Angular

Prise en charge des composants Angular autonomes

Nous avons activement travaillé sur la prise en charge d'Angular 14 dans RubyMine. L'ajout le plus important apporté dans cette version est la prise en charge des composants Angular autonomes. RubyMine reconnaît désormais correctement les composants, directives et canaux signalés par standalone: true.

Mises à jour pour Vue

Mises à jour pour Vue

Notre prise en charge de Vue 3 avait du retard par rapport à certaines des dernières mises à jour de Vue. Dans cette version, nous avons donc apporté plusieurs améliorations pour rattraper ce retard. Plusieurs d'entre elles, notamment la prise en charge de Vite, avaient déjà été incluses dans les mises à jour mineures de la version 2022.1. RubyMine 2022.2 apporte également plusieurs correctifs. Par exemple, il comprend maintenant la réduction de type (narrowing) dans les directives v-if/else.

Prise en charge de TypeScript 4.7

Prise en charge de TypeScript 4.7

RubyMine 2022.2 est fourni avec TypeScript 4.7 et prend en charge de nouvelles fonctionnalités du langage comme moduleSuffixes et ESM dans Node.js. Il insère automatiquement l'extension .js dans l'instruction d'importation si le module est défini sur node16 ou nodenext dans votre fichier tsconfig.json. De plus, il prend en charge le champ typesVersions dans les fichiers package.json.

Plan de retrait de plusieurs fonctionnalités

Cette version marque l'arrêt de la prise en charge de plusieurs technologies et fonctionnalités plus anciennes, parmi lesquelles Rails 3, RCov gem, le type de configuration d'exécution JRuby, ainsi que les serveurs de préchargement Zeus, Spork et Nailgun. Pour en savoir plus à ce sujet, veuillez consulter cette annonce.