Bonjour, Habr!
Il y a deux semaines, nous avons publié GoLand 2019.1 et sommes pressés de vous parler des dernières nouveautés de cette version.

Analyse des performances du code
Nous avons ajouté l'intégration avec les profileurs de mémoire, CPU, Mutex et Block! Vous pouvez maintenant démarrer n'importe lequel d'entre eux en cliquant sur un bouton et analyser les résultats du profilage sans quitter l'EDI.
Cette nouvelle action est disponible dans le menu Exécuter , dans le panneau de navigation et dans le menu contextuel des icônes d'exécution de test. Voir les résultats du profilage de code dans la fenêtre Profiler ( Affichage | Fenêtres d'outils | Profiler ).
Pour une image plus claire des problèmes de performances, utilisez les onglets Flame Chart , Call Tree et Method List. De plus , pour chaque type de profileur, nous avons ajouté des métriques correspondant à son type. Par exemple, le profileur de mémoire vous permet de trier et d'examiner les résultats en fonction des mesures Objets alloués, Espace alloué , Objets en cours d'utilisation et Espace en cours d'utilisation .
De plus, à partir de la fenêtre Profiler, vous pouvez accéder au code source en une seule action en appuyant sur la touche F4 .
En savoir plus sur le profilage des applications et des tests dans GoLand ici (en anglais).

Débogage
Dans cette version, de nombreuses fonctionnalités diverses pour le débogueur sont apparues.
La nouvelle action Smart Step Into facilite le débogage d'une chaîne d'appels et d'appels à des méthodes imbriquées. Il fait l'appel nécessaire dans l'expression, passant automatiquement sur les méthodes qui ne vous intéressent pas.
Par exemple, lors du débogage du code fmt.Printf ("Mon nom est% s, je suis% d!", Me.FullName (), me.Age ()), vous pouvez immédiatement passer à l'appel Age ().
Pour déclencher cette action, appuyez sur Maj + F7 ou sélectionnez Smart Step Into dans le menu Exécuter .

Le débogueur affiche désormais par défaut des goroutines au lieu de threads. Cependant, vous pouvez rapidement basculer entre eux si nécessaire.
Utilisez l'action Copier la pile en cliquant avec le bouton droit sur goroutine pour copier la pile entière dans le presse-papiers.

Un clic droit sur une variable de type int traduira sa valeur en binaire, décimal ou hexadécimal.

Run to cursor est maintenant activé en cliquant sur le numéro de ligne pendant le débogage. Passez la souris sur une ligne pour la sélectionner et cliquez sur son numéro pour lancer Run to cursor .

Les configurations d' exécution / débogage peuvent désormais être exécutées avec sudo. Cela vous permet de déboguer des applications qui nécessitent des droits privilégiés de l'utilisateur.

Dans la version précédente, nous avons ajouté la prise en charge de l'analyse des vidages de mémoire. Vous pouvez maintenant analyser les petits vidages de mémoire créés par Windows. Pour commencer, sélectionnez Open Core Dump dans le menu Run .

Refactorisation de code
La refactorisation de l' interface d'extraction vous aidera à créer rapidement une nouvelle interface basée sur le type sélectionné, en en extrayant les définitions de méthode nécessaires.
Dans la boîte de dialogue de refactoring, vous pouvez sélectionner les méthodes en fonction desquelles une nouvelle interface sera créée à partir de ce type. Vous pouvez y spécifier son nom et sélectionner le fichier, le dossier et le package dans lesquels cette interface sera placée.
Pour invoquer le refactoring, appuyez sur Ctrl + Alt + Maj + T sous Windows / Linux ou ^ T sous macOS et sélectionnez Extraire l'interface dans le menu contextuel.

Renommer peut désormais renommer les méthodes déclarées dans les interfaces. Lors du changement de nom de ces méthodes, GoLand proposera également de renommer leurs implémentations.
Avant d'appliquer la refactorisation, regardez ce qui se passe dans le panneau d'aperçu.

Vérification du code
Nilness Analyzer est un ensemble d'inspections qui déterminent si les variables peuvent être nulles ou non, et vous alertent des vulnérabilités potentielles et des erreurs de code que la panique d'exécution peut provoquer. Par exemple, utiliser des champs de structure via le pointeur nil, appeler des méthodes sur l'interface nil, accéder à des tranches nil, etc.



Modules Go
GoLand offre des options de complétion de code pour tous les modules qui sont dans le cache. En d'autres termes, si un module n'a jamais été importé et utilisé dans ce projet, mais que vous l'avez déjà utilisé dans un autre, GoLand s'en souvient et vous le dira.

Lors de la création d'un projet Go Module, vous pouvez désormais sélectionner le mode de vente . Ce mode vous permet d'utiliser les bibliothèques du dossier du fournisseur sans aucune dépendance externe ni connexion Internet. Cette option se trouve également dans les paramètres: Préférences | Allez | Modules Go (vgo) .

Installez n'importe quelle version de GO SDK directement à partir de GoLand
Lors de la création d'un nouveau projet dans GoLand, vous pouvez télécharger et installer n'importe quelle version du SDK, y compris les versions Beta et RC, sans quitter l'IDE.
Une fois la version sélectionnée du SDK installée, GoLand le signalera dans la fenêtre Journal des événements .

Travailler avec du code
Nous avons ajouté un ensemble d'actions pour simplifier le travail avec les déclarations de variables, constantes et types. Vous pouvez ajouter des parenthèses aux annonces ou les supprimer de là, combiner les annonces, diviser les annonces en deux groupes, les séparer par des virgules, et bien plus encore.
Voir la liste complète des actions dans les paramètres: Paramètres / Préférences | Editeur | Intentions

La nouvelle action Exporter exporte une fonction, un type, une variable ou une constante d'un autre package directement à la place de leur utilisation, sans avoir à aller à la déclaration.

Thèmes personnalisés
À partir de la version 2019.1, vous pouvez créer n'importe quel jeu de couleurs pour tous nos IDE IntelliJ IDEA. Le nouveau schéma est utilisé comme un plugin, ils sont donc également faciles à partager avec les autres. Nous n'avons pas pu résister et avons fait plusieurs de nos options: violet foncé , cyan clair et gris .

Pour savoir comment créer vos propres sujets, lisez ici:
Changements généraux
Ajout de la disposition du clavier Sublime Text aux paramètres: Préférences / Paramètres | Keymap La disposition pour VS Code peut être utilisée avec ce plugin .

La fenêtre contextuelle Emplacement récent est un nouveau centre de recherche. Il affiche une liste de tous les endroits du code de projet où vous avez apporté des modifications ou simplement lu le code. Le raccourci clavier par défaut est: Shift + Ctrl + E sur Win / Lin, ⇧⌘E sur macOS.

Sur l'écran d'accueil, nous avons ajouté des modèles de projets de développement Web tels que React App, React Native, HTML5 Boilerplate et Foundation.

Vous pouvez maintenant exporter les paramètres de style de code au format JSON. Ceci s'ajoute à l'option d'exportation XML existante: Préférences / Paramètres | Editeur | Style de code .

C'est tout! En savoir plus sur les modifications de cette version ou regarder une courte démo (en anglais):
Soit dit en passant, nous prenons souvent des idées d'améliorations à partir de vos commentaires et suggestions. Écrivez-nous ici dans les commentaires, dans notre tracker de bug ou sur Twitter .
Et juste 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!