Nouveautés de RubyMine 2020.3

RubyMine  : prise en charge du staging Git, meilleure gestion des onglets dans l'éditeur, instructions interactives et watches inline dans le débogueur, et beaucoup d'autres nouvelles fonctionnalités pour la dernière version de Ruby, Rails, le terminal, la couverture du code et les outils de base de données.

Éditeur de code

Divisez l'écran de l'éditeur, glissez-déposez les onglets

Il est maintenant beaucoup plus pratique de travailler avec de multiples onglets côte à côte. Vous pouvez en effet diviser l'écran de l'éditeur lors de l'ouverture de votre fichier en appuyant sur Maj+Entrée. Cela fonctionne pour les fichiers dans la vue Project et dans la fenêtre contextuelle Search Everywhere. Vous pouvez également glisser-déposer des onglets de fichiers pour diviser l'écran de l'éditeur verticalement ou horizontalement et déplacer les onglets entre les différentes sections.

Améliorations pour les onglets épinglés

Améliorations pour les onglets épinglés

Les onglets épinglés restent désormais placés sur le côté gauche de la barre d'onglets. Vous pouvez également conserver tous vos onglets épinglés sur une seule ligne. Pour ce faire, cliquez sur Preferences / Settings | Editor | General | Editor Tabs et cochez Show pinned tabs in a separate row. Une nouvelle icône indique qu'un onglet est épinglé. Pour désépingler un fichier, cliquez sur cette icône.

Amélioration de l'édition et de l'aperçu Markdown

Amélioration de l'édition et de l'aperçu Markdown

Pour mettre en forme vos fichiers Markdown, utilisez Ctrl+Alt+L.

Pour personnaliser le format Markdown, allez dans Preferences / Settings | Editor | Code Style | Markdown. Le bouton Auto-Scroll Preview en haut à droite de l'éditeur vous permet de synchroniser le défilement du volet d'aperçu avec celui de l'éditeur. Nous avons également ajouté la prise en charge de Mermaid.js.

Expérience utilisateur

Nouvel écran de bienvenue

Nouvel écran de bienvenue

RubyMine 2020.3 fournit un écran de bienvenue remanié. Vous pouvez maintenant accéder à vos projets et les organiser dans l'onglet Projects, configurer l'interface de l'IDE dans l'onglet Customize, gérer les plugins dans l'onglet Plugins et accéder aux ressources de formation dans l'onglet Learn RubyMine.

Thème de l'IDE synchronisé avec les paramètres du système d'exploitation

Thème de l'IDE synchronisé avec les paramètres du système d'exploitation

RubyMine peut désormais synchroniser son thème avec celui de votre système d'exploitation. Sélectionnez l'option Sync with OS dans Preferences / Settings | Appearance & Behavior | Appearance | Theme, puis cliquez sur l'engrenage pour sélectionner votre thème préféré. Votre IDE passera automatiquement au thème clair ou au thème sombre, en fonction des préférences de votre système d'exploitation.

Mode Lecteur

Mode Lecteur

Ce mode améliore la lisibilité des fichiers en lecture seule et des fichiers de bibliothèques externes. Vous pouvez l'activer et le désactiver en cliquant sur l'icône livre située dans le coin en haut à droite de l'éditeur. Pour personnaliser les paramètres du mode Lecteur, cliquez sur Preferences / Settings | Editor | Reader Mode.

Améliorations de LightEdit

Améliorations de LightEdit

Nous avons ajouté l'option -e (--edit) pour ouvrir les fichiers en mode LightEdit à partir de la ligne de commande. Lorsque vous ouvrez RubyMine à partir de la ligne de commande, tapez -e suivi du nom du fichier que vous souhaitez ouvrir ou exécutez simplement -e sans nom de fichier pour rouvrir votre précédente session.

En savoir plus

Correctifs rapides des erreurs de frappe

Correctifs rapides des erreurs de frappe

RubyMine 2020.3 réduit les risques de fautes de frappe dans votre texte. Les correctifs suggérés sont maintenant affichés directement dans le menu Alt+Entrée, tout comme les correctifs rapides pour le code.

De plus, une nouvelle action Transpose échange le caractère actuel avec celui qui le suit.

Mises à jour dans Search everywhere

Mises à jour dans Search everywhere

La boîte de dialogue Search Everywhere comporte maintenant un nouvel onglet Git. Vous pouvez lancer des recherches dans les branches, hachages, messages de commit et balises. Vous pouvez également effectuer des calculs mathématiques simples directement dans le champ de recherche.

