GoLand 2021.2 disponible, l'EDI de JetBrains prend en charge Go 1.17
et apporte de nouvelles fonctionnalités pour les modules Go, entre autres améliorations

Comme pour la plupart de ses EDI basés sur sa plateforme IntelliJ, JetBrains a annoncé la sortie de la deuxième mise à jour majeure de cette année pour GoLand, son EDI visant à fournir un environnement ergonomique pour le développement en Go. GoLand 2021.2 apporte de nouvelles fonctionnalités pour les modules Go, une nouvelle option pour la mise en forme et la prise en charge des fonctionnalités de Go 1.17. JetBrains a ajouté de nouveaux correctifs rapides, dont un qui vous aidera à utiliser correctement la nouvelle syntaxe //go:build.

Le contrôle de version a également été mis à jour, avec notamment la possibilité de signer les commits avec des clés GPG. Pour les développeurs web, JetBrains a ajouté le rechargement automatique de la page dans les navigateurs lors de l'enregistrement du code, et la saisie semi-automatique s'applique aux champs et aux opérateurs MongoDB. Nous présentons dans la suite les nouveautés dans GoLand 2021.2 avec plus de détails.

Modules Go

Chargement manuel des modifications apportées au fichier go.mod

Dans GoLand 2021.2, vous pouvez contrôler la façon dont l'EDI lance des appels à go list lorsque vous modifiez go.mod. Vous pouvez également charger manuellement les modifications du fichier go.mod. Allez dans Settings | Build, Execution, Deployment | Build Tools, puis sélectionnez l'option External changes. GoLand cessera alors d'appeler go list automatiquement lorsque vous modifiez des fichiers dans l'EDI.


Vous verrez à la place une icône Load Go modules Changes, que vous pouvez utiliser pour charger manuellement les modifications une fois l'édition terminée. Si vous décochez la case Reload project after changes in the build scripts, vous verrez l'icône Load Go modules Changes sur tous les types de modifications, externes et internes.


Meilleure prise en charge des différentes versions de Go

GoLand affichera une erreur si vous utilisez des fonctionnalités provenant d'une version de Go plus récente que celle spécifiée dans votre fichier go.mod. Pour les littéraux numériques et les instructions //go:embed, un correctif rapide permet de changer la version de Go dans go.mod.

Go pour les modules Go

L'option Go de l'écran de bienvenue est désormais l'option par défaut pour les projets de modules Go. JetBrains a également renommé les projets basés sur GOPATH en Go (GOPATH).

Gestion des dépendances inutilisées

Les dépendances inutilisées dans les directives replace sont désormais surlignées en gris. Cela permettra de les distinguer des erreurs. Si vous survolez l'une des lignes grises, vous verrez s'afficher un message « Unused dependency » (Dépendance non utilisée). Si vous devez télécharger les modules inutilisés, appuyez sur Alt+Entrée et choisissez l'option Download all modules to the module cache. Vous pouvez également télécharger des modules individuels.


Outil de mise en forme

Dans cette version, JetBrains inaugure l'option Run gofmt on code reformat. Il s'agit de la première étape pour faciliter la détection de gofmt dans GoLand, qui a son propre outil de mise en forme. Lorsque cette option est cochée, vous pouvez appeler les deux outils de mise en forme à l'aide d'un raccourci, Ctrl+Alt+L ; gofmt s'exécutera après l'outil de mise en forme de GoLand. Cette option est activée par défaut. Vous pouvez la désactiver ou la réactiver dans Settings | Editor | Code Style | Go.


Autres correctifs rapides

Prise en charge de la nouvelle mise en forme des contraintes //go:build

GoLand dispose de plusieurs nouveaux correctifs rapides pour vous aider à utiliser correctement à la fois les anciennes contraintes // +build et la nouvelle syntaxe //go:build. Le premier correctif rapide permettra de déplacer les lignes //go:build vers le haut du fichier, comme l'exige la nouvelle syntaxe. Comme dans Go 1.16, il est possible d'utiliser soit l'ancienne syntaxe ou les deux ensemble. GoLand 2021.2. fournit un correctif rapide pour générer rapidement une déclaration // + build en plus de // go: build.


Activez la prise en charge de cgo en un clic

