Bonjour, Habr!
La saison des mises à jour estivales de l'IDE basé sur IntelliJ continue, et dans cette série, nous vous dirons ce que RubyMine a appris dans les versions 2018.1 et récemment publié
RubyMine 2018.2 .

Table des matières
Exécuter / déboguer n'importe quoiComplétion du code PostfixRendu des graphiques dans MarcdownAnalyse de code amélioréePrise en charge de Chruby et améliorations pour les gestionnaires de versions RubyRedémarrage des tests ayant échouéYamlAttacher un débogueur à des processus distantsJavascriptGitAutre choseExécuter / déboguer n'importe quoi
La discussion dans notre
chat Slack personnalisé a conduit à la création d'un outil pratique pour lancer diverses configurations et commandes -
Exécuter n'importe quoi . Le principe de son travail est quelque peu similaire à
Search Everywhere . Cependant, au lieu de rechercher quoi que ce soit, Exécuter n'importe quoi en double-cliquant sur
Ctrl vous permet d'exécuter n'importe quoi: tâches de râteau,
rails s
, tests et autres configurations, ainsi que des commandes de console.

De plus, si vous appuyez sur
Shift tout en appelant Run Anything, l'outil passera en mode
Debug Anything , ce qui vous permet de lancer facilement le débogueur.

À propos, comme vous pouvez le voir, RubyMine se souvient des commandes et scripts précédemment lancés et les proposera à l'avenir dans la liste déroulante.
Plus de détails .
Complétion du code Postfix
Cette fonctionnalité vous permet de modifier, retourner et compléter des expressions sans avoir à revenir au début de la ligne, pour, par exemple, insérer une condition. Maintenant, vous pouvez simplement y mettre fin et sélectionner
if
. L'IDE mettra automatiquement la condition au début de la ligne. S'il existe plusieurs options possibles, RubyMine vous proposera de sélectionner celle dont vous avez besoin dans la liste.

Une liste complète des modèles de postfix pris en charge se trouve dans les paramètres (
Préférences / Paramètres | Editeur | Général | Achèvement de Postfix ). Vous pouvez également désactiver ceux qui ne sont pas pertinents là-bas.
Plus de détails .
Rendu des graphiques dans Marcdown
Un aperçu des fichiers de démarque a appris à dessiner des diagrammes qui sont dans le code. Insérez
puml
avant le code du graphique dans le fichier
.md
afin que RubyMine récupère la syntaxe et affiche le graphique dans un aperçu.
Plus de détails .

Notez que la prise en charge de Markdown est fournie via un
plugin compatible avec d'autres IDE JetBrains. Dans RubyMine et IntelliJ IDEA Ultimate, le plugin est installé par défaut.
Analyse de code améliorée
Nous avons considérablement réécrit l'inférence de type et le moteur d'analyse de fichier Ruby. Grâce à cela, l'auto-complétion et la navigation dans le code se sont considérablement améliorées.

