GoLand 2022.2 disponible
L'EDI Go de JetBrains apporte de nouvelles fonctionnalités pour les génériques, la prise en charge des tests fuzz et bien d'autres nouveautés
JetBrains a publié la deuxième mise à majeure de l'année pour GoLand, son EDI visant à fournir un environnement ergonomique pour le développement en Go. GoLand 2022.2 apporte de nouvelles fonctionnalités pour les génériques et go.work et la prise en charge des tests fuzz.
Les instructions SQL sont maintenant automatiquement détectées et vous bénéficiez d'une assistance au codage complète. On note encore que GoLand prend désormais en charge les connexions WebSocket et permet d'envoyer des requêtes GraphQL sur les protocoles HTTP et WebSocket.
Nous présentons ici les nouveautés et améliorations de cette version avec plus de détails.
Génériques
Action d'intention pour convertir les interfaces vides en any
GoLand dispose à présent d'une inspection qui signale l'utilisation d'une interface vide comme type ou contrainte de type.
En outre, une action d'intention remplace interface{} par any. Vous pouvez remplacer toutes les interfaces vides d'un fichier depuis la fenêtre contextuelle de l'action d'intention.
Correctif rapide pour supprimer des paramètres de type avec des listes de paramètres vides
Les paramètres de type avec des listes de paramètres vides sont désormais signalés comme des erreurs. JetBrains a ajouté un correctif rapide pour les supprimer.
Inspection pour les paramètres de type inutilisés
JetBrains a ajouté une nouvelle inspection qui signale les paramètres de type inutilisés. Ils sont grisés et un avertissement s'affiche lors du survol par le curseur.
Inspection pour l'union des interfaces avec les méthodes
Si vous tentez d'utiliser des interfaces avec des méthodes dans des unions, l'EDI signale maintenant une erreur.
Inspection pour l'utilisation d'un paramètre de type comme contrainte
Si vous essayez d'utiliser un paramètre de type comme contrainte, GoLand affiche une erreur.
Saisie semi-automatique des paramètres de type lors de la saisie du récepteur d'une méthode
GoLand insère automatiquement l'identifiant d'un paramètre de type lorsque vous ajoutez un récepteur lors de la création d'une méthode.
Nouveau groupe Find Usages pour les paramètres de type
JetBrains a ajouté un nouveau groupe Find Usages pour les génériques : Type parameter declaration.
Tests fuzz
Exécution des tests fuzz
GoLand permet maintenant d'exécuter des tests fuzz. Si vous cliquez sur l'icône en forme de triangle vert dans la gouttière à côté de votre test fuzz, vous verrez s'afficher plusieurs options d'exécution du test. Si le test échoue, l'entrée du corpus de départ ayant échoué sera écrite dans un fichier et placée dans le répertoire du package dans le dossier testdata.
Le chemin d'accès à ce fichier s'affiche également dans la console sous forme de lien cliquable. Si vous cliquez sur le lien, le fichier s'ouvre dans l'EDI avec une icône en forme de triangle vert tout en haut. Un clic sur cette icône lance go test avec l'entrée de corpus de départ défaillante.
Vous pouvez également exécuter des tests fuzz comme s'il s'agissait de tests unitaires normaux depuis l'EDI.
Correctif rapide pour changer le SDK Go
Dans l'EDI, le bouton d'exécution situé dans la gouttière ne sera plus visible si vous avez configuré un SDK Go qui ne prend pas en charge le fuzzing. JetBrains a ajouté un correctif rapide qui permet de modifier le SDK Go si votre SDK actuel ne prend pas en charge le fuzzing.
Espaces de travail Go
Correctif rapide pour regrouper plusieurs directives use
JetBrains a ajouté un correctif rapide qui regroupe plusieurs directives use dans un fichier go.work en une seule directive.
Go 1.19
Prise en charge de fmt.Appendf
Cette version apporte la prise en charge de fmt.Appendf, GoLand peut donc maintenant identifier les verbes de formatage dans les chaînes. Par conséquent, la fonction Appendf bénéficie de toutes les fonctionnalités des fonctions de mise en forme, telles que l'action d'intention Add a format string argument.
Prise en charge de la contrainte de build unix
GoLand prend maintenant en charge la nouvelle balise de build unix, qui reconnaît tout système Unix ou de type Unix.
Ajout de loong64 à la liste Arch
Go 1.19 fournit une nouvelle architecture : loong64. JetBrains l'a ajoutée à sa liste Arch dans Settings | Go | Build Tags & Vendoring.
Documentation rapide
On note quelques améliorations de la documentation rapide :
- Pour chacun des 25 mots-clés de Go, GoLand affiche désormais une infobulle explicite pour décrire la sémantique du mot-clé en question.
- L'EDI affiche désormais des informations sur la direction des canaux. Ces données sont montrées dans des infobulles à trois endroits : lorsque vous survolez le mot-clé chan, sur les opérations d'envoi et de réception des canaux et sur toutes les références aux types de canaux.
- JetBrains a enrichi la documentation rapide pour iota d'informations supplémentaires sur son utilisation. Si une constante fait partie d'un groupe iota, la valeur est maintenant affichée dans la zone de saisie semi-automatique, même si la constante est définie implicitement.
- Il y a aussi une nouvelle infobulle qui explique le fonctionnement des changements de type.
- Si vous appelez Quick Documentation sur un paramètre de type, GoLand affichera une infobulle avec une brève explication du fonctionnement des génériques et un lien vers un tutoriel conçu par l'équipe Go.
- L'infobulle pour les assertions de type contient maintenant des informations supplémentaires à leur sujet et propose des exemples.
- Si vous placez le curseur à l'intérieur des accolades, GoLand vous fournit plus d'informations lors de l'initialisation de cartes, tableaux, tranches et structs.
- Si vous placez le curseur sur un identifiant vide, GoLand affiche une infobulle contenant des informations sur l'identifiant vide et son fonctionnement.
Autres améliorations relatives à la syntaxe de Go
Optimisation des performances
GoLand n'analyse plus le sous-répertoire cache dans ~/go/pkg/mod, car il ne contient pas d'informations nécessaires au bon fonctionnement de l'EDI. Ce dossier peut être assez volumineux et JetBrains pense que son exclusion de l'analyse améliorera les performances.
Prise en charge de la directive go:linkname
On note dans cette version l'ajout de la prise en charge de la directive du compilateur go:linkname :
//go:linkname localname [importpath.name]
Elle demande au compilateur d'utiliser importpath.name comme nom de symbole du fichier objet pour la variable ou la fonction déclarée en tant que localname dans le code source.
Utilisation anormale de l'inspection iota
Une nouvelle inspection dans GoLand vous avertit d'une utilisation anormale de iota.
Avertissement sur la tentative d'affectation d'une valeur à une constante nommée iota
JetBrains a également activé l'inspection Reserved word used as name pour iota et pour d'autres constantes intégrées. L'inspection sera déclenchée si vous essayez d'affecter une valeur à une constante nommée iota, true ou false.
Inspection pour les méthodes sur les récepteurs de valeurs et de pointeurs
La documentation Go recommande que toutes les méthodes d'un type donné aient des récepteurs de valeurs ou de pointeurs. Une nouvelle inspection vous avertit si un type a des méthodes à la fois sur les récepteurs de valeurs et de pointeurs.
Détection automatique de SQL
Les instructions SQL sont désormais automatiquement détectées et le langage est injecté dans chaque littéral de chaîne correspondant à un certain schéma. Lorsque vous injectez un langage dans un littéral de chaîne, vous bénéficiez d'une assistance au codage complète lors de la modification de ce littéral.
Vous pouvez trouver les schémas, les modifier et ajouter les vôtres dans Settings | Editor | Language Injections.
Run Anything
GoLand prend désormais en charge l'action Run Anything, ce qui permet de lancer rapidement des configurations d'exécution et de débogage, des applications, des scripts, des commandes, des tâches, ainsi que d'ouvrir des projets récents. Pour l'utiliser, appuyez deux fois sur Ctrl et commencez à taper dans la barre de recherche.
Client HTTP
Prise en charge des points de terminaison WebSocket
GoLand prend désormais en charge les connexions WebSocket, ce qui permet aux utilisateurs de créer des requêtes, ainsi que d'envoyer et de recevoir des messages.
Prise en charge des points de terminaison GraphQL
GoLand peut maintenant envoyer directement des requêtes GraphQL sur les protocoles HTTP et WebSocket. Pour http:// et https://, des requêtes HTTP simples sont utilisées, tandis que ws:// et wss:// sont délégués à l'exécuteur WebSocket.
Sélection d'un environnement d'exécution
Il existe maintenant un moyen de sélectionner un environnement d'exécution à partir de l'icône de lecture dans la gouttière. Pour activer cette fonctionnalité, cliquez sur Select Environment Before Run dans la liste déroulante Run with.
Développement à distance
JetBrains a mis à jour la section Remote development sur l'écran d'accueil de GoLand. C'est là que vous choisissez votre méthode préférée pour l'orchestration du backend. En outre, la fonctionnalité de transfert de port est désormais disponible pour les processus exécutés sur le terminal.
Space
JetBrains Space est une plateforme de développement logiciel complète, qui vous fournit tout ce dont vous avez besoin en matière de gestion de projet, suivi de tickets, hébergement Git, révisions de code, intégration continue, référentiels de paquets et orchestration de backend à distance pour les EDI JetBrains via des environnements de développement.
L'intégration avec Space est maintenant fournie avec GoLand. Grâce à cette intégration de premier ordre, vous pouvez parcourir les projets Space et en cloner le référentiel, puis commencer à travailler directement sur ces projets. Lorsque vos modifications sont prêtes, vous pouvez créer une requête de fusion et réviser le code à partir de l'EDI.
Vous pouvez aussi gérer vos environnements de développement Space pour le développement à distance directement dans GoLand.
Si votre EDI est connecté à votre organisation Space, tous vos environnements de développement existants sont synchronisés. Vous pouvez créer un nouvel environnement de développement pour un référentiel et une branche et vous mettre à coder immédiatement, mettre un environnement de développement en veille prolongée pour réduire votre consommation de ressources ou simplement le supprimer une fois votre travail terminé.
Interface utilisateur
Action Merge All Project Windows sur macOS
Pour les utilisateurs de macOS, JetBrains a introduit la possibilité de fusionner toutes les fenêtres de projet ouvertes en les transformant en différents onglets d'une même fenêtre. Pour ce faire, cliquez sur Window | Merge All Project Windows.
Raccourci clavier pour modifier la taille de la police
JetBrains inaugure un raccourci clavier qui modifie la taille de police partout dans l'éditeur. Pour augmenter la taille de la police, appuyez sur Alt+Maj+Point. Pour la réduire, utilisez Alt+Maj+Virgule.
Lorsque vous effectuez un zoom avant ou arrière sur votre code dans l'éditeur, vous pouvez maintenant voir un indicateur qui affiche la taille de police actuelle et propose de rétablir la valeur par défaut.
Nouveau champ Description pour les signets mnémoniques
Cette version vient avec un champ Description intégré dans la boîte de dialogue Add Mnemonic Bookmark afin de vous permettre d'ajouter une description facultative à votre signet. Pour ajouter un signet mnémonique, faites un clic droit sur la gouttière côté de la ligne que vous souhaitez ajouter au signet, puis choisissez l'option correspondante dans le menu contextuel. Vous pouvez également utiliser le raccourci Ctrl+F11.
Barre de progression du clonage de référentiel
La barre de progression Cloning repository s'affiche maintenant directement dans la liste Projects.
Accès facilité aux paramètres de saisie semi-automatique du code
Vous pouvez maintenant accéder aux paramètres Code Completion Settings à partir du bouton de menu aux trois points verticaux dans la fenêtre contextuelle de saisie semi-automatique du code.
Éditeur
Contrôler l'insertion automatique des parenthèses
JetBrains a ajouté une option permettant d'activer ou de désactiver l'insertion automatique de parenthèses par l'EDI lors de la saisie semi-automatique du code.
Modifier le style de mise en évidence pour les inspections
Vous pouvez modifier le style de mise en évidence des inspections à l'aide du nouveau menu déroulant Highlighting in editor dans Settings | Editor | Inspections.
Vous disposez ainsi d'options supplémentaires pour personnaliser les inspections. Par exemple, vous pouvez choisir de définir le niveau de gravité d'une inspection particulière sur Warning, tout en modifiant le style de mise en évidence en le définissant sur Error.
Docker
Copy Docker Image
Vous pouvez désormais copier des images d'un démon Docker vers un autre à l'aide de la nouvelle action Copy Docker Image, qui sauvegarde l'image dans un fichier, puis la transmet par push à la connexion choisie.
Connexion automatique à Docker lors du redémarrage de l'EDI
Désormais, GoLand se connecte automatiquement à Docker lorsque vous redémarrez l'EDI. Ce nouveau paramètre est activé par défaut dans Settings | Advanced Settings | Docker.
Intégration avec Colima et Rancher
GoLand est maintenant intégré avec Colima et Rancher et peut ainsi prendre en charge davantage d'options permettant d'établir des connexions à un démon Docker.
Bases de données
Possibilité d'importer plusieurs fichiers CSV
Vous pouvez maintenant sélectionner plusieurs fichiers CSV et tous les importer en une fois.
Modes de résolution pour les bases de données
Lorsque vous travaillez avec des bases de données, vous disposez désormais de deux modes de résolution des fichiers : Playground et Script. Playground est recommandé lorsque vous disposez d'un ensemble de requêtes non connectées et Script pour les requêtes ayant une logique séquentielle.
Autres améliorations
Importer des certificats SSL approuvés
GoLand peut maintenant vous aider à importer des certificats SSL approuvés à partir de magasins de confiance. Il utilisera automatiquement les certificats personnalisés spécifiques à l'environnement de votre entreprise. Vous n'avez rien d’autre à faire. Tout fonctionne automatiquement.
URL cliquables dans les fichiers JSON et YAML
Les fichiers JSON et YAML comportent désormais des références web insérées automatiquement dans les valeurs commençant par http:// et https://. Vous pouvez ouvrir ces liens dans un navigateur web et générer des requêtes dans le client HTTP.
Nouveautés et téléchargement de GoLand 2022.2
Partager