GoLand 2023.3 inclut de nombreux ajouts significatifs :
returns
et panics
sur une seule ligne, et d'autres éléments de code. slice
, l'analyse du code pour les fonctions personnalisées de type printf
et des améliorations du débogueur. GoLand 2023.3 apporte aussi des mises à jour pour les intégrations avec Docker et Kubernetes, le système de gestion de version, ainsi que plusieurs ajustements pour le développement web. Apprenez-en plus dès maintenant !
Les dernières mises à jour de l'AI Assistant comprennent la génération de code directement dans l'éditeur, un chat IA contextuel qui répond aux requêtes concernant votre projet sans que vous ayez à copier de code et des actions d'IA qui tiennent compte du contexte de votre projet pour fournir des résultats plus complets. Une nouvelle visionneuse de différences permet d'identifier facilement les modifications apportées à votre code par les actions d'IA.
Utilisez l'AI Assistant dans GoLand en tant que fonctionnalité supplémentaire en vous abonnant au service JetBrains AI.
Le nommage peut être difficile ! C'est pourquoi l'AI Assistant de GoLand suggère des idées de noms pour les fonctions qui favorisent la lisibilité.
Documenter votre code est une tâche fastidieuse, mais nécessaire. L'action Write documentation permet d'obtenir un code bien commenté en quelques clics.
L'AI Assistant peut vous aider à créer un test pour une fonction ou une méthode spécifique et vous proposera des cas de test supplémentaires une fois la classe de test initiale créée.
Ce correctif rapide vous permet de saisir un nom de fonction qui n'existe pas, puis de générer l'implémentation dans le paquet de votre choix.
La version 2023.3 inclut la première partie de la très attendue refactorisation Extract Parameter. Le correctif rapide Create Parameter pour les références non résolues vous permet d'en sélectionner une et d'utiliser l'option de correctif rapide pour créer un paramètre. Il permet également de modifier son type s'il n'est pas suffisamment précis, fournit une valeur par défaut et modifie les appels avec cette valeur.
GoLand prend désormais en charge les Dev Container, qui peuvent être utilisés comme un environnement à part entière pour modifier, construire et exécuter vos projets. Les Dev Containers peuvent être exécutés à distance via une connexion SSH ou localement avec Docker.
GoLand 2023.3 prend en charge les Dev Container Features. Vous disposez ainsi d'un moyen rapide et pratique pour intégrer des outils, environnement d'exécution et bibliothèques supplémentaires essentiels pour le développement.
Nous avons également introduit la prise en charge de Docker Compose dans les Dev Containers, afin de facilier le lancement du conteneur principal avec l'IDE et des conteneurs dépendants, tels que ceux incluant des bases de données ou des files d'attente de messages, qui sont utiles pendant le processus de développement.
returns
et panics
Vous avez maintenant la possibilité d'utiliser un style de pliage de code plus concis, beaucoup plus proche du code d'origine, pour les one-liners returns
et panics
.
La nouvelle syntaxe de pliage est activée par défaut.
L'approche est similaire pour les clauses case
: la flèche vers le haut est supprimée et seuls les doubles points sont pliés.
returns
simples Comme pour les one-liners returns
et panics
, nous avons activé le pliage pour les fonctions avec une seule instruction return
.
Pour améliorer la lisibilité du code de traitement des erreurs, GoLand plie automatiquement les blocs if
de traitement des erreurs.
Pour les blocs if
avec du code de traitement des erreurs, GoLand plie également toutes les instructions uniques, par exemple, avec des appels au logging.
string
Nous avons désactivé le pliage de code pour le formatage string
afin de rendre la syntaxe pertinent plus visible. D'autre part, la nouvelle approche pour le pliage de code vous permet de modifier des blocs de code sans avoir à les développer.
Switch
pour les enums GoLand peut maintenant vous aider à écrire des instructions switch
pour les enums. Dans la fenêtre contextuelle de saisie semi-automatique, des options permettant de générer des cas pour toutes les valeurs sont suggérées.
iota
L'inspection permet de suivre les expressions switch
pour les constantes iota
. L'inspection vous alerte sur les cas non couverts par switch
et propose deux solutions : ajouter les clauses manquantes ou une clause par défaut.
Cette fonctionnalité vous permet de voir exactement le code qui a été exécuté lors d'une seule ou de plusieurs exécutions. Elle permet également de détecter le code mort.
Auparavant, cela ne s'appliquait qu'aux exécutions de tests, mais dorénavant, vous pouvez aussi exécuter la fonction main
avec Coverage.
slice
Les expressions Slice
peuvent prêter à confusion, notamment celles qui ont trois indices. GoLand affiche désormais des conseils lorsque vous construisez des slices.
printf
GoLand inclut de nombreuses fonctionnalités pratiques pour les fonctions standard de type printf
: surlignage des espaces réservés, détection des erreurs, pliages de code, etc. Désormais, toutes ces fonctionnalités sont disponibles pour les fonctions de type printf
définies par l'utilisateur.
GoLand 2023.3 introduit un analyseur de flux de données plus précis et basé sur le moteur utilisé dans CLion. Cette fonctionnalité détecte davantage de problèmes de code, tels que le déréférencement nil
potentiel, le traitement incorrect ou insuffisant des erreurs et les conditions toujours true/false
.
Veuillez noter que cette fonctionnalité est actuellement limitée à la version accès anticipé (EAP) et qu'elle est désactivée par défaut. Vous pouvez l'activer dans Settings | Editor | Inspections | Go | Data Flow Analysis (experimental) pour l'essayer et nous faire part de votre avis !
L'outil de ligne de commande asdf permet de gérer les versions d'exécution multiples pour le langage. En réponse aux retours de la communauté, nous avons décidé d'inclure dans cette nouvelle version la prise en charge d'asdf. Désormais, GoLand vérifie la version de Go dans le fichier .tool-versions
et utilise la version appropriée pour le projet sélectionné.
Go 1.21 et ses versions ultérieures permettent d'éviter les erreurs de compilation du code qui font appel à une version encore plus récente de Go. Plus précisément, la ligne go
de go.mod
spécifie désormais la version minimale requise pour la chaîne d'outils Go, alors que dans les versions précédentes, il s'agissait seulement d'une suggestion.
La nouvelle version de GoLand prend intégralement en charge ce flux et télécharge automatiquement la version du SDK qui est spécifiée dans un fichier go.mod
sur la ligne go
ou toolchain
. La version spécifiée est également définie dans les paramètres de Go project.
GoLand 2023.3 a migré vers l'API de la plateforme IntelliJ Platform, ce qui lui évite d'exécuter go list -m
une deuxième fois si le projet contient des répertoires de fournisseurs. L'utilisation plus efficace des caches améliore les performances des projets contenant de nombreux modules Go.
La nouvelle option d'incrustation Run to Cursor permet d'atteindre rapidement une ligne de code spécifique pendant le débogage. Une fois votre programme suspendu, vous pouvez survoler la ligne de code sur laquelle vous souhaitez poursuivre l'exécution. Vous pouvez ensuite utiliser la fenêtre contextuelle Run to Cursor pour exécuter votre code jusqu'à ce qu'il atteigne la ligne où le curseur est situé.
Nous poursuivons l'intégration avec GitLab avec l'ajout de la prise en charge des extraits de code de GitLab. Il est désormais possible de créer des extraits de code publics ou privés directement dans l'IDE.
Il est désormais possible d'ajouter facilement des contextes kubeconfig
à partir de clusters situés dans des répertoires en dehors du système requis. Le projet inclura des liens vers les fichiers kubeconfig
pour rendre ces clusters disponibles pendant que vous travaillez sur votre projet. Le contenu kubeconfig
ajouté de cette manière ne sera pas copié ni modifié dans le système (~/.kube/config)
. Cette fonctionnalité est particulièrement utile si vous ajoutez et supprimez souvent des clusters Kubernetes à partir d'environnements cloud ou sur site. En savoir plus.
Pour commencer à utiliser le plugin Kubernetes, vous devrez peut-être installer kubectl ou Helm. S'ils ne sont pas déjà sur votre machine, l'IDE vous proposera de les installer automatiquement.
Telepresence vous permet de déboguer localement les microservices d'une application Kubernetes, comme si votre poste de travail faisait partie du cluster. Dans cette version, nous avons rendu le workflow de Telepresence plus accessible en le déplaçant vers le menu contextuel du cluster. Nous avons également optimisé la gestion des interceptions afin de fluidifier l'expérience de débogage.
import
dans Terraform GoLand prend en charge les blocs import
de niveau supérieur à partir de la version 1.5 du langage de configuration Terraform. Les blocs import
vous permettent de placer l'infrastructure actuelle sous la gestion de Terraform. Lorsque import
est utilisé dans un bloc de code, il devient une partie des étapes standard plan et apply et cesse d'être une opération d'état. Terraform génère automatiquement le code pour les ressources importées pour vous faire gagner du temps lors du développement d'une infrastructure en tant que code.
GoLand 2023.3 résout une partie des incohérences liées à l'ajout de déclarations import type
. Nous avons ajouté la possibilité de configurer l'utilisation de l'instruction import type de TypeScript ou du spécificateur de type lors de l'importation d'un type. Nous avons également amélioré le comportement du champ exports
de package.json pour les fichiers TypeScript.
Nous avons amélioré la fenêtre d'outils Structure pour améliorer la navigation dans les gros fichiers .http
. Cette mise à jour introduit aussi les étiquettes à code couleur pour les types de requête et fournit une liste plus claire de leur contenu. Nous avons également ajouté la prise en charge de la déclaration des variables en utilisant @
et l'authentification avec le mot de passe OAuth 2.0 et les types de validation des informations d'authentification des clients.
GoLand détecte automatiquement vos tests Cypress et Playwright, et vous permet de les exécuter et de les déboguer en un clic. La prise en charge permet également d'explorer les résultats et d'identifier les problèmes en parcourant le Test Tree.
Il s'agit d'une nouvelle approche de la révision des changements de code. Désormais, au lieu de parcourir chaque fichier un par un, vous pouvez consulter tous les fichiers modifiés à partir de l’ensemble des modifications regroupées dans un même cadre déroulant. En savoir plus.