Nouvelles fonctionnalités pour travailler avec Ruby et RBS, amélioration de la saisie semi-automatique du code, de la recherche, de la refactorisation et de l'éditeur, prise en charge de VCS, Space, Code With Me, et plus encore.
La précision des refactorisations Go to declaration, Find usages et Rename a été améliorée pour les projets utilisant RBS. RubyMine s'appuie sur les déclarations .rbs
pour définir les relations entre les entités du projet au lieu de montrer tous les cas d'utilisation possibles.
Vous pouvez maintenant naviguer entre les fichiers .rb
et .rbs
correspondants à l'aide de nouvelles actions de navigation. Faites un clic droit sur une entité du projet, une classe ou une méthode par exemple, et sélectionnez Go to / Type Signature | Associated Declaration. Vous pouvez également utiliser le raccourci Ctrl+Alt+Accueil.
RubyMine utilise les signatures RBS pour déterminer les types d'éléments Ruby et fournir une saisie semi-automatique du code plus efficace. RubyMine prend maintenant en charge la plupart des entités RBS existantes, notamment les variables de types, les paramètres de blocs, les types de tuples et les types de proc.
Pour les parties du code sans signature de type RBS associée, RubyMine utilisera toujours sa propre inférence de type.
L'accès aux informations stockées dans les fichiers .rbs
permet à RubyMine de détecter davantage d'erreurs potentielles dans le code Ruby. RubyMine affiche une erreur de type s'il constate un défaut de concordance entre code RBS et Ruby. Cette version ajoute également de nouvelles inspections pour les fichiers .rbs
, notamment en cas de code incorrect et de références non résolues. RubyMine permet en outre d'exécuter des commandes Steep à l'aide de Run anything.
Cette version fournit toutes les fonctionnalités essentielles pour faciliter la lecture du code RBS : mise en évidence syntaxique, mise en forme, indentation automatique, pliage du code, vue de la structure et création de commentaires avec le raccourci Ctrl+/.
RubyMine fournit maintenant une assistance au codage pour travailler avec les fichiers RBS : saisie semi-automatique, recherche d'utilisations, navigation dans le code, refactorisations rename, etc. Vous pouvez également créer des prototypes .rbs
et vos propres live templates pour RBS.
Nous avons mis à jour les descriptions de la totalité des inspections et correctifs rapides que RubyMine peut réaliser. Les descriptions mises à jour détaillent les modifications suggérées par l'inspection et les raisons qui les justifient. Certaines inspections sont accompagnées d'exemples d'utilisation.
RubyMine prend maintenant en charge le lancement d'actions spécifiques lors de la sauvegarde de modifications, par exemple la remise en forme du code. Vous trouverez toutes les actions proposées dans Preferences / Settings | Tools | Actions on Save.
Les fichiers temporaires vous permettent de prendre des notes ou de créer un brouillon de code en dehors du contexte du projet. À partir de cette version, vous pouvez sélectionner du code, appuyer sur Alt+Entrée, et choisir Create new scratch file from the selection pour créer rapidement un nouveau fichier temporaire contenant ce code.
Local History permet un suivi constant de toutes les modifications apportées à un projet, indépendamment du contrôle de version. Dans cette version, nous avons ajouté une fonctionnalité de recherche à Local History. Dorénavant, si vous vous souvenez de certains mots-clés de la modification que vous recherchez, vous pouvez la retrouver plus facilement.
Vous pouvez désormais inclure à la fois l'année de création du projet et l'année de la version actuelle dans la notice de copyright d'un projet. Le modèle mis à jour qui contient les deux dates est disponible dans Preferences/Settings | Editor | Copyright | Copyright profile.
Nous avons ajouté un nouveau nœud à Preferences | Settings : Advanced Settings. Il contient certaines options pour des cas d'utilisation spécifiques, regroupées par catégories d'outils d'IDE. Par exemple, les paramètres liés à Project View, Startup, Terminal, etc.
Les navigateurs peuvent désormais recharger automatiquement les pages lorsque vous enregistrez les modifications apportées aux fichiers HTML, CSS et JavaScript correspondants.
Vous pouvez maintenant glisser et déposer une fenêtre d'outils à l'emplacement souhaité dans la fenêtre principale de l'IDE ou dans une fenêtre séparée.
Il est désormais possible de naviguer en avant et en arrière entre les sections ouvertes dans Preferences/Settings. Pour ce faire, utilisez les flèches situées en haut à droite de la fenêtre.
L'onglet d'aperçu fonctionne désormais pour les fichiers qui s'ouvrent pendant le débogage : ces fichiers apparaîtront l'un après l'autre dans un seul onglet d'aperçu. Pour activer cette fonctionnalité, cochez la case Enable preview tab dans Preferences/Settings | Editor | General | Editor Tabs | Opening Policy.
Nous avons amélioré notre terminal intégré avec deux nouvelles options : la possibilité de sélectionner la forme du curseur et la prise en charge de Use Option as Meta key. Les deux se trouvent dans Preferences/ Settings | Tools | Terminal.
Nous avons ajouté de nouvelles actions que vous pouvez à effectuer avant un commit : Run Tests, Analyze code et Cleanup. La progression et les résultats de toutes les vérifications préalables au commit apparaissent dans la zone Commit afin de ne pas vous déranger avec des fenêtres modales supplémentaires.
Vous pouvez maintenant signer vos commits avec une clé GPG pour les sécuriser. Cette fonctionnalité est disponible dans Preferences / Settings | Version Control | Git. Si c'est la première fois que vous utilisez une clé GPG, vous devrez la configurer. Pour utiliser une clé GPG préconfigurée, sélectionnez-la simplement dans la liste déroulante.
RubyMine affiche désormais la différence entre le fichier initial et le fichier modifié dans l'éditeur. Quelle que soit la manière dont vous appelez l'action Show Diff, l'IDE ouvrira le diff dans l'éditeur par défaut. Si vous préférez suivre les modifications dans une fenêtre séparée, vous pouvez faire glisser le fichier souhaité depuis l'éditeur. Dans ce cas, l'IDE s'en souviendra et ouvrira les diffs ultérieurs dans une fenêtre séparée.
Pour vous aider à voir la progression d'une tâche d'un simple coup d'œil à la liste des commits, nous avons ajouté des icônes pour les états des tâches Space dans l'onglet Log de la fenêtre d'outils Git. Cliquez sur une icône pour ouvrir une fenêtre contextuelle avec les informations d'automatisation pour cet job.
Pour activer et désactiver ces informations, cliquez sur l'icône œil dans le Log, puis sélectionnez Show Columns | Space Automation.
Vous pouvez désormais informer vos collaborateurs en les mentionnant rapidement dans les révisions Space, directement depuis RubyMine. Saisissez @ suivi du nom de la personne dans la chronologie ou les commentaires du code, puis sélectionnez-la dans la liste.
Il est maintenant possible de voir quelles branches sont associées à la révision de code sélectionnée. L'onglet Details affiche une liste des branches qui contiennent les commits effectués pendant le travail sur le ticket en cours.
Avec Code With Me, vous pouvez expliquer un problème ou montrer aux membres de votre équipe différentes parties de votre projet. Pour cela, utilisez le mode Force Others to Follow You. Les personnes qui vous suivent peuvent ainsi voir les suggestions de saisie de code que vous utilisez.
require()
Saviez-vous que votre IDE peut ajouter les déclarations d'importation manquantes lorsque vous complétez les symboles ES6 ? Maintenant, il peut faire la même chose pour les modules CommonJS : les importations require
seront insérées lors de la saisie du code.
Ne perdez plus de temps à refactoriser les valeurs et fonctions useState
une par une dans les hooks React –RubyMine peut désormais les renommer pour vous. Pour l'essayer, placez le curseur sur une valeur d'état et appelez la refactorisation Rename avec Maj+F6 ou en cliquant sur Refactor | Rename dans le menu contextuel.
.js
correctement. classnames
et les bibliothèques clsx
populaires, ce qui permet de mieux gérer les noms de classe CSS. className
évaluées dynamiquement dans vos composants CSS Tailwind.