Quoi de neuf dans RubyMine 2019.2

RubyMine 2019.2 ajoute la prise en charge de Rails 6 et Ruby 2.7, améliore la prise en charge de YARD et le débogueur, et intègre de nombreuses améliorations à la plateforme.

Débogueur

Comparaison de la vitesse du débogueur entre v2019.1 et v2019.2

Débogueur plus rapide

Notre débogueur utilisait TracePoint :line pour suivre l'exécution du programme ligne par ligne. Pour la version 2019.2, nous avions conçu une extension native pour MRI permettant au débogueur de choisir à quels fragments de code l'exécution devait être suspendue, afin d'éviter toute surcharge au reste du code. Nous avons ainsi radicalement accéléré le débogueur et implémenté les nouvelles fonctionnalités ci-dessous.

Smart step into

Smart step into

Auparavant, si vous tombiez sur une ligne avec beaucoup de méthodes dans une session de débogage, RubyMine n'était capable de s'exécuter pas à pas que dans la première méthode d'une ligne. Le nouveau Smart Step Into élimine cette restriction et vous permet de lancer des exécutions pas à pas et d'examiner chaque méthode ou appel de bloc spécifique situé sur la même ligne.

Points de rupture de bloc

Points de rupture de bloc

Avec la nouvelle version, vous pouvez définir des points d'arrêt non seulement sur des lignes mais aussi sur des blocs. Lorsque vous cliquez sur la gouttière de gauche pour définir un point de rupture sur une ligne contenant un bloc, RubyMine vous demandera si vous voulez définir un point d'arrêt sur une ligne, un bloc ou les deux.

Consultez Déboguer dans RubyMine pour découvrir en détail comment déboguer les scripts Ruby and Rails dans RubyMine.

Ruby 2.7

Reconnaissance de schémas

RubyMine 2019.2 prend en charge la reconnaissance des schémas, qui a été introduite dans le premier aperçu de Ruby 2.7 en tant que fonctionnalité expérimentale. L'IDE identifie la nouvelle syntaxe et vous aide à naviguer, à trouver les utilisations et à renommer les objets.

Plus d'informations sur la reconnaissance de schémas dans Ruby

Paramètres de bloc numérotés

Paramètres de bloc numérotés

La nouvelle version de RubyMine reconnaît la syntaxe des paramètres numérotés et affiche/trouve leurs utilisations. Ceci est une autre fonctionnalité expérimentale de Ruby 2.7 qui vous permet d'assigner des valeurs dans des blocs en utilisant un numéro de paramètre comme paramètre par défaut, au lieu de définir une variable de bloc.

Rails 6

Prise en charge Action Mailbox

Action Mailbox

RubyMine 2019.2 prend en charge Action Mailbox qui sera disponible avec Rails 6. L'IDE propose la saisie automatique des méthodes de routage et des rappels, et permet de naviguer entre leurs implémentations et leurs utilisations.

Inspections Action Mailbox

Nous avons également ajouté quelques inspections qui vous permettent de savoir si vous avez oublié d'ajouter un appel routing dans ApplicationMailbox et une méthode process dans votre mailbox. Cette dernière propose également un correctif rapide.

Plus d'informations sur l'utilisation d'Action Mailbox dans cet épisode détaillé de GoRails.

Prise en charge de l'énumération

Nous avons ajouté la bonne prise en charge du code pour ActiveRecord::Enum. Cela inclut la saisie automatique du code, la navigation et la recherche des utilisations les noms et méthodes des énumérations. Les portées négatives pour emums, introduites dans Rails 6, sont également prises en charge.

YARD

Prise en charge améliorée de YARD

Prise en charge améliorée de YARD

Nous améliorons progressivement notre prise en charge de YARD pour vous aider à créer et gérer les balises YARD et obtenir une meilleure saisie automatique du code dans RubyMine en fonction des annotations YARD. La nouvelle version ajoute des annotations et des inspections de type appropriées pour les balises @overload et @yieldparam.

Consultez la page Prise en charge de YARD dans RubyMine pour un aperçu détaillé des fonctionnalités et des nouvelles améliorations de RubyMine concernant YARD.

Bot Factory

Renommage des factory

Renommage des factory

