Ruby
Prise en charge des nouvelles fonctionnalités de langage
RubyMine 2022.1 apporte la prise en charge des nouvelles fonctionnalités de Ruby et de RBS introduites dans Ruby 3.1. Cette prise en charge concerne notamment les génériques bornés, RBS collection, le transfert des arguments de blocs anonymes, et les alias de types génériques.
Nouvelles inspections
Cette version ajoute plusieurs nouvelles inspections qui vérifient l'utilisation des variables de types dans RBS. Elles signalent les signatures de types manquantes, l'utilisation d'arguments de types non valides, les variations de variables de types conflictuelles et les variations d'arguments de types incorrectes, entre autres.
Surcharges dans la documentation rapide
RubyMine peut maintenant afficher les surcharges dans la recherche de la documentation rapide (Ctrl+Q). Lorsque vous appelez la documentation rapide sur une méthode, elle affiche la surcharge correspondante actuelle.
Conseils d'insertion pour les méthodes Ruby basées sur RBS
RubyMine affiche maintenant des conseils d'insertion pour le code Ruby, basés sur les signatures de types des fichiers RBS correspondants. En cliquant sur un conseil, vous accédez à la signature de type correspondante.
Correctif rapide pour les problèmes de correspondance des signatures de types
RubyMine signale les types inférés dans le code Ruby qui ne correspondent pas au type attendu de RBS. À partir de la version 2022.1, vous pouvez rapidement naviguer vers le fichier RBS correspondant dans de tels cas.
Amélioration de la saisie semi-automatique pour la balise YARD @overload
RubyMine comprend la balise @overload et suggère toutes les surcharges déclarées lorsqu'il affiche les informations sur les paramètres. À partir de cette version, la saisie semi-automatique pour la balise @overload ajoute le nom d'une méthode que vous décrivez.
Expérience utilisateur
Boîte de dialogue New Project remaniée
JetBrains a retravaillé l'interface de la boîte de dialogue New Project afin de simplifier la création de nouveaux projets, tant pour les débutants que pour les utilisateurs plus expérimentés.
Prise en charge des nouvelles options generate de Rails 7
Cette version apporte la prise en charge des nouvelles options du framework JavaScript pour la génération de projets, qui ont été ajoutées dans Rails 7. Vous pouvez désormais les sélectionner lors de la création d'un nouveau projet à l'aide de la boîte de dialogue New Project.
Nouvelle fenêtre d'outils Notifications
JetBrains a remplacé le journal Event Log par une nouvelle fenêtre d'outils Notifications. Cela permet d'avoir une meilleure vue d'ensemble des notifications de l'EDI pour ne rien manquer d'important. Toutes les notifications qui s'affichent dans la fenêtre d'outils sont désormais réparties en deux catégories : Suggestions et Timeline.
Mise à jour de la boîte de dialogue Open File or Project
JetBrains a supprimé l'arborescence de la boîte de dialogue Open File or Project afin que l'EDI ne calcule plus tous les nœuds de répertoire intermédiaires à l'ouverture. Cette modification améliore les performances globales de l'EDI en évitant les blocages persistants causés par les calculs de chemins sans issue.
Libellés des onglets masqués dans le débogueur
Afin de maximiser l'espace utilisable dans la fenêtre d'outils Debugger, les libellés des onglets sont maintenant masqués par défaut.
Mise à jour de la boîte de dialogue Structural Search and Replace
JetBrains a remanié la boîte de dialogue Structural Search and Replace afin de présenter une liste de tous les modèles et de faciliter la navigation entre eux.
Éditeur
Nouvelle option de mise en forme pour indenter les modificateurs de visibilité
Vous pouvez désormais définir l'indentation des modificateurs de visibilité (public, protected, private) et du code qu'ils contiennent. Pour utiliser ce paramètre, cliquez sur Preferences/Settings | Editor | Code Style | Ruby | Tabs and Indents et cochez la case Indent visibility modifiers.
Mise en forme du code en mode LightEdit
Le mode LightEdit permet de modifier des fichiers sans créer ou charger un projet complet. Vous pouvez désormais mettre votre code en forme en étant en mode LightEdit. Pour ce faire, appuyez sur Ctrl+Alt+L ou cliquez sur Code | Reformat Code dans le menu principal.
Exécuter des commandes à partir des fichiers Markdown
Nous avons ajouté une nouvelle icône gouttière à côté des commandes shell pour les fichiers Markdown. Cliquer sur cette icône permet d'exécuter une commande dans le terminal intégré de RubyMine. Cela peut servir si vous suivez des instructions comme les fichiers README, qui contiennent souvent des commandes shell.
Copy code snippet pour Markdown
Vous pouvez utiliser la nouvelle action Copy code snippet pour copier le contenu d'un bloc dans le presse-papiers.
Ajout d'actions dans la barre d'outils de l'éditeur Markdown
De nouvelles options pour la barre d'outils flottante s'affichent quand vous sélectionnez du texte lors de la modification de fichiers Markdown. Grâce à cette barre d'outils, vous pouvez désormais sélectionner des styles d'en-tête et créer des listes rapidement.
Tests
Navigation vers des contextes et des exemples partagés dans RSpec
Vous pouvez désormais naviguer, à partir de vos spécifications, vers les contextes partagés et les exemples partagés utilisés dans ces contextes. Pour ce faire, utilisez Ctrl+clic<0> sur une déclaration qui ajoute une ressource partagée : include_context, include_examples, it_behaves_like ou it_should_behave_like.
Docker
Nouvelle interface utilisateur pour la vue Services
JetBrains a considérablement remanié l'interface utilisateur de Docker dans la fenêtre d'outils Services. Cette refonte concerne les conteneurs, les images, les réseaux et les volumes.
Prise en charge de Docker Registry V2
JetBrains a ajouté la prise en charge de l'API HTTP V2 de Docker Registry pour une utilisation avec Docker 1.6 et ses versions ultérieures. Vous pouvez ainsi créer des registres Docker V2 simples ou protégés par mot de passe et effectuer des actions comme afficher, pousser et extraire des images.
Contrôle de version
Mise à jour d'Annotate with Git Blame
JetBrains a amélioré la fonctionnalité d'Annotate with Git Blame afin de faciliter l'examen des modifications. RubyMine met en évidence les différences entre les lignes dans l'éditeur lorsque vous survolez une annotation et vous pouvez ouvrir la fenêtre d'outils Git Log en cliquant sur l'annotation.
Git File History : nouvelle interface utilisateur sans index
La nouvelle interface utilisateur de la fenêtre d'outils Git File History est désormais indépendante du processus d'indexation. Les données sont représentées avec une nouvelle interface même si l'index Log est désactivé.
Web et Frameworks
Meilleure prise en charge de Next.js
Grâce à la prise en charge intégrée de React, toutes les fonctionnalités principales doivent déjà fonctionner dans vos projets Next.js. RubyMine 2022.1 ajoute la prise en charge de certains aspects spécifiques au framework, comme les pages. L'EDI résout les chemins utilisés dans la propriété href de vos composants Link ainsi que dans les balises form et autres. La saisie semi-automatique du code, la navigation et les refactorisations fonctionnent également à présent.
Prise en charge de Volta
Cette version apporte une intégration complète avec Volta, un gestionnaire d'outils JavaScript. RubyMine reconnaît ainsi automatiquement Yarn et npm s'ils sont installés à l'aide de Volta.
Autres améliorations
- Pour faciliter la navigation dans l'onglet Log, le lecteur d'écran lit désormais les noms et les descriptions des arborescences de branches.
- La prise en charge de l'accessibilité pour les utilisateurs de macOS a été améliorée. JetBrains a résolu le problème concernant VoiceOver, qui provoquait plusieurs répétitions inutiles des éléments d'une liste. De plus, VoiceOver peut désormais lire les listes déroulantes, et nous avons corrigé le positionnement incorrect du curseur VoiceOver sur un écran externe.
- Il est maintenant plus facile de travailler avec les suggestions de modifications. JetBtrains a ajouté la possibilité d'appliquer ou de valider des modifications localement, directement dans l'EDI.
- Lorsque vous travaillez avec des bases de données, vous pouvez désormais sélectionner plusieurs tables et les copier dans un autre schéma.
- JetBrains inaugure une nouvelle intention permettant de travailler avec les requêtes de base de données : Convert To Subquery. Désormais, il n'est même plus nécessaire de sélectionner une requête : il suffit d'appuyer sur Alt+Entrée | Convert To Subquery.
- On note encore la prise en charge de la logique de résolution pour les superclasses RBS, qui a été mise à jour pour plus de cohérence avec Ruby.
- JetBrains a supprimé la prise en charge de Rails 3.
- Le mot-clé extend ajoute des méthodes à une classe singleton et ne doit pas avoir accès aux variables de types. RubyMine affiche désormais une erreur si on essaye d'utiliser des variables de types avec extend.
- JetBrains a modifié le volet Commit Details dans la fenêtre d'outils Git. Il comprend désormais des informations sur les signatures GPG et l'état du build. Auparavant, ces données étaient seulement affichées dans une colonne du Git Log.
- JetBrains a ajouté la prise en charge de Corepack, un outil Node.js expérimental qui permet d'utiliser Yarn et pnpm sans avoir à les installer. Pour l'essayer, assurez-vous d'exécuter corepack enable dans le terminal intégré. La fonctionnalité n'est pas activée par défaut.
- La saisie semi-automatique du code CSS de Tailwind fonctionne désormais dans les modèles FreeMarker.
- JetBrains a supprimé les modèles de fichiers HTML4 et XHTML, car ils n'étaient pas très utilisés.
- L'assistance au codage de Webpack fonctionne maintenant avec les modules ES dans vos fichiers webpack.config.js.
- L'outil de mise en forme en ligne de commande prend désormais en charge le mode dry run pour valider les fichiers de projets.
- Vous pouvez maintenant configurer les onglets fractionnés afin qu'ils aient la même largeur. Pour cela, cochez la nouvelle option Equalize proportions in nested splits dans Preferences / Settings | Advanced Settings.
- Il est désormais possible d'exporter des diagrammes UML sous forme de fichiers yEd .graphml, JGraph .drawio, Graphviz .dot, Graphviz .dot avec positions, Mermaid .md, Plantuml et IDEA .uml, ce qui les rend compatibles avec des outils tiers. Pour exporter, utilisez l'action correspondante du menu contextuel accessible par un clic droit.
Nouveautés et téléchargement de RubyMine 2022.1