Si vous avez importé un paquet « C » mais que vous avez ensuite oublié d'activer la prise en charge de cgo dans les paramètres du projet, GoLand affichera le correctif rapide Enable cgo support dans une bannière. L'option Navigate to cgo import place quant à elle le curseur au début du nom du paquet. Cela peut vous aider à trouver la déclaration import dans un grand projet.


Débogueur

Le mode Preview fonctionne désormais lors du débogage de votre application. Il vous permet d'ouvrir les fichiers successivement dans un même onglet, ce qui vous évite d'encombrer l'éditeur avec plusieurs fichiers ouverts dans des onglets séparés. Pour activer le mode Preview pendant le débogage, allez dans Settings | Editor | General | Editor Tabs et cochez la case Enable preview tab.

Go 1.17

Avec Go 1.17, il sera possible de convertir une section en pointeur de tableau. GoLand ne signalera pas ces conversions comme des erreurs. Pour essayer les fonctionnalités de Go 1.17, changez GOROOT en « Go 1.17beta1 » ou « Go 1.17rc1 » dans Settings | Go.

Navigation rapide

À partir de cette version, vous pouvez naviguer vers les implémentations (Navigate to implementations) des interfaces contenues dans le dossier internal. Cliquez sur la gouttière pour accéder directement aux implémentations. Vous pouvez également revenir directement à l'interface à partir de ses implémentations.


Mises à jour du VCS

Signature GPG

GoLand 2021.2 vous permet de signer les commits avec une clé GPG afin de les sécuriser. Cette fonctionnalité peut être activée dans Settings | Version Control | Git. Si c'est la première fois que vous utilisez une clé GPG, vous devrez d'abord la configurer. Si vous disposez d'une clé GPG préconfigurée, il vous suffit de la sélectionner dans la liste déroulante.


Nouvelles options dans les vérifications pré-commit

Vous pouvez désormais exécuter Run test et Analyze code avant de valider vos modifications. Allez dans Settings | Version Control | Commit | Before commit ou cliquez sur l'icône engrenage dans la vue Commit. Sachez que l'option Run tests n'est disponible que si vous cochez la case Use non-modal commit interface dans Settings | Version Control | Commit.

Nouveau champ de recherche dans le menu Local History

JetBrains a ajouté un nouveau champ de recherche au menu Local History, qui permet de suivre les modifications indépendamment du contrôle de version. Il peut vous aider à retrouver rapidement le texte que vous cherchez dans vos révisions Local History. Pour l'essayer, faites un clic droit sur le fichier puis cliquez sur Local History | Show History. Veuillez noter que Local History ne doit pas être utilisé comme substitut d'un VCS. Pour le suivi des modifications, il est recommandé de choisir le VCS par défaut et de n'utiliser Local History qu'en dernier recours.


Changes au lieu de Default Changelist

JetBrains a renommé le nœud qui stocke toutes les modifications non validées, qui s'appelait auparavant Default Changelist. Il s'appelle maintenant Changes. Cette mise à jour sera disponible par défaut dans tous les nouveaux projets. De plus, les opérations Git ne déclencheront plus la création automatique de listes de modifications changelists.

Améliorations de l'interface utilisateur

Amélioration de la vue des projets joints

JetBrains a modifié la représentation des projets joints dans la vue Project. Ils étaient auparavant représentés en tant que répertoires enfants du projet existant. Ils apparaissent désormais dans la vue Project sous forme de répertoires distincts.

Paramètres avancés et flèches de navigation

JetBrains a ajouté un nœud Advanced Settings dans Settings. Il contient des options de configuration supplémentaires, qui permettent par exemple de configurer une marge gauche pour le mode Distraction-free. Vous trouverez également une nouvelle option de navigation dans Settings. Vous pouvez maintenant naviguer d'une section à l'autre à l'aide des flèches situées en haut à droite de la fenêtre.

Notifications de mise à jour à partir de Toolbox App

GoLand vous informera lorsqu'une nouvelle version sera disponible et vous donnera la possibilité de lancer la mise à jour directement depuis l'EDI. Pour utiliser cette fonctionnalité, vous devez disposer de la version 1.20.8804 de la Toolbox App ou d'une version ultérieure.

Nouvelles options du terminal

