Nouveautés de GoLand 2024.1

GoLand 2024.1 inclut de nombreux ajouts significatifs :

  • Nous avons implémenté la saisie semi-automatique de code en ligne entière : une saisie semi-automatique exécutée localement, générée par l'IA et basée sur des LLM, dorénavant disponible gratuitement pour tous les utilisateurs de GoLand.
  • Les performances d'indexation et de mise en évidence ont été considérablement améliorées.
  • Nous avons mise à jour et perfectionné l'AI Assistant, avec notamment des options supplémentaires pour la saisie semi-automatique du code et la génération de documentation.
  • La prise en charge des Dev Container est désormais disponible hors du programme d'accès anticipé et apporte de nouvelles fonctionnalités intéressantes.
  • Nous avons ajouté la prise en charge des mises à jour de Go 1.22.

La nouvelle version apporte également de nombreuses améliorations de l'expérience utilisateur et des outils internes. Voyons tout cela en détail !

Saisie semi-automatique de code en ligne entière

GoLand 2024.1 inaugure la fonctionnalité de saisie semi-automatique de code en ligne entière, qui complète automatiquement des lignes entières de code à l'aide de modèles de deep learning contextuels exécutés localement. En plus de vous aider à gagner en vitesse et en efficacité, cette fonctionnalité s'exécute localement, sans envoi d'aucune donnée à des serveurs externes. Cette fonctionnalité est accessible à tous les utilisateurs de GoLand 2024.1. L'opportunité idéale de se familiariser avec l'IA ! Vous voulez en savoir plus ? Lisez cet article de blog sur le sujet !

Vous pouvez contrôler cette fonctionnalité et spécifier les langages pour lesquels vous souhaitez obtenir des suggestions de lignes complètes dans Settings | Editor | General | Code Completion | Machine Learning-Assisted Completion.

Améliorations des performances

Performances d'indexation améliorées

L'indexation est désormais beaucoup plus rapide dans GoLand. Nous avons constaté des augmentations de vitesse de 30 % en moyenne. Naturellement, les résultats pourront varier d'un utilisateur à l'autre en fonction des spécificités de ses projets et du matériel qu'il utilise. N'hésitez pas à nous faire part des résultats que vous obtiendrez ! Voici une illustration de l'indexation avec le framework Gin.

Plus d'éléments mis en évidence pendant l'indexation

Grâce à cette amélioration, la mise en évidence fonctionne désormais pour les références dès le démarrage de l'IDE ! Si vous avez besoin de le voir pour y croire, en voici deux exemples.

AI Assistant

JetBrains continue de travailler sur l'AI Assistant pour l'enrichir de fonctionnalités et d'actions utiles supplémentaires. Dans cette version, GoLand apporte deux améliorations aux fonctionnalités d'IA existantes. Essayez-les !

Saisie semi-automatique basée sur le cloud pour les structures et les interfaces

Dans la version 2023.3, nous avions introduit la saisie semi-automatique inline pour les blocs de fonctions et de méthodes. Dans la version 2024.1, elle s'applique également aux déclarations de structures et d'interfaces. Lorsque la saisie semi-automatique fait une suggestion dans une déclaration de type, elle prend en compte le contexte de l'utilisation ainsi que la structure parente et les références. Cela améliore la pertinence des suggestions basées sur l'IA.

Génération de documentation pour les champs de structures et les méthodes d'interfaces

GoLand génère désormais de la documentation pour les types entiers, les méthodes d'interface et les champs de structures. Pour générer de la documentation, placez le curseur dans une définition de champ et sélectionnez l'action d'IA Write Documentation. Vous pouvez également saisir // avant la définition du champ pour déclencher la suggestion.

Les utilisateurs peuvent maintenant personnaliser les prompts pour certaines actions d'IA, telles que la génération d'un message de commit. Cela permet d'obtenir des résultats plus pertinents et personnalisés.

