Nouveautés de GoLand

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'EDI sur l'écran Welcome.

Améliorations des modules Go

Définir une nouvelle variable d'environnement GOMODCACHE dans la boîte de dialogue Environment Variables

À 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'EDI reconnaîtra l'emplacement personnalisé et l'utilisera pour toutes les actions ultérieures impliquant des dépendances.

Commenter la dépendance des modules dans le fichier go.mod

L'action Comment With Line Comment (Ctrl+/ sous Windows/Linux et ⌘/ sous macOS) est maintenant disponible pour le fichier go.mod.

GoLand insère une accolade fermante dans le fichier go.mod pour l'instruction replace

GoLand ajoute désormais immédiatement une accolade fermante lorsque vous tapez l'accolade ouvrante pour les instructions replace, exclude, et require.

Accédez à tout depuis les commentaires

Navigation du commentaire vers le code source

L'EDI 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).

Inspections de code

Navigation entre les avertissements et les erreurs dans le fichier grâce au widget d'inspections

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.

Accéder à l'erreur à partir de la vue Problems et la corriger avec le raccourci Alt+Entrée

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.

GoLand avertit d'un éventuel problème de conversion et suggère de le résoudre via Alt+Entrée

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 avertit d'un nom de test incorrect et suggère de le corriger à l'aide du raccourci Alt+Entrée

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'EDI 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 alerte l'utilisateur d'un problème possible

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.

GoLand alerte l'utilisateur d'une assertion d'interface impossible

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.

Édition du code

Show Context Actions affiche les options applicables

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.

L'action Add Caret Per Selected Line crée des carets à la fin de chaque ligne sélectionnée

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.

L'action d'intention Put arguments on separate lines répartit une expression sur plusieurs lignes

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.

Prenez le contrôle des arguments variadiques

La refactorisation Inline Variable décompresse une section en arguments variadiques

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.

Le correctif rapide Unpack Slice en action

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.

Enregistrer les projets en tant que modèles

Fenêtre d'outils Save Project as Template

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'EDI recréera l'arborescence du projet avec des fichiers, des dossiers et des configurations de build.

Go Playground

Action Share in Playground dans le menu déroulant

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/.

Les génériques, également appelés paramètres de type

Les fichiers go2 sont ouverts dans l'éditeur avec la mise en évidence de la syntaxe et la résolution des références de base

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.

En coulisses

Synchronisez les dépendances à l'aide du raccourci Alt+Entrée

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 affiche la progression de la go list dans la barre de progression

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.

Contrôle de version

Prise en charge de WSL2 pour Git sous Windows

Prise en charge de WSL2 pour Git sous Windows

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).

Amélioration des boîtes de dialogue d'action Git

Amélioration des boîtes de dialogue d'action Git

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.

Lancer une révision avec une action de commentaire

Prise en charge complète des requêtes pull GitHub

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.

Amélioration de la présentation des résultats de Compare branches

Amélioration de la présentation des résultats de Compare branches

Maintenant, lorsque vous comparez 2 branches dans GoLand, vous pouvez afficher les commits des branches comparées dans une seule vue. L'EDI 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.

Mises à jour des bases de données

Éditeur séparé pour les valeurs de cellule

Éditeur séparé pour les valeurs de cellule

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 !

Aperçu DML dans l'éditeur de données

Aperçu DML dans l'éditeur de 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.

Nouvelle interface utilisateur pour les valeurs booléennes

Nouvelle interface utilisateur pour les valeurs booléennes

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.

Assistance au codage pour le dialecte Google BigQuery

Dialecte Google BigQuery

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.

JavaScript et TypeScript

Nouvelles intentions intelligentes

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.