Nouveautés de GoLand

GoLand 2022.3 apporte des améliorations de la performance à plusieurs niveaux, ainsi que nouvelles fonctionnalités pour les génériques et les espaces de travail Go.

Avec cette mise à jour, nous avons 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, notamment la prise en charge de Redis.

Si vous préférez une approche interactive pour en savoir plus sur cette version, nous vous invitons à consulter le tutoriel sur les Nouveautés de GoLand 2022.3 accessible à partir de l'écran d'accueil.

GoLand a 5 ans aujourd'hui et nous vous invitons à fêter cela avec nous. Écrivez « Happy B-day, GoLand! » dans GoLand 2022.3 ou GoLand 2022.2.5, une surprise vous attend !

Améliorations de la performance

La fenêtre Background Tasks montre l'indexation et la commande go list en cours d'exécution

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

When you open a project, GoLand indexes the files and runs the go list command, which reports information about the project structure. 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. Nous avons modifié notre API et réduit le nombre de lancements de la commande go list. Nous espérons que cette modification apportera 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'IDE 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 dans les IDE JetBrains.

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 d'un test pour une fonction générique

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 qui supprime les paramètres de type avec des listes de paramètres vides

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

Utilisation de l'action Go Workspace File

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

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.

Les liens vers le texte et la documentation s'affichent dans la fenêtre contextuelle Quick Documentation et dans la fenêtre d'outil Documentation

Prise en charge des liens

Nous avons 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.

Les nouveaux titres s'affichent 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.

Les listes s'affichent 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

Utilisation de Go Playground dans GoLand

Nous avons 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

Utilisation d'un correctif rapide pour transformer un type en pointeur

Correctif rapide pour les types récursifs invalides

Si votre type se contient lui-même, vous obtiendrez une erreur « Invalid recursive type ». To avoid this, you should include a pointer to a type, not a type itself. Nous fournissons maintenant un correctif rapide pour remédier à cela.

Éditeur

Le nom de l'auteur du code s'affiche dans l'éditeur

Code Vision

Nous avons 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.

Utilisations affichées près des fonctions et des types

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.

Les conseils d'insertion pour les blocs de définition de constantes s'affichent dans l'éditeur

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.

Les champs protobuf générés automatiquement sont ignorés lorsque vous appelez l'action d'intention Fill all fields.

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

L'IDE 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

Les variables d'environnement Go s'affichent dans les paramètres

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 indiqués dans Quick documentation

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

Désormais, l'IDE 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

Nous avons 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é, nous l'avons désactivée pour les fichiers qui contiennent un commentaire correspondant à l'expression régulière suivante : ^// Code generated .* DO NOT EDIT\.$

Client HTTP

Écriture d'un bloc de script dans le 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.

Calcul des valeurs de hachage md5 ou sha1 pour les requêtes HTTP

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.

Utilisation de valeurs aléatoires dans les requêtes HTTP

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

Docker

Les paramètres de Docker dans GoLand sous Windows

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.

Utilisation d'un correctif rapide pour extraire une image

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.

Utilisation de la saisie semi-automatique du code dans un fichier dockerignore

Prise en charge du type de fichier .dockerignore

Nous avons 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'IDE.

La syntaxe Heredoc est mise en évidence dans GoLand

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.

Configuration de connexions Docker supplémentaires avec Docker Contexts

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)

La section Remote Development sur l'écran de bienvenue de GoLand

Votre backend d'IDE 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

La section New UI Preview dans les paramètres

Nouvelle interface utilisateur disponible

Comme vous le savez peut-être déjà, nous avons annoncé en mai dernier un programme de preview privé pour la nouvelle interface utilisateur des IDE JetBrains.

Nous vous invitons à passer à cette nouvelle interface utilisateur dans Settings | Appearance & Behavior | New UI Preview pour l'essayer et nous faire part de vos retours.

Utilisation de la fonctionnalité de prévisualisation pour les actions d'intention

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'IDE 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.

Faire glisser une fenêtre d'outil hors de la fenêtre principale et l'ancrer à un onglet de l'éditeur flottant

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, nous avons implémenté lune 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.

La fenêtre « Tips of the Day »

Amélioration des Tips of the Day

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

Chaque astuce dispose maintenant d'un titre. Nous avons également 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'IDE et du projet sur lequel vous travaillez.

Ajout d'un signet à un fichier à partir d'un onglet de l'éditeur

Mise à jour des signets

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

Ajouter tous les fichiers des onglets actuellement ouverts aux signets

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.

La section Settings Sync dans les paramètres de GoLand

Nouvelle solution Settings Sync

Nous avons 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, nous avons fusionné leurs fonctionnalités en une seule solution : le nouveau plugin Settings Sync.

You can find details about the new unified solution here.

Bases de données

Remarque : pour découvrir toutes les mises à jour concernant les bases de données dans la version 2022.3, rendez-vous sur la page Nouveautés de DataGrip.

Sélection d'une connexion à Redis dans la fenêtre d'outil Database

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.

Filtrage des objets lors de l'utilisation de la recherche rapide dans la fenêtre d'outil Database

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

Remarque : pour découvrir toutes les améliorations apportées au développement web dans la version 2022.3, consultez la page Nouveautés de WebStorm.

Le nom de l'auteur du code et la métrique sur les utilisations sont affichés dans l'éditeur

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

Utilisation d'un correctif rapide pour supprimer une inspection dans un fichier YAML

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.

Nous avons é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

Nous avons commencé à distribuer des assistants d'installation pour Windows ARM64. Vous pouvez d'ores et déjà les télécharger depuis notre site web ou l'application Toolbox App.