Bonjour, Habr!
GoLand 2018.2 est sorti la semaine dernière. Dans cet article, nous parlerons de ce qui est apparu dans la nouvelle version.

Quoi de neuf en bref:
- prise en charge des modules Go (anciennement appelés vgo);
- Déplacement amélioré - refactorisation et nouvelles corrections automatiques;
- reconstitution dans les familles des actions d' achèvement et d' intention de Postfix ;
- le débogueur prend désormais en charge les points d'arrêt qui ne nécessitent pas une interruption complète du programme, ainsi que le chargement différé des tableaux, des tranches et des dictionnaires.
De plus, de nombreuses améliorations sont venues de la plate-forme IntelliJ: des innovations pour les systèmes de contrôle de version et la prise en charge de la Touch Bar pour le MacBook Pro aux dernières innovations du monde du développement frontal.
Prise en charge des modules Go (vgo)
En février, l'équipe Go a annoncé une version d'essai du nouvel outil de gestion des dépendances et nous avons immédiatement décidé de commencer à travailler sur son support.
GoLand vous permet de créer des projets d'un nouveau type (
Module Go ) et propose de synchroniser les dépendances en un clic directement depuis l'éditeur de code.

En savoir plus sur la prise en charge des modules Go
ici (
article en anglais ).
Déplacer le refactoring
Dans une version précédente, GoLand a introduit Move-refactoring, qui peut rapidement déplacer n'importe quelle annonce vers un autre fichier du même package. Dans cette version, nous lui avons appris à déplacer des personnages entre les packages.
Pour voir l'image entière, nous avons ajouté une nouvelle interface qui montre les éléments dépendant de l'objet déplacé. Exportez et transférez ces dépendances avec lui.

Corrections de code rapides
De nouvelles corrections automatiques des erreurs de non-concordance de type sont apparues:
convertir en type attendu et
implémenter les méthodes manquantes .
Convertir en type attendu convertit la valeur en type attendu conformément aux
exigences de la langue :
Implémenter des méthodes manquantes en un clic ajoute des méthodes manquantes si le type attendu est une interface:

Génération de code
Les méthodes d'implémentation peuvent désormais non seulement ajouter des méthodes de l'interface aux types existants, mais également créer un nouveau type avec l'implémentation de méthodes d'interface:

Édition de code
La nouvelle action
Ajouter un alias d'importation de points vous permet de référencer tous les noms exportés sans utiliser de nom de package. L'action inverse de
Supprimer l'alias d'importation de points annule ces modifications.
Introduire la refactorisation des
variables locales est désormais disponible via Alt + Entrée. Une action rapide écrit le résultat de l'exécution des fonctions et des méthodes dans une nouvelle variable locale.

Modèles Postfix
Le nouveau modèle
.sort ajoute une méthode de tri aux tableaux et aux tranches en fonction du type d'éléments. Si les éléments sont d'un type personnalisé, la méthode
sort.Slice sera utilisée.
Pour faciliter l'utilisation, nous avons combiné les
modèles .rre et
.rrv en un nouveau -
.rr , il peut être appelé à la fois sur des expressions et sur des noms de variables.

Style de code
Après avoir étudié les recommandations des développeurs Go sur la conception du code, nous avons ajouté la mise en évidence pour les commentaires qui ne commencent pas par un espace, et avons appris à l'IDE à les formater, en ajoutant un espace manquant. Au bout d'un moment, il est devenu clair que certaines bibliothèques (par exemple
easyjson ), au contraire, nécessitent leur absence!
Pour les bibliothèques ayant une exigence similaire, nous avons ajouté une liste d'exceptions pour l'option
Ajouter un espace de tête aux commentaires . Cela permet d'éviter les espaces inutiles, il suffit de faire les préfixes nécessaires. Inclus ici:
Paramètres / Préférences | Editeur | Style de code | Allez | Autre .