Prévisualiser les fichiers

Prévisualiser les fichiers

Pour trouver rapidement les fichiers que vous recherchez, vous pouvez désormais utiliser l'aperçu des fichiers. Pour prévisualiser un fichier, sélectionnez-le dans la vue Project et appuyez sur Espace. Vous pouvez également configurer l'IDE afin d'afficher immédiatement un aperçu lorsqu'un fichier est sélectionné. Pour activer cette fonctionnalité, cliquez sur l'icône engrenage dans la vue Project et sélectionnez Enable Preview Tab et Open Files with Single Click.

Ruby

Prise en charge de Ruby 3.0

Prise en charge de Ruby 3.0

RubyMine 2020.3 propose une prise en charge basique de la nouvelle syntaxe fournie avec la preview de Ruby 3.0. Vous pouvez déjà essayer la plupart des nouvelles fonctionnalités de langage, par exemple, les définitions de méthodes sans mot-clé end.

Veuillez noter que la prise en charge de Ruby 3.0 n'est pas finalisée. Des fonctionnalités telles que l'assistance au codage et la prise en charge de RBS ne seront totalement implémentées qu'après sa sortie. Nous surveillons de près son évolution et prévoyons de la prendre en charge entièrement dans les versions 2021 de RubyMine.

Le terminal utilise la version Ruby spécifiée pour le projet

Le terminal utilise la version Ruby spécifiée pour le projet

Si vous travaillez sur plusieurs projets, il est possible qu'ils utilisent des versions différentes de Ruby. L’émulateur de terminal intégré de RubyMine utilise désormais la version de Ruby sélectionnée pour le projet en cours. Il précise également quelle est la version utilisée lorsque vous lancez une instance de terminal.

Prise en charge des interpréteurs avec environnement personnalisé

Prise en charge des interpréteurs avec environnement personnalisé

RubyMine vous permet désormais de configurer des environnements personnalisés pour vos projets à l'aide d'outils tels que shadowenv ou direnv . Cette fonction est notamment utile lorsque vous avez plusieurs projets nécessitant chacun des variables d'environnement différentes. Toutes les commandes Ruby exécutées avec RubyMine le seront à l'aide des variables d'environnement fournies.

En savoir plus

Prise en charge de la console Pry

Prise en charge de la console Pry

Vous pouvez maintenant utiliser Pry à la place d'IRB dans RubyMine. Assurez-vous que la gem pry est installée dans votre projet, puis cliquez sur Tools | Run Pry pour lancer la console.

Rails

Prise en charge améliorée du routage Rails

Meilleure prise en charge du routage Rails

Nous avons considérablement simplifié l'utilisation de routes.rb.
Utilisez Ctrl+Alt+Home pour naviguer rapidement entre une route dans routes.rb et ses modèles, vues et contrôleurs associés. Ctrl+clic sur une méthode dans routes.rb permet d'accéder directement à la méthode associée dans un contrôleur.

Nous avons amélioré la saisie semi-automatique pour routes.rb. Par exemple, cela fonctionne maintenant pour tous les helpers Match et HTTP (tels que get, post, put, etc.), resources, namespace, et scope).

Prise en charge de structure.sql

Prise en charge de structure.sql

RubyMine 2020.3 fournit la prise en charge de structure.sql pour les projets qui l'utilisent à la place d'un fichier schema.rb. Vous pouvez maintenant utiliser la saisie semi-automatique pour les modèles qui dépendent du fichier structure.sql. Vous pouvez également naviguer entre vos entités Rails et structure.sql en utilisant Ctrl+Alt+Home.

Contrôle de version

Prise en charge du staging Git

Prise en charge du staging Git

RubyMine prend désormais en charge le staging des modifications directement dans l'IDE. Vous pouvez ajouter ou retirer des fichiers à la zone de staging en cliquant sur les icônes + et - dans la vue Commit. Vous pouvez également gérer le staging depuis la gouttière ou dans la vue Diff.

Pour activer cette fonctionnalité, cliquez sur Preferences / Settings | Version Control | Git et sélectionnez Enable staging area.

En savoir plus

Remaniement du menu VCS

Remaniement du menu VCS

Nous avons renommé et réorganisé les actions de contrôle de version dans le menu principal pour faciliter l'accès aux opérations VCS les plus courantes. Par exemple, si votre projet utilise uniquement Git, le menu VCS ressemblera à ceci :

