IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

GoLand 2022.3 disponible :
Tour d'horizon des nouveautés et améliorations de l'EDI Go de JetBrains

Le , par Michael Guilloux

5PARTAGES

3  0 
JetBrains a publié la troisième mise à majeure de l'année pour GoLand, son EDI visant à fournir un environnement ergonomique pour le développement en Go. Avec GoLand 2022.3, JetBrains a intégré Go Playground, ajouté la prise en charge des améliorations des commentaires de la documentation Go, introduit de nouvelles fonctionnalités pour le client HTTP et Docker, et rendu la nouvelle interface utilisateur accessible. Comme d'habitude, vous trouverez aussi de nouvelles fonctionnalités pour le développement web et les bases de données, telle que la prise en charge de Redis.

Cette version est particulière, parce que sa sortie coincide avec les 5 ans de GoLand. JetBrains vous invite à fêter cela, en écrivant « Happy B-day, GoLand! » dans GoLand 2022.3 ou GoLand 2022.2.5. Une surprise vous attend !

Cela dit, regardons plus en détail ce que nous apporte cette nouvelle mise à jour majeure de GoLand.

Améliorations de la performance

Modifications de la commande go list pour améliorer l'indexation

Lorsque vous ouvrez un projet, GoLand indexe les fichiers et exécute la commande go list qui fournit des informations sur la structure du projet. L'indexation est interrompue pendant l'exécution de go list et vous n'avez pas accès aux fonctionnalités d'analyse du code tant que l'indexation n'est pas terminée.

Auparavant, GoLand exécutait go list deux fois dans certains cas. JetBrains a modifié son API et réduit le nombre de lancements de la commande go list. Cette modification devrait apporter des améliorations de performance significatives pour les gros projets comportant de nombreux modules.

Restauration de la structure du projet à partir du cache à l'ouverture

Désormais, lorsque vous ouvrez un projet, les informations rapportées par go list sont enregistrées sur le disque dans la mémoire cache. Quand vous ouvrez de nouveau ce projet, les données sur la structure du projet sont chargées depuis la mémoire et prises en compte lors du démarrage de l'indexation.

Ainsi, l'indexation peut s'exécuter sans interruption et se terminer plus rapidement et les fonctionnalités d'analyse du code sont disponibles bien plus tôt après l'ouverture du projet.

Accélération du démarrage de l'EDI et de l'ouverture des projets

GoLand a reçu plusieurs autres améliorations de la performance, notamment pour réduire le temps de lancement des applications et d'ouverture des projets. Il en résulte une amélioration de la performance de démarrage globale, y compris pour la restauration de l'éditeur, d'environ 30 %.

Génériques

Génération de tests pour les fonctions génériques

Vous pouvez maintenant générer des tests pour les fonctions avec des paramètres génériques.


Correctif rapide pour mettre les paramètres de type en majuscules

Une inspection détectant les paramètres de type en minuscules et un correctif rapide pour les passer en majuscules sont désormais disponibles.

Espaces de travail Go

L'action Go Workspace File

Vous trouverez l'action Go Workspace File dans le menu contextuel New. Lorsque vous la sélectionnez, un fichier go.work s'affiche dans votre dossier racine. Les modules Go existants seront alors automatiquement ajoutés au fichier go.work.


Génération de go.work avec les directives replace

Vous pouvez maintenant générer go.work à partir de go.mod s'il y a des directives replace. Placez le curseur sur une directive replace, appuyez sur Alt+Entrée pour voir toutes les actions d'intention disponibles et sélectionnez le correctif rapide Add … module to workspace.


Commentaires de la documentation Go

Go 1.19 prend en charge les liens, les listes et les nouveaux titres dans les commentaires de la documentation et GoLand 2022.3 prend également en charge ces nouvelles fonctionnalités.

Prise en charge des liens

JetBrains a ajouté des références aux liens de la documentation dans GoLand. En cliquant dessus, vous accédez à l'élément référencé, tandis qu'en cliquant sur un lien texte, vous accédez à la définition du lien texte. Les liens vers le texte et le document s'affichent dans la fenêtre contextuelle Quick Documentation et dans la fenêtre d'outil Documentation.


Prise en charge des nouveaux titres