À partir de la version 2024.1, vous pouvez exporter un fichier contenant des extraits de code générés par le chat IA. Vous pouvez également joindre des fichiers pour fournir davantage d'éléments de contexte lorsque vous posez des questions dans le chat.

Développement à distance

Dans sa version 2024.1, l'IDE améliore l'expérience de développement à distance : la mise en évidence, le rendu et la fluidité globale du développement sont maintenant proches de ce qu'offre la programmation locale. Vous pouvez voir par vous-même à quel point la mise en évidence et la saisie semi-automatique sont presque aussi rapides dans le cloud que pour les bases de codes locales.

De plus, les utilisateurs peuvent désormais gérer des projets distants directement à partir du client de l'IDE, créer de nouveaux projets distants ou ouvrir des projets existants.

Dev Containers

Les utilisateurs peuvent maintenant exécuter un dev container depuis l'écran d'accueil (à partir de leur disque local ou de leur VCS). Il leur fallait auparavant ouvrir le projet en premier.

Les dev containers sont maintenant livrés avec des modèles de fichiers pour tous les langages de programmation populaires.

Des paramètres ont été ajoutés pour permettre aux utilisateurs de configurer leur IDE backend JetBrains (par exemple GoLand ou CLion) directement dans le fichier devcontainer.json.

Dans GoLand 2024.1, les fichiers devcontainer.json sont reconnus où qu'ils soient stockés dans le projet. Dans les versions antérieures, il fallait obligatoirement les stocker dans le dossier ~/.devcontainer.

Prise en charge des mises à jour de Go 1.22

Le langage Go évolue constamment et nous faisons de notre mieux pour offrir une prise en charge de toutes ses nouvelles fonctionnalités le plus rapidement possible.

Prise en charge de range pour les entiers et les fonctions

Go 1.22 permet d'itérer facilement sur des entiers et des fonctions de manière plus concise qu'avec une boucle for classique.

Prise en charge du vendoring pour les espaces de travail Go

Le vendoring vous permet de mieux contrôler les dépendances utilisées dans votre projet, car il vous permet de les stocker dans le référentiel du projet. Dans Go 1.22, les commandes des espaces de travail peuvent utiliser un répertoire vendor contenant les dépendances de l'espace de travail. GoLand prend désormais en charge cette amélioration.

Mise à jour de l'analyse des flux de données (DFA)

L'analyse des flux de données a été introduite dans GoLand 2023.3, et dans la version 2024.1, la fonctionnalité est désormais suffisamment perfectionnée pour être activée par défaut. L'analyse des flux de données de GoLand prend actuellement en charge trois inspections : Constant conditions detection, Potential nil dereference, et Error may be not nil. Pour en savoir plus sur ces développements, consultez notre article de blog.

Prise en charge améliorée de Terraform

Nous avons apporté des améliorations significatives à notre prise en charge pour le développement d'infrastructures sous forme de code avec Terraform, destinée aux développeurs, aux ingénieurs de fiabilité de site (SRE) et aux spécialistes DevOps. Cette mise à jour comprend une série de nouvelles fonctionnalités et d'améliorations visant à simplifier le processus de création, de gestion et d'évolution de votre infrastructure.

Suggestion d'exécuter terraform init

Pour initialiser le répertoire de travail avec les fichiers de code Terraform, nous devons d'abord exécuter terraform init. On l'oublie souvent, ce qui conduit à des messages d'erreur de la part de Terraform, ainsi qu'à une saisie automatique incomplète et à un affichage partiel de la documentation. Pour éviter cela, l'IDE suggère désormais explicitement d'exécuter terraform init.

Prise en charge des fournisseurs tiers à partir du registre Terraform

Le plugin Terraform offre désormais des capacités étendues de saisie semi-automatique du code pour plus de 3 900 fournisseurs Terraform tiers, facilitant ainsi l'écriture de code pour les développeurs. De plus, vous disposerez de la documentation la plus récente pour chacun de ces fournisseurs, ainsi que de leurs versions spécifiques,

