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 !
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. 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.
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.
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 %.
Vous pouvez maintenant générer des tests pour les fonctions avec des paramètres génériques.
Une inspection détectant les paramètres de type en minuscules et un correctif rapide pour les passer en majuscules sont désormais disponibles.
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
.
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.
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.
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.
À 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 sous forme de listes HTML dans la fenêtre contextuelle Quick Documentation de GoLand et dans la fenêtre d'outil Documentation.
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.
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.
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.
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.
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.
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.
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.
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
étaient trouvés.
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.
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\.$
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'IDE propose désormais un nouvel ensemble de variables aléatoires random.
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.
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.
.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.
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
.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Une itération préliminaire de la très attendue prise en charge de Redis a été implémentée.
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.
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.
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.
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 #
.
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.