- L'AI Assistant est maintenant disponible pour tous, avec de nombreuses nouveautés et fonctionnalités améliorées pour rendre votre travail avec les EDI de JetBrains encore plus productif.
- Les Dev Container sont maintenant officiellement pris en charge. JetBrains travaille sur un ensemble de fonctionnalités et développe activement la prise en charge des Dev Container, qui sont donc en « Bêta ».
- Une énorme mise à jour du style de pliage de code pour le traitement des erreurs, des returns et panics sur une seule ligne, et d'autres éléments de code.
- Plusieurs conseils, refactorisations et correctifs rapides pour améliorer votre productivité, tels que des conseils pour les expressions slice, l'analyse du code pour les fonctions personnalisées de type printf et des améliorations du débogueur.
GoLand 2023.3 offre également des mises à jour pour les intégrations avec Docker et Kubernetes, le système de gestion de version, ainsi que plusieurs ajustements mineurs pour le développement web. Vous pouvez explorer tout cela dès maintenant !
AI Assistant
Les dernières mises à jour de l'AI Assistant apportent une génération de code améliorée 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 projet et utilisent un contexte étendu pour fournir des résultats plus complets. Un nouveau visualiseur de différences permet d'identifier facilement les modifications apportées à votre code par les actions de l'IA.
Vous pouvez utiliser l'AI Assistant dans GoLand en tant que fonctionnalité supplémentaire en vous abonnant à JetBrains AI Service.
AI Assistant pour GoLand : Rename
Choisir un nom est difficile ! C'est pourquoi l'AI Assistant de GoLand donne des idées de nom de fonction pour une meilleure lisibilité.
AI Assistant pour GoLand : Write documentation
La documentation de votre code est une tâche fastidieuse, mais incontournable. L'action Write documentation permet d'obtenir un code commenté efficacement en deux clics.
AI Assistant pour GoLand : Generate Unit Test
L'AI Assistant peut vous aider à créer un test pour une fonction ou une méthode spécifique et propose des cas de test supplémentaires une fois la classe de test initiale créée.
Refactorisations
Correctif rapide Create function pour créer une fonction dans un autre paquet
Ce correctif rapide vous permet de saisir un nom de fonction qui n'existe pas, puis de générer son implémentation dans le paquet de votre choix.
Refactorisation Extract Parameter
La version 2023.3 inclut la première partie de la refactorisation Extract Parameter très attendue. 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 correction 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 celle-ci.
Dev Container
Prise en charge des Dev Container
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 Container peuvent être exécutés à distance, via une connexion SSH ou localement avec Docker.
Prise en charge des Dev Container Features
GoLand 2023.3 prend en charge les Dev Container Features, ce qui débouche sur une solution rapide et pratique d'intégration d'outils supplémentaires, d'exécutables et de bibliothèques essentielles pour le développement.
Prise en charge de Docker Compose dans les Dev Container
JetBrains a également introduit la prise en charge de Docker Compose dans les Dev Container, afin de lancer facilement aussi bien le conteneur principal avec l'EDI que les conteneurs dépendants, tels que ceux comportant des bases de données ou des files d'attente de messages, qui sont utiles pendant le processus de développement.
Amélioration du pliage de code
returns et panics sur une seule ligne
Concernant les returns et panics sur une ligne, vous avez désormais la possibilité d'utiliser un style de pliage de code plus concis, qui semblera beaucoup plus proche du code d'origine. La nouvelle syntaxe de pliage est activée par défaut.
JetBrains utilise une approche similaire pour les clauses case : la flèche vers le haut est supprimée, et seuls les deux points sont pliés.
Fonctions avec returns simples
Comme pour les returns et panics sur une ligne, JetBrains a activé le pliage pour les fonctions avec une seule instruction return.
Gestion des erreurs
Afin de clarifier le 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 à la connexion.
Pliage de code désactivé pour le formatage de string
JetBrains a désactivé le pliage de code pour le formatage de string, afin de rendre la syntaxe plus visible. D'autre part, la nouvelle approche du pliage de code vous permet de modifier les blocs de code sans avoir à les développer.
Saisie semi-automatique du code
Génération de Switch pour les énumérations
GoLand peut désormais vous aider à écrire des instructions switch pour les énumérations. Il suggère de générer des cas pour toutes les valeurs de la saisie semi-automatique.
Avertissements sur les branches manquantes lorsque les cas contiennent des constantes déclarées en utilisant 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.
Exécution et création de build
Profils de couverture du code pour les programmes
Cette fonctionnalité vous permet de voir exactement le code qui a été atteint lors d'exécutions simples ou multiples. Elle permet également de détecter le code inactif.
Auparavant, cela ne s'appliquait qu'aux exécutions de test, mais maintenant vous pouvez aussi exécuter la fonction main avec Coverage.
Autres fonctionnalités relatives à Go
Conseils de paramètres pour les expressions slice
Les expressions Slice peuvent prêter à confusion, notamment celles qui ont trois indices. GoLand affiche désormais des conseils lorsque vous construisez des instances de slice.
Analyse du code pour les fonctions personnalisées de type 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.
Data Flow Analysis
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 codage, tels que le déréférençage potentiel nil, un traitement d'erreur partiel, voire incorrect, et des conditions toujours true/false.
Il est à noter que cette fonctionnalité est actuellement limitée à la version avec accès anticipé (EAP) et est désactivée par défaut. Vous pouvez l'activer dans la section Settings | Editor | Inspections | Go | Data Flow Analysis (experimental) et faire part de vos avis à JetBrains.
Prise en charge des installations Go locales avec asdf
L'outil de ligne de commande asdf permet de gérer les versions d'exécution utilisant plusieurs langages. En réponse aux retours de la communauté, JetBrains a décidé d'inclure dans cette nouvelle version la prise en charge d'asdf. Désormais, GoLand vérifiera la version de Go dans le fichier .tool-versions et utilisera la version appropriée pour le projet sélectionné.
Compatibilité en aval et gestion de la chaîne d'outils pour Go 1.21
Go 1.21 et les versions ultérieures permettent d'éviter les erreurs de compilation du code qui font appel à une version encore plus récente de Go. Plus spécialement, la ligne go de go.mod spécifie désormais la version minimale requise de la chaîne d'outils Go, alors que dans les versions précédentes cette suggestion était rarement appliquée.
Désormais, 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 en utilisant la ligne go ou toolchain. La version spécifiée est également définie dans les paramètres de Go project.
Amélioration des performances de prise en charge des éditeurs de logiciels
GoLand 2023.3 a migré vers l'API moderne d'IntelliJ Platform, ce qui lui évite d'exécuter go list -m une deuxième fois si le projet contient des répertoires propres à l'éditeur de logiciels. L'utilisation plus efficace des caches améliore les performances des projets contenant de nombreux modules Go.
Débogueur
Option d'incrustation Run to Cursor
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é.
VCS
Prise en charge des extraits de code GitLab
Afin d'étendre l'intégration avec GitLab, JetBrains a ajouté 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'EDI.
Kubernetes
Option permettant d'ajouter des contextes de clusters à partir d'un fichier
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.
Installation automatique des outils Kubernetes
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'EDI vous proposera de les installer automatiquement.
Amélioration du débogage avec Telepresence
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, JetBrains a rendu le workflow de Telepresence plus accessible en le déplaçant vers le menu contextuel du cluster. JetBrains a également optimisé la gestion des interceptions afin de fluidifier l'expérience de débogage.
Prise en charge du bloc 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 partie intégrante du cycle 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.
Autres mises à jour
Améliorations pour TypeScript
GoLand 2023.3 résout une partie des incohérences constatées lors de l'ajout de déclarations import type. JetBrains a 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. L'éditeur de logiciels pour développeurs a également amélioré le comportement du champ exports de package.json pour les fichiers TypeScript.
Améliorations pour le client HTTP
JetBrains a 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. JetBrains a é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.
Prise en charge de Cypress et Playwright
GoLand détecte automatiquement vos tests Cypress et Playwright, et vous permet de les exécuter et de les déboguer en un simple clic de la souris. La prise en charge permet également d'explorer les résultats et d'identifier les problèmes en parcourant le Test Tree.
Visualiseur de diff tout-en-un
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.
Nouveautés et téléchargement de GoLand 2023.3