Vous pouvez maintenant changer la forme du curseur dans le terminal intégré en caractère de soulignement ou en barre verticale en accédant à Settings | Tools | Terminal. Un autre changement concerne les paramètres du Terminal. GoLand prend à présent en charge le paramètre Use Option as Meta key. Une touche Meta modifie temporairement l'action normale d'une autre touche lorsqu'elles sont utilisées ensemble. L'utilisation d'une touche Meta peut être utile si vous utilisez beaucoup le terminal.

Nouvelle fenêtre Change project icon

JetBrains a simplifié la boîte de dialogue qui permet de personnaliser l'icône de votre projet dans la liste des projets de l'écran de bienvenue. Pour télécharger une icône personnalisée, il suffit de faire un clic droit sur un projet et de sélectionner Choose project icon dans le menu contextuel.


Développement web

Rechargement des pages dans le navigateur lors de l'enregistrement

GoLand peut désormais mettre à jour la page dans un navigateur au fur et à mesure que vous modifiez et enregistrez des fichiers HTML, CSS et JavaScript. Le rechargement de la page lors de l'enregistrement est activé par défaut. Vous pouvez modifier cela dans Settings | Build, Execution, Deployment | Debugger | Built-in Server.

Refactorisation Rename pour les hooks useState de React

La refactorisation fonctionne désormais pour les valeurs et les fonctions useState dans les hooks React. Il vous suffit de placer le curseur sur une valeur d'état et d'appeler la refactorisation Rename à l'aide de Maj+F6 ou d'aller dans Refactor | Rename dans le menu contextuel du clic droit.


Importation automatique pour require()

GoLand peut ajouter les déclarations d'importation manquantes au fur et à mesure que vous complétez les symboles ES6, et maintenant il peut faire de même pour les modules CommonJS. Les importations require() seront insérées dans la saisie semi-automatique du code.

Saisie semi-automatique du code pour les paquets npm privés

La saisie semi-automatique du code fonctionne désormais pour les paquets npm privés. GoLand vous permet de consulter les informations sur les dernières versions du paquet, tout comme il le fait pour les paquets publics.

Prise en charge générique pour les web-types

JetBrains inaugure une nouvelle version de web-types : une norme open source pour la documentation de divers frameworks web. La version initiale des web-types était uniquement axée sur la prise en charge de Vue.js. JetBrains veut créer une nouvelle architecture pour faciliter la prise en charge de nouveaux frameworks JavaScript et étendre la prise en charge des frameworks existants.

Travailler avec des bases de données

La saisie semi-automatique du code fonctionne à présent dans la console MongoDB pour les champs, les champs imbriqués et les champs situés dans les expressions d'agrégation. Elle fonctionne également pour les opérateurs de requête et de projection, les opérateurs de mise à jour et les étapes d'agrégation.


Autres évolutions

Actions effectuées lors de la sauvegarde

JetBrains a rassemblé toutes les actions pouvant être effectuées lors de l'enregistrement dans Settings | Tools | Actions on Save. Vous pouvez à présent toutes les configurer à cet endroit. Il vous suffit de cocher la case correspondant à l'action que vous souhaitez activer. Vous pouvez également configurer les paramètres de chaque action plus précisément. Pour ce faire, survolez l'action concernée, cliquez sur le lien de configuration, puis paramétrez l'action sur la page des paramètres associés qui s'affiche.


Nettoyage automatique du cache et des journaux

GoLand nettoie automatiquement les répertoires de cache et de journal dont la dernière mise à jour remonte à plus de 180 jours. Ce processus n'affectera pas les paramètres du système et les répertoires de plugins. Vous pouvez nettoyer les journaux et les caches manuellement à l'aide de l'action Help | Delete Leftover IDE Directories….

Vérification intelligente de l'orthographe et de la grammaire dans les fichiers Go

JetBrains a activé la vérification intelligente de l'orthographe et de la grammaire dans les fichiers Go par défaut. Ces vérifications sont fournies par le plugin Grazie, qui est intégré à l'EDI. Pour ajuster les paramètres, rendez-vous dans Settings | Editor | Natural Languages | Grammar.

Code With Me

GoLand affiche les suggestions de saisie semi-automatique proposées à votre collaborateur lors d'une session Code With Me
Vous pouvez désormais suivre les suggestions de saisie semi-automatique du code que GoLand propose à vos collaborateurs lors des sessions Code With Me. Pour utiliser cette fonction, vous devez être en mode Following.


Télécharger GoLand 2021.2