Run configurations

Stocker et partager des modèles de configuration d'exécution ou de débogage run/debug

Stocker et partager des modèles de configuration d'exécution ou de débogage run/debug

Vous pouvez désormais partager les configurations d'exécution avec vos collaborateurs à l'aide d'un système de contrôle de version.

Les configurations d'exécution peuvent être enregistrées en tant que fichiers XML et ajoutées à un VCS. Pour ce faire, cliquez sur Run | Edit Configurations, sélectionnez la configuration que vous souhaitez partager, choisissez l'option Store as a project file et cliquez sur Apply.

En savoir plus

Tests

Couverture du code pour les branches et sous-processus

Dans les projets qui utilisent simplecov pour l'analyse de la couverture de code, RubyMine affiche désormais des informations sur la couverture des branches et des sous-processus.

En savoir plus

Améliorations pour FactoryBot

Vous pouvez maintenant naviguer entre une factory et ses entités associées grâce à Ctrl+Alt+Home. La saisie semi-automatique du code suggère des attributs de modèle pour les stratégies Factory Bot comme build et create.

Débogueur

Instruction interactives

Instruction interactives

Le mode débogage dispose d'instructions inline interactives pour les variables. Vous pouvez cliquer sur ces instructions pour modifier la valeur du champ d'une variable. Il suffit de cliquer sur Set Value, modifier la valeur du champ et appuyer sur Entrée.

Watches inline

Watches inline

RubyMine 2020.3 fournit un nouveau type d'expression de watch. Ces expressions seront associées à un contexte particulier et affichées directement dans l'éditeur. Vous pouvez les ajouter avec les instructions inline : ouvrez une instruction et cliquez sur Add Inline Watch. La gestion des watches inline peut se faire avec un nouveau nœud Inline Watches dans l'onglet Variables de la fenêtre d'outils Debug.

Outils de base de données

Prise en charge de Couchbase

Prise en charge de Couchbase

RubyMine 2020.3 prend en charge une base de données supplémentaire : Couchbase ! Veuillez noter que cela inclut la prise en charge du service Couchbase Query, mais pas du service Couchbase Analytics.

SQL pour MongoDB

SQL pour MongoDB

Vous pouvez désormais utiliser SQL pour interroger des bases de données MongoDB.

Code With Me

Prise en charge du développement collaboratif à distance et de la programmation en binôme

Prise en charge du développement collaboratif à distance et de la programmation en binôme

RubyMine 2020.3 prend en charge Code With Me (version EAP), le nouvel outil de JetBrains pour le développement collaboratif à distance et la programmation en binôme. Il vous permet de partager un projet ouvert dans votre IDE avec d'autres personnes et de travailler dessus ensemble en temps réel.

Veuillez noter que Code With Me est actuellement en phase de développement et que plusieurs problèmes ont été identifiés. N'hésitez pas à nous signaler tout problème rencontré et à voter pour les correctifs et les fonctionnalités dont vous avez besoin !

En savoir plus

Autres améliorations

  • Nous avons mis à jour plusieurs paramètres de style de code de RubyMine afin qu'ils correspondent au style par défaut de RuboCop.
  • Lorsque vous ouvrez un fichier à partir de la vue Project, le focus est automatiquement placé sur l'éditeur pour vous permettre de commencer à travailler directement avec votre code.
  • Les deux boutons les plus utilisés (Commit and Commit and Push…) sont maintenant situés sur l'écran Commit.
  • Les patchs sont désormais créés au format Git par défaut, au lieu du format du VCS utilisé dans le projet.
  • RubyMine corrige automatiquement les symboles non autorisés dans les noms de branches.
  • Vous pouvez maintenant voir toutes les actions liées à la branche dans son menu contextuel.
  • Vous pouvez désormais configurer un template personnalisé qui crée plusieurs fichiers simultanément.
  • Vous avez aussi la possibilité d'exporter une requête HTTP vers cURL.
  • Nous avons mis à jour le format des requêtes HTTP. Pour convertir une requête HTTP existante au nouveau format, sélectionnez-la dans la vue Project, puis sélectionnez Convert Legacy REST Client File to New Format dans le menu contextuel.
  • Prise en charge améliorée de Swagger, avec notamment la prise en charge de Swagger Hub, des références externes et diverses améliorations de l'analyse du code.
  • Amélioration de la prise en charge de Kubernetes.