Comme vous pouvez le voir sur l'image, une nouvelle action est apparue pour visualiser le type de variable. Vous pouvez l'appeler en appuyant sur
Ctrl + Maj + P (
Affichage | Type d'expression ).
Plus de détails .
Également dans la nouvelle version, l'auto-complétion et la navigation vers des modèles avec des relations polymorphes sont disponibles.
Plus de détails .

Prise en charge de Chruby et améliorations pour les gestionnaires de versions Ruby
La nouvelle version ajoute la prise en charge de chruby et asdf. Dans le même temps, tous les gestionnaires de versions pris en charge (RVM, rbenv, chruby et asdf) sont devenus disponibles lors de la connexion via WSL, Docker, ainsi que via SSH et d'autres connexions à distance.
Rappelez-vous que vous pouvez configurer le SDK distant comme suit:
Préférences / Paramètres | Langues et cadres | SDK Ruby et Gemmes | Nouvelle télécommande .

Redémarrage des tests ayant échoué
Maintenant, après avoir exécuté les tests, vous pouvez redémarrer séparément uniquement ceux qui ont échoué. Cliquez simplement sur l'icône correspondante.

Une nouvelle fonctionnalité est également disponible lors de l'utilisation de préréglages comme le
rake test
rake spec
et la
rake spec
.
Yaml
La prise en charge de YAML a été considérablement étendue pour tous les IDE basés sur IntelliJ. Tout d'abord, nous avons ajouté la possibilité de formater le code dans des fichiers
.yml
. Pour formater, utilisez la combinaison de touches ⌥⌘L / Ctrl + Alt + L (
Code | Reformater le code ).
Plus de détails .

Il y avait une navigation sur le code, l'auto-complétion et la recherche d'utilisation des ancres (
&
) et de leurs liens (
*
).

De plus, les ancres et les liens peuvent être renommés en une seule action (
Maj + F6 ). Pour éviter les conflits, l'EDI vous avertira que vous essayez d'utiliser le nom d'une ancre existante.
Plus de détails .

D'autres améliorations incluent la prise en charge du schéma JSON pour la saisie semi-automatique des configurations correspondantes dans YAML, ainsi que la possibilité de copier le chemin d'accès à la valeur dans les fichiers YAML.
Plus de détails .


Attacher un débogueur à des processus distants
Dans la version 2016.3, nous avons
annoncé la possibilité d'attacher un débogueur aux processus locaux en cours d'exécution et nous avons promis d'ajouter la possibilité de se joindre aux processus distants. Dans la dernière version, nous avons mis en œuvre la promesse!
Pour commencer le débogage, connectez-vous au serveur distant via SSH (
Préférences / Paramètres | Ruby SDK et Gems | Nouvelle télécommande | Identifiants SSH ). Assurez-vous d'inclure le chemin d'accès à l'interpréteur Ruby.

De plus, vous pouvez associer la version locale de l'application à celle qui s'exécute sur le serveur (
Modifier les mappages de chemins ). Cela simplifiera le placement des points d'arrêt n'importe où dans l'application pour un débogage ultérieur.

Vous êtes maintenant prêt à déboguer les processus distants! Pour commencer, sélectionnez
Exécuter | Attacher au processus ou rechercher l'action appropriée en appelant la fenêtre Rechercher une action (
Aide | Rechercher une action ), comme indiqué dans l'image:

En savoir plus sur la configuration du débogage des processus distants
dans notre blog .
Javascript
- Ajout d'un ensemble de nouveaux ajouts de code rapide ( Alt + Entrée ) pour JavaScript et TypeScript: implémenter l'interface, créer une classe dérivée, implémenter les membres d'une interface ou d'une classe abstraite, générer des cas pour 'switch' et autres.
- Les nouvelles fonctionnalités de TypeScript 2.9 et TypeScript 3.0 sont désormais disponibles dans l'EDI.
- Ajout d' Annotate avec le type de JSDoc et d'autres correctifs rapides du Service de langage TypeScript.
- Vous pouvez maintenant extraire des composants React ( Refactor | Extract Component ) et convertir des composants de classe en composants fonctionnels (et vice versa).
- Dans les fichiers
.vue
, la .vue
- .vue
est devenue disponible pour les événements et leurs gestionnaires.
Vous pouvez en savoir plus sur les améliorations JavaScript de la vidéo:
Git
Les fichiers contenant des conflits sont désormais commodément regroupés sous
Fusionner les conflits . En cliquant sur
Résoudre, vous devez entrer dans la boîte de dialogue
Fichiers fusionnés avec conflits .

Une autre nouvelle option pratique,
Parcourir le référentiel lors de la révision , vous permet d'afficher les versions antérieures du référentiel. Vous pouvez activer l'option en appelant le menu contextuel sur la validation nécessaire dans le journal Git. L'EDI ouvrira la fenêtre de l'outil Projet, à partir de laquelle vous pourrez accéder aux versions antérieures des fichiers d'application.

Dans la nouvelle version, vous pouvez valider les modifications en contournant la boîte de dialogue
Push . Pour ce faire, décochez la case correspondante dans
Préférences / Paramètres | Contrôle de version | Git . Si vous appuyez sur
Valider et pousser (⌥⌘K | Ctrl + Alt + K) la prochaine fois que vous validez dans la boîte de dialogue
Valider les modifications , l'EDI n'affiche pas en outre la boîte de dialogue
Push , mais envoie immédiatement les modifications au référentiel.

Autre chose
Dans la nouvelle version, vous trouverez également CoffeeScript amélioré, la possibilité d'utiliser différents comptes GitHub, des icônes mises à jour et la prise en charge de la barre tactile sur les macbooks.
Vous pouvez télécharger la nouvelle version sur la page
Quoi de neuf . Nous vous rappelons que les 30 premiers jours, vous pouvez utiliser RubyMine gratuitement.