GoLand 2019.3 consomme moins de puissance CPU pour de meilleures performances, améliore la prise en charge de ses modules Go, ajoute un lot de nouveaux correctifs rapides et optimise les refactorisations. Il est possible d'appeler une méthode pour un champ imbriqué à l'aide de Evaluate Expression et de déboguer vos applications à distance grâce à Mozilla rr.
Vous pouvez également activer un observateur de fichier global pour tous les nouveaux projets, travailler avec MongoDB, et bien plus !
Depuis la sortie de GoLand 2019.2 cet été, nous avons travaillé dur pour en accélérer les performances et réduire sa consommation CPU. L'une des principales améliorations de performance a permis de réduire la durée du démarrage, pendant laquelle l'IDE prépare tous ses composants en coulisse, affiche l'écran d'accueil et indexe un projet.
Notez bien que les résultats peuvent varier en fonction de la taille de votre projet ainsi que de l'âge, la mémoire RAM et l'espace disque de votre équipement. Nous allons poursuivre notre travail sur ce front. Vous pouvez vous attendre à un démarrage encore plus rapide dans les futures versions.
GoLand 2019.3 permet la mise en évidence des éléments syntaxiques et la navigation dans les fichiers go.mod
. Appuyez sur ⌘+B sous macOS ou Ctrl+B sous Windows/Linux sur un chemin d'importation de dépendances spécifiques pour que GoLand vous en affiche les sources dans la vue Project View.
Toujours dans Project View, les modules Go s'affichent avec leur chemin d'importation complet au lieu du dernier segment. La version de chaque module Go sera aussi affichée avec une couleur de police plus atténuée que le chemin d'importation pour permettre de mieux les distinguer.
Evaluate Expression dans le débogueur vous permet à présent d'appeler directement une méthode dans un champ imbriqué.
Beaucoup de services de production écrits en Go s'exécutent sous Linux. Mozilla rr peut aider à enquêter sur les bogues difficiles à reproduire. La prise en charge du débogage dans Mozilla rr remonte à GoLand 2018.3, mais son fonctionnement se limitait jusqu'ici aux machines de développeurs sous Linux. Il est maintenant possible de lancer un serveur de débogage sur une machine Linux et de déboguer la trace à distance depuis macOS ou Windows. Suivez cette procédure :
dlv --headless --api-version 2 -l localhost:2345 replay /path/to/trace/dir /path/to/binary
. Veuillez noter que Mozilla rr n'est disponible que sur les machines Linux.
GoLand met désormais en évidence le nom et le type des paramètres inutilisés s'ils peuvent tous deux être supprimés, ou uniquement leur nom si le type est utilisé pour implémenter la spécification d'une méthode.
Dans ce dernier cas, l'IDE vous propose deux correctifs rapides : Delete parameter names (supprimer les noms de paramètres) ou Rename to_ (renommer en). Le même comportement est fourni pour les fonctions utilisées comme type de fonction
Il est de plus possible à présent de supprimer l'ensemble des paramètres inutilisés d'un coup. Appuyez sur Alt+Enter et utilisez le correctif rapide Delete all unused parameters.
GoLand propose un correctif rapide pour créer une fonction ou méthode manquante lorsqu'elle est utilisée dans un type de fonction. Il vous suffit d'appuyer sur Alt+Entrée et de sélectionner Create method/function.
GoLand suggère maintenant d'importer les packages en fonction des alias utilisés via Alt+Enter dans tout fichier de votre projet.
Change Signature affiche maintenant toujours le type des paramètres dans les onglets Parameters et Result parameters. Cochez la nouvelle case Reuse types pour réduire l'affichage des types induits dans Signature Preview et le résultat.
Vous trouverez en outre deux nouvelles actions d'intention, Reuse signature types qui fusionne les définitions de paramètres en une seule déclaration, et Expand signature types qui ajoute des types à chaque paramètre à l'aide du raccourci Alt+Entrée.
Extract Variable et Rename offrent maintenant de meilleures suggestions de noms. Par exemple, err
est suggéré pour les expressions de type error, ctx
est suggéré pour context.Context
, etc.
Les inspections de code de GoLand sont désormais plus ciblées. Nous avons réduit la portée de la mise en évidence des problèmes détectés dans l'éditeur de code pour améliorer la pertinence de l'affichage des correctifs rapides et des actions d'intention pour un morceau de code donné lorsque vous invoquez le menu contextuel à l'aide du raccourci Alt+Entrée.
Nous avons amélioré l'analyseur lexical des littéraux de type rune de plusieurs façons :
Go permet d'utiliser des variables existantes sur le côté gauche des déclarations var courtes. Par conséquent, deux constructions similaires peuvent avoir des significations différentes. Pour détecter ces cas plus facilement, nous avons ajouté une mise en évidence de la syntaxe pour les réaffectations de ce genre.
GoLand 2019.3 permet le pliage de code pour les littéraux composites. Utilisez les commutateurs de pliage de code pour réduire ou étendre le fragment de code, ou appuyez sur Ctrl+Moins (pavé num.)/Ctrl+Plus (pavé num.) sous Windows ou ⌘+Moins (pavé num.)/⌘+Plus (pavé num.) sous macOS. Pour configurer le comportement de pliage du code par défaut, accédez à Settings/Preferences | Editor | General | Code Folding.
Les modèles dynamiques for et forr suggèrent maintenant des noms de variables pertinents. Par exemple, des noms comme i
et index
sont suggérés pour un index; s
, string
, et line
sont suggérés pour une valeur.
Le live template meth fournit des suggestions de code pour les noms de récepteurs.
Limitez votre recherche à une zone sélectionnée lorsque vous utilisez Find (⌘+F sous macOS et Ctrl+F sous Windows/Linux). Sélectionnez simplement le morceau de code dont vous avez besoin dans l'éditeur et invoquez Find. L'IDE lancera alors la recherche dans la zone sélectionnée uniquement. Pour basculer facilement vers une recherche dans le fichier complet, appuyez à nouveau sur ⌘+F/ Ctrl+F, ou décochez l'option In Selection dans la barre d'outils.
Désormais, lorsque vous lancez une recherche dans la boîte de dialogue Find in Path à l'aide d'un masque de fichiers, GoLand affiche les extensions de fichiers dans les résultats de recherche en fonction de ces paramètres. Cela permet de distinguer plus facilement les fichiers ayant le même nom mais des extensions différentes.
Dans GoLand 2018.2, nous avions ajouté une option pour partager une configuration d'observateur de fichiers entre plusieurs projets à l'aide des options Project et Global – elle s'appelle Global File Watcher.
Toutefois, vous aviez toujours besoin d'activer cet observateur dans chaque nouveau projet. Il est désormais possible d'activer ce watcher par défaut dans tous les nouveaux projets que vous créez ou ouvrez.
Dans le menu File, sélectionnez Other Settings | Settings for new projects, puis accédez à Tools | File Watchers, ajoutez un nouvel observateur global, puis cochez la case correspondante pour l'activer dans tous les nouveaux projets.
Souvent, le temps manque pour lire toutes les pages de nouveautés, de notes de version et les articles de blog sur le produit que vous utilisez, alors même que vous avez besoin de finir votre projet dans les temps. C'est pourquoi nous avons ajouté des Didacticiels pour que vous puissiez découvrir les fonctionnalités de GoLand quand vous en aurez le temps.
Vous pouvez trouver des Tutoriels sur l'écran d'accueil, au-dessus de votre liste de projets. Lorsque vous mettrez l'IDE à niveau vers une nouvelle version, vous verrez une leçon abordant les fonctionnalités de la nouvelle version. Vous pouvez également accéder à Tutorials à l'aide de la fenêtre d'outils correspondante depuis n'importe quel projet.
Une nouvelle option permet d'analyser la hiérarchie des méthodes des appelés dans la fenêtre d'outils Hierarchy. Nous avons ajouté deux boutons dédiés qui vous permettent de basculer entre les appelants et les appelés de la méthode sélectionnée. En outre, vous pouvez trier les éléments d'une arborescence par ordre alphabétique, en cliquant sur un bouton spécial dans le menu. Pour afficher la fenêtre d'outils Hierarchy dans la liste Tool Windows, vous avez d'abord besoin de construire une hiérarchie. Accédez ensuite à Navigate | Call Hierarchy or Navigate | Type Hierarchy.
Dans GoLand 2019.3, vous pouvez installer et désinstaller n'importe quelle extension de thème ou de configuration clavier sans redémarrer l'IDE.
Configurez votre raccourci personnalisé pour l'action qui ramène le focus sur l'éditeur, au lieu d'utiliser ESC. Cherchez l'action Focus Editor dans references/Settings | Keymap, effectuez un clic droit dessus, puis sélectionnez Add Keyboard Shortcut dans la liste déroulante.
Nous avons ajouté une option pour améliorer la visibilité des barres de défilement. Pour ce faire, cochez la case Use contrast scrollbars dans Preferences/Settings | Appearance & Behavior | Appearance.
La boîte de dialogue Clone se trouve dans VCS | Get from Version control. Vous pouvez maintenant vous connecter depuis cette boîte de dialogue ou, si vous êtes déjà connecté, obtenir un aperçu instantané des listes de tous les dépôts regroupés par compte ou par organisation.
Il est maintenant plus facile d'enquêter sur un conflit lors d'une opération de fusion, de changement de base ou de sélection précise. Il vous suffit de cliquer sur le lien Show Details pour obtenir la liste des commits qui mènent à l'état du code obtenu, et vous pouvez consulter plus d'informations sur la source des modifications dans la boîte de dialogue Merge.
GoLand 2019.3 assure une prise en charge de base pour MongoDB. Vous pouvez maintenant :
Il est maintenant plus facile d'approfondir les erreurs de connexion. En cas d'échec de connexion, vous pouvez simplement cliquer sur le bouton dédié de l'IDE pour accéder aux résultats de recherche concernant votre erreur fournis par le moteur de recherche Google.
Si vous utilisez Bootstrap ou une autre bibliothèque CSS avec un lien provenant d'un CDN dans votre fichier HTML, vous pouvez désormais bénéficier de la saisie automatique pour les noms de classes de cette bibliothèque sans avoir à ajouter ses sources au projet.
Lorsque vous ajoutez de nouveaux noms de variables et de paramètres dans des fichiers JavaScript ou TypeScript, vous obtenez maintenant des suggestions de noms en fonction des noms de classes, d'interfaces et d'alias de types définis dans le projet, des bibliothèques standard et des dépendances que vous utilisez.
Pour les nouvelles variables, fonctions, classes et interfaces, vous recevrez également des suggestions pour les noms déjà utilisés dans la même portée mais pas encore définis.