À partir de Go 1.19, un titre est une ligne qui commence par un signe dièse (#) suivi d'un espace et du texte du titre. Les nouveaux titres s'affichent sous forme de titres HTML dans la fenêtre contextuelle Quick Documentation de GoLand et dans la fenêtre d'outil Documentation.


Prise en charge des listes

Les listes s'affichent sous forme de listes HTML dans la fenêtre contextuelle Quick Documentation de GoLand et dans la fenêtre d'outil Documentation.


Intégration de Go Playground

JetBrains a intégré la fonctionnalité Go Playground dans GoLand. Si vous sélectionnez une partie du code, choisissez l'option Open In, puis cliquez sur Playground. Cela ouvrira un fichier scratch avec une barre d'outils contenant les mêmes options que celles dont vous disposez lorsque vous utilisez Go Playground.

Vous pouvez formater et partager votre code, changer de version de Go, exécuter votre code avec le serveur Go Playground, ou l'exécuter localement.


Nouveaux correctifs rapides

Correctif rapide pour les types récursifs invalides

Si votre type se contient lui-même, vous obtiendrez une erreur « Invalid recursive type ». Pour éviter cette erreur, vous devez inclure un pointeur vers un type, non un type lui-même. JetBrains fournit maintenant un correctif rapide pour remédier à cela.


Éditeur

Code Vision

JetBrains a débuté l'implémentation de la fonctionnalité Code Vision. Pour l'instant, les auteurs du code s'affichent si l'intégration du contrôle de version est activée. Si vous cliquez sur le nom d'un auteur, la barre latérale Annotate with Git blame s'ouvre et vous permet de voir qui a effectué les différentes modifications.

L'affichage des utilisations près des fonctions et des types indique combien de fois la fonction ou le type est référencé dans le projet en cours.


Conseils d'insertion pour les définitions de constantes

GoLand fournit maintenant des conseils d'insertion pour les blocs de définition de constantes. Cette nouveauté est particulièrement utile dans les blocs de constantes dérivées de iota, pour lesquels les conseils affichent les valeurs de iota associées à chaque position.

Champs protobuf générés automatiquement ignorés pour Fill all fields

L'EDI ignore désormais les champs de tampon de protocole générés automatiquement qui commencent par XXX_ lorsque vous appelez l'action d'intention Fill all fields. Ces champs ne s'affichent que si vous appelez la complétion pour la seconde fois.

Autres fonctionnalités relatives à Go

Variables d'environnement Go affichées dans les paramètres

Désormais, GoLand récupère automatiquement les variables système en lien avec les modules Go et les affiche dans la boîte de dialogue Environment variables. Pour ouvrir cette fenêtre, allez dans Settings | Go | Go Modules, puis cliquez sur l'icône Edit environment variables.

Les noms des paquets sont toujours affichés dans Quick documentation

Désormais, l'EDI affiche toujours les noms des paquets dans la fenêtre contextuelle Quick documentation pour les déclarations de haut niveau. Auparavant, les en-têtes de paquets s'affichaient uniquement lorsque des fichiers doc.go ou .go étaient trouvés.

Augmentation de la taille limite des fichiers

JetBrains a augmenté la taille limite des fichiers, qui est passée de 2,5 Mo à 10 Mo. Les fonctionnalités d'analyse du code, comme la navigation et la mise en évidence, ne fonctionnent pas pour les fichiers qui dépassent la limite de taille.

Si la limite de 2,5 Mo était suffisante pour la plupart des fichiers, certains projets comportent des fichiers plus volumineux que cela, par exemple le SDK AWS ou GCP.

L'inspection Receiver names are different ignore le code généré

Comme l'inspection Receiver names are different ne concerne pas le code généré, JetBrains l'a désactivée pour les fichiers qui contiennent un commentaire correspondant à l'expression régulière suivante : ^// Code generated .* DO NOT EDIT\.$

Client HTTP

Scripts de pré-requête et nouvelles API pour les gestionnaires JavaScript

Le client HTTP prend désormais en charge l'exécution de blocs de scripts avant les requêtes. Vous pouvez générer des données avant d'exécuter une requête et les placer dans la requête finale à l'aide de variables. Un correctif rapide permet de créer le code standard pour initialiser les variables.


Le client HTTP prend désormais en charge l'API Crypto. Vous pouvez calculer les valeurs de hachage md5 ou sha1 pour les requêtes HTTP.

Pour les cas simples, l'EDI propose désormais un nouvel ensemble de variables aléatoires random.

Docker

Exécutable Docker à partir de WSL sans Docker Desktop

GoLand prend désormais en charge les connexions à Docker qui s'exécutent dans le sous-système Windows pour Linux (WSL). Vous pouvez configurer cette connexion dans Settings | Build, Execution, Deployment | Docker.

Nouvelle action d'intention : Pull Docker image

Il existe désormais un moyen simple d'extraire une image requise sans l'exécuter à partir d'un Dockerfile ou de docker-compose.yml. Pour cela, appelez les actions contextuelles (Alt+Entrée) sur le nom de l'image en surbrillance, puis sélectionnez Pull Docker image.


Prise en charge du type de fichier .dockerignore

JetBrains a introduit une prise en charge complète des fichiers .dockerignore, notamment la mise en évidence et la saisie semi-automatique du code. Ces fichiers sont maintenant pris en compte lorsque vous générez une image à partir de l'EDI.

Prise en charge du format heredoc dans les fichiers Dockerfile

Ces documents vous permettent de rediriger les lignes suivantes du Dockerfile vers l'entrée des commandes RUN ou COPY. GoLand prend maintenant en charge cette syntaxe, de sorte que vous pouvez l'utiliser pour générer des fichiers de configuration ou des scripts multilignes directement dans vos fichiers Dockerfile.

Connexions Docker à partir de Docker Contexts

Vous pouvez maintenant configurer des connexions Docker supplémentaires à l'aide de Docker Contexts si vous disposez déjà de ces paramètres dans votre configuration Docker. Pour ce faire, appelez le menu contextuel Add Service dans la vue Services et sélectionnez Docker Connections From Docker Contexts.


Développement à distance (Bêta)

Votre backend d'EDI peut maintenant se lancer directement dans WSL 2 et vous pouvez vous y connecter de la même manière qu'à n'importe quelle machine distante lorsque vous utilisez le développement à distance dans GoLand.


Interface utilisateur

Nouvelle interface utilisateur disponible

Comme vous le savez peut-être déjà, JetBrains a annoncé en mai dernier un programme de preview privé pour la nouvelle interface utilisateur de ses EDI. L'éditeur de logiciels pour développeurs invite maintenant tout le monde à passer à cette nouvelle interface utilisateur dans Settings | Appearance & Behavior | New UI Preview pour l'essayer et lui faire part de vos retours.

Prévisualisation de l'action d'intention activée par défaut

La fonctionnalité de prévisualisation des actions d'intention est désormais activée par défaut et vous permet de voir instantanément les modifications de votre code si les suggestions de l'EDI sont appliquées. Vous pouvez activer ou désactiver la fonctionnalité de prévisualisation en appuyant sur Ctrl+Q pendant que la liste des actions d'intention est ouverte.


Ancrage des fenêtres d'outil dans les onglets flottants de l'éditeur

Pour faciliter l'organisation de votre espace de travail et l'interaction avec GoLand sur plusieurs moniteurs, JetBrains a implémenté une option permettant de faire glisser les fenêtres d'outils hors de la fenêtre principale et de les ancrer aux onglets flottants de l'éditeur.

Amélioration des Tips of the Day

JetBrains a également amélioré la fonctionnalité Tips of the Day, un outil d'apprentissage qui vous aide à explorer GoLand.

Chaque astuce dispose maintenant d'un titre. JetBrains a aussi affiné l'algorithme qui détermine quelles astuces vous sont proposées afin que vous voyiez les plus pertinentes en fonction de votre connaissance de l'EDI et du projet sur lequel vous travaillez.

Mise à jour des signets

Vous pouvez de nouveau ajouter des signets aux fichiers à partir des onglets de l'éditeur. Il suffit de faire un clic droit sur un onglet pour appeler le menu contextuel et de sélectionner ensuite Bookmarks.


Vous pouvez ajouter l'ensemble des fichiers situés dans les onglets actuellement ouverts aux Bookmarks. Pour ce faire, vous pouvez soit appeler le même menu contextuel et sélectionner Bookmark Open Tabs, soit appeler cette action à l'aide de l'icône à trois points située à droite du volet des onglets de l'éditeur.

Nouvelle solution Settings Sync

JetBrains a introduit une solution remaniée pour synchroniser vos paramètres d'utilisation personnalisés. Pendant longtemps, deux plugins co-existaient (IDE Settings Sync et Settings Repository) et leurs fonctionnalités se recoupaient. Pour éviter la confusion due à la présence de ces deux plugins intégrés similaires, JetBrains a fusionné leurs fonctionnalités en une seule solution : le nouveau plugin Settings Sync.

Bases de données

Prise en charge de Redis

Une itération préliminaire de la très attendue prise en charge de Redis a été implémentée.

Filtre rapide

Dorénavant, lorsque vous utilisez la recherche rapide, vous avez également la possibilité de filtrer les objets. Tous les objets ne correspondant pas au filtre seront masqués.

Développement web

Code Vision pour JavaScript et TypeScript

Cette version inaugure la nouvelle fonctionnalité Code Vision pour le développement web. Elle rassemble plusieurs métriques pour les types et les membres de types dans votre code JavaScript et TypeScript et affiche ces informations près de leurs déclarations.

Autres mises à jour

Correctif rapide pour supprimer les inspections dans YAML

Un nouveau correctif rapide permet de supprimer les inspections avec un commentaire dans les fichiers YAML, y compris les fichiers Kubernetes, les spécifications OpenAPI et les fichiers docker-compose.yml.

JetBrains a également introduit une option pour plier les commentaires multilignes qui constituent un bloc de 3 lignes ou plus et commencent par #.

Assistants d'installation pour Windows ARM64

Notons encore que l'éditeur de logiciels a commencé à distribuer des assistants d'installation pour Windows ARM64. Vous pouvez d'ores et déjà les télécharger depuis son site web ou l'application Toolbox App.

Nouveautés et téléchargement de GoLand 2022.3

Une erreur dans cette actualité ? Signalez-le nous !