Débogueur
Dans la nouvelle version, le débogueur prend en charge les points d'arrêt qui ne nécessitent pas une interruption complète du programme. Les valeurs des tableaux, des tranches et des dictionnaires sont chargées paresseusement et les structures peuvent désormais être développées sans restrictions sur le niveau d'imbrication.

Observateurs de fichiers
Une amélioration légère mais très agréable est apparue dans
File Watchers dans cette version. Auparavant, il était nécessaire de configurer
File Watchers pour chaque projet séparément, maintenant les paramètres peuvent être réutilisés entre les projets.

Système de contrôle de version
Brièvement sur la résolution des conflits de fusion: il est facile de faire une erreur, le problème n'est pas facile à trouver et difficile à résoudre. Nous avons décidé de rendre ce processus moins pénible, de sorte que le système de contrôle de version regroupe désormais les fichiers avec des conflits de fusion pour chaque liste de modifications. La boîte de dialogue
Fichiers fusionnés avec conflits améliorée affiche les noms des branches lors de l'exécution de
Pull ,
Merge ou
Rebase et regroupe les fichiers dans des répertoires.

Il existe de nombreuses améliorations pour la fenêtre
Journal , vous pouvez maintenant:
- Ouvrez autant de fenêtres de journal que vous le souhaitez;
- Supprimez la balise git du commit;
- Filtre les validations par branches sélectionnées;
- Explorez le panneau d'aperçu des différences sans quitter la fenêtre Journal ;
- Surveillez l'état du référentiel avec la nouvelle action Parcourir le référentiel à la révision .

En plus des modifications apportées à la fenêtre
Journal , VCS s'est amélioré de plusieurs autres façons.
Par exemple, dans la nouvelle version, vous pouvez valider et pousser les modifications en un seul clic sans la boîte de dialogue
Push :

Et gérez également n'importe quel nombre de comptes GitHub sans basculer entre eux:

Interface utilisateur
Les propriétaires du MacBook Pro, ne passent pas: GoLand 2018.2 prend en charge la Touch Bar. Tous les outils disponibles pour l'écran tactile peuvent être personnalisés pour s'adapter à vos tâches:
Paramètres | Apparence et comportement | Menus et barres d'outils .

Autre nouveauté pour les utilisateurs de macOS: les titres des fenêtres peuvent désormais être obscurcis. Pour ce faire, activez l'option
Utiliser les en-têtes de fenêtres sombres dans
Paramètres | Apparence et comportement | Apparence .

Les icônes ont changé de couleur, de forme et de style. Les détails peuvent être trouvés
dans cet article (
en anglais ) de notre équipe de conception d'interface: ils partagent comment ils ont pris des décisions et ce qu'ils envisagent de faire à l'avenir.
JavaScript / TypeScript
Par tradition, nous parlons un peu des changements dans le support des technologies frontales, en voici quelques-uns des plus importants:
- Prise en charge de TypeScript 2.9 et TypeScript 3.0;
- Nombreuses nouvelles actions d' intention : implémenter une interface , créer une classe dérivée , implémenter des membres d'une interface ou d'une classe abstraite , générer des cas pour «basculer» et itérer avec «pour ... de» .
- Vous pouvez maintenant trouver tout le code inutilisé avec la nouvelle fonctionnalité de couverture de code.
Vous pouvez en savoir plus sur ces améliorations et d'autres sur la page
Nouveautés de l'équipe WebStorm.
C'est tout! Comme toujours, nous serons heureux d'entendre votre avis ici dans les commentaires, sur
Twitter ou dans le
bug tracker :)
Vous pouvez télécharger la mise à jour sur la page de
téléchargement ou via l'
application Toolbox .
Au cas où, je vous rappelle que si vous utilisez déjà IntelliJ IDEA Ultimate, alors toutes les fonctionnalités de GoLand sont disponibles juste là, il vous suffit d'installer ce
plugin .
Merci de votre attention!