Avec la v2019.2, vous pouvez renommer (Maj+F6) des factory, des séquences et des caractéristiques. L'IDE trouve leurs définitions et propose de les renommer ainsi que toutes les utilisations, de même que le nom du fichier s'il correspond à celui de la factory.

Nous avons également ajouté des factory, des séquences et des caractéristiques à la vue File Structure (Alt+F7 et à la fenêtre contextuelle (Ctrl + F12), ainsi que la possibilité de les supprimer sans risque (Refactor | Safe Delete).

JavaScript

Intentions de déstructuration

Nouvelles actions d'intention

La nouvelle intention Propagate to destructuring (Alt-Entrée) vous permet de remplacer une variable supplémentaire si possible par une autre déstructuration. Pour supprimer complètement une déstructuration, utilisez l'action d'intention Replace destructuring with property or index access.

Utilisations dynamiques dans l'aperçu de refactorisation

Refactorisation Rename améliorée

Lorsque vous renommez un symbole dans un fichier JavaScript ou TypeScript, l'IDE regroupe maintenant les utilisations dynamiques et, par défaut, les exclut de la refactorisation. Cela permet de rendre la refactorisation plus précise et vous donne plus de contrôle sur ce qui doit être renommé dans la fenêtre d'outils Refactoring Preview.

Props Vuetify

Meilleure prise en charge de la bibliothèque de composants Vue.js

La saisie automatique du code pour les composants et leurs accessoires depuis Vuetify, BootstrapVue, Quasar et certaines autres bibliothèques de composants Vue, est maintenant plus précise. Une nouvelle approche de la manipulation de ces bibliothèques dans l'IDE a rendu cela possible.

Inspection de code dupliqué

Recherche des doublons de code

La nouvelle inspection Duplicate code fragment vérifie votre code à la volée et met immédiatement en évidence les doublons potentiels dans l'éditeur. Cela fonctionne pour JavaScript, TypeScript, CSS, Sass, SCSS et Less.

Consultez les nouveautés de WebStorm pour en savoir plus sur les améliorations JavaScript disponibles dans RubyMine 2019.2.

Style de code

Modification des configurations de style de code

Prise en charge améliorée d'EditorConfig

Avec la v2019.2, vous pouvez gérer différents styles de code dans différentes parties de vos projets en ajoutant plusieurs fichiers .editorconfig. Hormis les options EditorConfig standards, qui sont prises en charge depuis longtemps, vous devez à présent utiliser des propriétés propres à l'IDE couvrant toutes les options de style de code de l'IDE.

Scripts shell

Modification de script shell

Modification de scripts Shell

La nouvelle version prend entièrement en charge les scripts shell. Cela inclut saisie automatique du code, la documentation rapide, le renommage textuel pour les fichiers .sh et .bash, et les configurations d'exécution des scripts shell. L'IDE intègre également ShellCheck pour le linting et shfmt pour le formatage du code.

Git

saisie automatique améliorée .gitignore

Saisie automatique dans .gitignore

Dans les fichiers .gitignore, l'IDE propose désormais des suggestions de saisie de code pour les fichiers et dossiers. Utilisez Ctrl + clic sur le nom pour accéder directement à ce fichier ou dossier dans la fenêtre d'outils Project. Vous pouvez également ajouter rapidement des fichiers au fichier .gitignore à partir de la vue Project et de l'onglet Local Changes – faites un clic droit dessus et sélectionnez Add to .gitignore.

Outils de base de données

Améliorations dans les outils de base de données - Recherche en texte intégral

Trouver des données avec la recherche plein texte

Vous pouvez maintenant rechercher les données dans vos bases de données même si vous ne connaissez pas leur emplacement. Faites un clic droit sur la source de données que vous voulez rechercher et sélectionnez Full-text Search (Ctrl+Alt+Shift+F). Les résultats de votre recherche seront filtrés pour n'afficher que les chaînes dans lesquelles se trouvent les données.

Consultez les nouveautés de DataGrip pour en savoir plus sur les autres améliorations de bases de données disponibles dans RubyMine 2019.2.

Autres améliorations

  • Prise en charge de standard gem
  • Prise en charge d'Action Text
  • Prise en charge de Cucumber 4
  • Améliorations de l'interface utilisateur dans la fenêtre d'outils Version Control