directement dans l'IDE.

Prise en charge du langage de modèle Terraform (tftpl)

Nous sommes ravis d'annoncer la prise en charge du langage de modèle de Terraform (tftpl), qui va améliorer votre workflow en facilitant la création de fichiers de configuration, de scripts ou de tout code dont vous avez besoin pour la configuration de serveurs web, de réseaux ou de services. Un ajout important pour faciliter la création de modèles ! Vous pouvez maintenant remplir les valeurs de vos modèles de façon dynamique au moment de l'exécution, ce qui simplifie le processus de rendu des modèles pour des utilisations spécifiques.

Le langage de modèle de Terraform prend non seulement en charge les éléments de modèles variables et les éléments de flux de contrôle, mais inclut également des listes, de mappages et la possibilité de générer des formats JSON et YAML.

Expérience utilisateur et autres fonctionnalités

Nouveau terminal

GoLand 2024.1 offre un terminal remanié, avec des améliorations visuelles et fonctionnelles pour rendre les tâches basées sur le terminal plus simples et plus pratiques. Ces améliorations concernent notamment l'historique, la navigation entre les blocs et la disponibilité de conseils pour chaque commande.

La nouvelle fenêtre d'outils Terminal s'intègre parfaitement à la nouvelle interface utilisateur, notamment du point de vue du design, et fournit une fonctionnalité de saisie semi-automatique pour les commandes, chemins, arguments et options. Pour en savoir plus, consultez notre article dédié.

Possibilité de réduire l'échelle de l'IDE entier

GoLand 2024.1 offre la possibilité d'effectuer un zoom arrière sur l'ensemble de l'IDE. Initialement, la plage d'échelle ne comprenait que l'option de zoom avant, entre 100 % et 200 %. Dans cette version, vous pouvez également réduire l'IDE à 90 %, 80 % ou 70 %.

Lignes épinglées dans l'éditeur

Pour simplifier l'utilisation de fichiers volumineux et l'exploration de nouvelles bases de codes, nous inaugurons les lignes épinglées dans l'éditeur. Cette fonctionnalité conserve des éléments structurels clés, tels que les débuts de classes ou de méthodes, épinglés en haut de l'éditeur pendant que vous faites défiler l'écran. Les portées restent ainsi toujours visibles et vous pouvez naviguer rapidement dans le code en cliquant sur une ligne épinglée.

Mises à jour pour le VCS

Révision du code dans l'éditeur

GoLand offre maintenant un workflow de révision de code plus fluide et agile pour les utilisateurs de GitHub et de GitLab. Les auteurs et les réviseurs peuvent désormais interagir directement et en toute transparence au sein de l'éditeur, grâce au nouveau mode de révision. En savoir plus.

États des vérifications de CI dans la fenêtre d'outils Git

Nous avons introduit une nouvelle colonne dans l'onglet Log de la fenêtre d'outil Git pour vous permettre de consulter facilement les résultats des vérifications de commits GitHub effectuées par votre système de CI. Cliquez simplement sur l'onglet pour voir tous les détails des vérifications de la CI.

Indicateurs visuels pour les mises à jour GitHub en attente

Nous avons introduit des indicateurs visuels pour vous informer des mises à jour en attente dans votre workflow de révision du code. Lorsque des modifications requièrent votre attention, un badge en forme de point bleu apparaît sur l'icône de la fenêtre d'outils. En outre, pour vous assurer de ne pas manquer les mises à jour dans votre processus de révision du code, les requêtes d'extraction non vues sont signalées par un point bleu.

Améliorations pour le web et les bases de données

GoLand hérite des mises à jour des IDE WebStorm et DataGrip. Les fonctionnalités pour le développement web ou le travail avec les bases de données vous intéressent ? Découvrez-les sans tarder !