GoLand 2020.2 apporte de nouvelles fonctionnalités pour les modules Go, de nouveaux moyens d'examiner et de corriger les problèmes dans votre code, ainsi qu'un ensemble de nouvelles inspections de code. Vous y trouverez aussi de nouvelles fonctionnalités d'édition de code, comme le très attendu Add Caret Per Selected Line, une prise en charge expérimentale pour les génériques, la possibilité de partager du code avec le Go Playground depuis l'éditeur, des mises à jour pour le contrôle de version comme la prise en charge de WSL 2 pour Git sous Windows, et plus encore !
Vous préférez apprendre de manière interactive plutôt que de lire ? Consultez le tutoriel What's New in GoLand 2020.2 disponibe dans l'IDE sur l'écran Welcome.
À partir de Go 1.15, vous pouvez changer l'emplacement par défaut du cache des modules $GOPATH/pkg/mod
pour un autre dossier grâce à la nouvelle variable d'environnement GOMODCACHE.
Pour ce faire, il suffit de configurer GOMODCACHE dans Preferences/Settings | Go Modules | Environment. L'IDE reconnaîtra l'emplacement personnalisé et l'utilisera pour toutes les actions ultérieures impliquant des dépendances.
L'action Comment With Line Comment (Ctrl+/ sous Windows/Linux et ⌘/ sous macOS) est maintenant disponible pour le fichier go.mod
.
GoLand ajoute désormais immédiatement une accolade fermante lorsque vous tapez l'accolade ouvrante pour les instructions replace, exclude, et require.
L'IDE affiche les références des commentaires aux déclarations associées au niveau du paquet et vous permet d'y accéder via l'action Navigate to Declaration or Usages (⌘B sous macOS et Ctrl+B/ sous Windows / Linux).
Le nouveau widget d'inspections montre le nombre d'avertissements, d'erreurs et de fautes de frappe du fichier actuel dans le coin supérieur droit de l'éditeur de code. Vous pouvez les parcourir à l'aide des icônes fléchées ou de l'action Next Error (F2).
Le widget vous permet de configurer le niveau de mise en surbrillance (sélectionner parmi aucun, erreurs uniquement ou tous les problèmes), modifier le niveau de sévérité des inspections et basculer vers la Vue compacte pour éviter les distractions.
La fenêtre d'outils Problems affiche une liste d'avertissements et d'erreurs dans le fichier actuel, vous donne une description de ces problèmes et vous permet de les corriger immédiatement en utilisant Alt+Entrée.
Pour ouvrir la fenêtre d'outils Problems, cliquez sur Inspections Widget ou allez dans View | Tool Window | Problems. Faites un clic droit sur un problème pour passer directement à la ligne de code où l'erreur s'est produite.
Une nouvelle inspection de code gère les problèmes potentiels liés aux conversions string(int)
qui renvoient la représentation UTF-8 du point de code Unicode x
au lieu de la représentation de la chaîne décimale de x
attendue.
GoLand vous informe de ces erreurs potentielles et fournit des correctifs rapides dédiés.
GoLand vous informera des utilisations erronées courantes des tests et des exemples, vous n'avez donc plus besoin d'appeler explicitement go vet
pour cela. L'IDE fournit également des correctifs rapides dans des cas simples. Il suggère par exemple de renommer Testme
en TestMe
.
L'inspection de code Malformed struct tag vérifie que les balises struct sont conformes aux conventions Go et vous avertit des problèmes potentiels.
L'inspection de code Impossible interface type assertion vérifie les assertions de type v.(T)
et les cas de commutation de type correspondants dans lesquels le type statique V
de v
est une interface qui ne peut tout simplement pas implémenter l'interface cible T
.
Cela se produit lorsque V
et T
contiennent des méthodes portant le même nom mais des signatures différentes.
Pour prévisualiser le résultat d'une action d'intention ou d'un correctif rapide avant de l'appliquer à votre code, appelez Show Context Actions avec le raccourci Alt+Entrée, sélectionnez l'action d'intention ou le correctif rapide requis, et appuyez sur ⌥+Espace sous macOS ou Ctrl+Maj+I sous Windows et Linux.
La nouvelle action Add Caret Per Selected Line crée des carets à la fin de chaque ligne sélectionnée et désélectionne les lignes. Appelez-le à l'aide du raccourci Alt+Maj+G sous Windows/Linux ou ⌥⇧G sous macOS.
Configurez l'encapsulation pour les arguments d'appels, les paramètres de fonctions et les éléments littéraux composites dans Preferences/Settings | Editor | Code Style | Go | Wrapping and Braces.
Vous pouvez également utiliser les actions d'intention Put arguments on separate lines et Put arguments on one line à l'aide du raccourci Alt+Entrée pour fractionner et joindre des éléments manuellement.
La refactorisation Introduce Variable (Ctrl+Alt+V sous Windows et Linux, ou ⌘⌥ V sous macOS) peut regrouper certains arguments variadiques dans une nouvelle variable de section, tandis que Inline Variable (⌥⌘N sous macOS et Ctrl+Alt+N sous Linux and Windows), à l'inverse, décompresse une section en arguments variadiques.
De plus, vous pouvez désormais gérer les problèmes avec des arguments variadiques décompressés à l'aide du correctif rapide Unpack slice.
Vous pouvez désormais réutiliser des projets ou des fichiers en les enregistrant en tant que modèles de projet personnalisés : sélectionnez Tools | Save Project as Template. L'IDE recréera l'arborescence du projet avec des fichiers, des dossiers et des configurations de build.
Vous pouvez maintenant partager et exécuter du code dans le Go Playground en double-cliquant dans l'éditeur. Choisissez simplement Go Tools | Share in Playground dans le menu déroulant, ou Tools | Go Tools | Share in Playground, ou vous pouvez appuyer sur ⌥⇧⌘S sous macOS ou Ctrl+Alt+Shift+S sous Windows/Linux.
Cela fonctionne également pour les fichiers go2
, pour travailler avec des génériques, auquel cas GoLand vous amènera au nouveau https://go2goplay.golang.org/.
L'équipe Go a récemment annoncé un projet de conception pour les génériques. Veuillez consulter la documentation de Golang pour découvrir tous les détails du concept.
GoLand 2020.2 fournit une prise en charge expérimentale pour les génériques avec lesquels vous pouvez jouer en activant le paramètre Enable experimental support for generics a.k.a. type parameters dans Settings/Preferences | Go.
Cette prise en charge initiale fournit une mise en évidence de la syntaxe et la résolution des références de base. Elle fonctionne uniquement dans les fichiers go2.
Lorsque le mode vendoring est activé, vous créez votre application avec uniquement les paquets de dépendances qui sont stockés dans le dossier Vendor de votre projet.
Maintenant, si un projet comporte un dossier vendor et que vous avez coché le paramètre Enable vendoring mode automatically dans Settings/Preferences | Go | Go Modules, resolve n'utilisera que le dossier vendor/ et ne consultera pas le cache des modules.
GoLand exécute les commandes go list
de manière séquentielle et fournit une barre de progression avec des informations sur le nombre réel de commandes go list
dans la file d'attente.
GoLand 2020.2 vous permettra d'utiliser Git à partir de WSL2, qui est disponible nativement dans la mise à jour de mai de Windows 10, version 2004. Si Git n'est pas installé dans Windows, GoLand le recherchera automatiquement dans WSL et l'utilisera à partir de là. Il basculera également automatiquement vers Git dans WSL pour les projets ouverts depuis WSL (par le \wsl$ path
).
Nous avons repensé les boîtes de dialogue Git pour des actions telles que Merge, Pull et Rebase, afin d'en améliorer la cohérence et le niveau d'informations. Nous avons aussi ajouté l'option –rebase
à la boîte de dialogue Pull et l'option «–no-verify
à la boîte de dialogue Merge, et il est désormais plus facile de comprendre quelle commande Git sera exécutée.
Les requêtes d'extraction GitHub Pull Requests sont entièrement équipées ! Parcourez, attribuez, gérez et même fusionnez les requêtes d'extraction, affichez la chronologie et les commentaires inline, envoyez des commentaires et des révisions, et acceptez les modifications sans quitter GoLand.
Maintenant, lorsque vous comparez 2 branches dans GoLand, vous pouvez afficher les commits des branches comparées dans une seule vue. L'IDE ouvre maintenant les journaux des deux branches comparées dans l'éditeur plutôt que dans la fenêtre d'outils VCS dans laquelle l'espace est insuffisant pour afficher toutes les informations.
Désormais, si vous avez une valeur énorme dans votre cellule, vous pouvez l'afficher ou la modifier dans un volet séparé. Vous pouvez également passer au mode retour à la ligne (soft wrap) en utilisant la barre d'outils de droite. Utilisez toute la puissance de notre éditeur de code pour vos données !
À partir de cette version, vous pouvez consulter la requête qui contient vos modifications dans l'éditeur de données. Il y a maintenant un bouton DML qui est actif s'il y a des modifications en attente .
Et vous verrez une boîte de dialogue avec l'aperçu DML. Cette requête n'est pas le SQL exact qui sera exécuté pour modifier vos données car GoLand utilise un pilote JDBC pour mettre à jour les tables, mais la plupart du temps cela sera le même.
Il existe désormais un moyen plus intuitif d'afficher et de modifier les valeurs booléennes. Les valeurs « true » sont maintenant marquées d'une puce pour les distinguer de toutes les autres.
Nous avons ajouté un nouveau dialecte SQL : Google BigQuery. La prise en charge complète de BigQuery n'est pas encore disponible, mais il faut bien commencer quelque part. GoLand peut correctement mettre en évidence le code et fournir une assistance au codage pour vos requêtes si vous utilisez Google BigQuery.
De nouvelles intentions intelligentes (Alt+Entrée) vous aideront à effectuer certaines actions plus rapidement. Par exemple, vous pouvez maintenant convertir rapidement une boucle for avec un index numérique en une méthode de tableau forEach. La consultation des commentaires de la documentation dans les fichiers JavaScript et TypeScript est également facilitée, car vous pouvez désormais les afficher directement dans l'éditeur, ce qui minimise les distractions.