GoLand 2023.1 apporte un vérificateur de vulnérabilités, une meilleure navigation dans le code gRPC et la refactorisation Rename pour les récepteurs génériques.
Vous pouvez désormais exécuter des fichiers temporaires (sratch) avec des paquets de bibliothèques non standards, utiliser des expressions régulières pour créer vos propres inspections de recherche et de remplacement, et convertir rapidement des littéraux de chaînes bruts en litteraux avec des guillemets doubles et inversement. L'action d'intention Implement interface fonctionne maintenant pour les interfaces non exportées.
Cette version fournit aussi plusieurs améliorations pour la nouvelle interface utilisateur, des mises à jour pour Docker et Kubernetes, et des améliorations pour le développement web.
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 2023.1 accessible à partir de l'écran d'accueil Welcome.
GoLand peut désormais mettre en évidence les paquets comportant des vulnérabilités connues dans go.mod.
. Survolez le code mis en évidence ou appuyez sur Alt+Entrée, choisissez Show vulnerability info for …, et GoLand affichera une liste de vulnérabilités avec des liens vers leur description détaillée. Les données concernant les vulnérabilités sont fournies par l'entreprise de sécurité logicielle Checkmarx.
Pour mettre à jour une dépendance et obtenir une version sans vulnérabilités, placez le curseur sur un paquet mis en évidence dans go.mod
, appuyez sur Alt+Entrée et choisissez le correctif rapide Change package-name version to v0.x.x.
GoLand met également en évidence les appels de méthodes des paquets présentant des vulnérabilités connues directement dans votre éditeur. Vous pouvez survoler le code mis en évidence pour afficher une fenêtre contextuelle contenant des informations sur la vulnérabilité et un lien vers sa description détaillée.
Vous pouvez y accéder via Code | Analyze Code | Show Vulnerable Dependencies.
Le client HTTP de GoLand prend actuellement en chargel'exécution de requêtes gRPC. Vous pouvez également exécuter des requêtes gRPC à partir de la fenêtre d'outil Endpoints.
Cette version offre une autre amélioration significative à notre ensemble de fonctionnalités pour gRPC : vous pouvez désormais accéder aux déclarations de messages, de services et de méthodes et les parcourir à partir du code Go et de leurs implémentations Go dans les fichiers .proto
.
Pour ce faire, cliquez sur l'icône dédiée située à côté de la déclaration d'un message, d'un service, d'une méthode ou de leur implémentation.
Vous pouvez maintenant exécuter des fichiers temporaires (scratch) avec des dépendances Go de bibliothèques non standards. Lorsque vous copiez votre code d'un fichier de projet vers un fichier temporaire et que vous appuyez sur le bouton Run, GoLand crée une configuration Run avec le drapeau -overlay
. Ce dernier est utilisé avec un fichier JSON qui mappe les chemins d'accès aux fichiers go.mod
et go.sum
dans votre projet d'origine.
Lorsque vous renommez un paramètre de type dans une structure, la refactorisation Rename vous propose désormais de modifier les récepteurs en conséquence.
Nous avons corrigé plusieurs problèmes affectant la navigation entre les interfaces, les implémentations et les spécifications de méthodes dans le code générique. Nous avons également implémenté plusieurs correctifs supplémentaires pour les faux positifs et les faux négatifs liés aux génériques.
Une nouvelle action d'intention vous permet de convertir rapidement des chaînes de caractères brutes (entourées du caractère « ` ») en chaînes entre guillemets doubles et inversement.
Auparavant, lorsque vous deviez convertir un entier en chaîne, GoLand vous proposait d'abord le correctif rapide Convert to ‘string'. Pour effectuer la conversion correctement, vous aviez ensuite besoin d'un autre correctif rapide : Convert integer to string using strconv.Itoa() call.
Nous avons simplifié ce workflow et GoLand propose maintenant directement le correctif rapide Convert integer to string using strconv.Itoa() call.
L'action d'intention Implement interface fonctionne désormais pour les interfaces non exportées.
GoLand fournit maintenant une inspection et un correctif rapide por vous aider à détecter et à supprimer les espaces en début de ligne dans les directives Go telles que //go:embed
.
Dans la version précédente, nous avons activé la fonctionnalité Intention Preview par défaut.
Cette fonctionnalité vous permet de voir instantanément es effets de l'application des suggestions de l'IDE sur votre code.
Vous pouvez maintenant prévisualiser davantage d'actions d'intention et de correctifs rapides : Introduce local variable, Create variable/global variable, Create constant/global constant, Create field, Merge declaration up, Delete all unused parameters, Create function, Create method, Fill all fields
Nous avons amélioré l'expérience de démarrage de l'IDE grâce à l'exécution du processus Scanning files to index… en mode intelligent. L'ensemble des fonctionnalités sont ainsi disponibles bien plus rapidement lors du démarrage de l'IDE. Lorsque vous ouvrez un projet, GoLand utilise les caches de votre session précédente avec ce projet et recherche simultanément les fichiers à indexer. Les retards causés auparavant par l'indexation au démarrage sont éliminés : si aucune modification n'est détectée lors de l'analyse, l'IDE est prêt à être utilisé.
Une nouvelle notification se déclenche lorsque Windows Defender est activé avec la protection en temps réel. GoLand suggère d'ajouter des dossiers spécifiques à la liste des exclusions de Defender, car ces contrôles antivirus peuvent impacter considérablement la vitesse de l'IDE. La notification propose des options pour reconfigurer ces paramètres automatiquement ou pour consulter d'abord les instructions de configuration de Defender afin de le configurer manuellement.
Nous avons mis à jour la fonctionnalité Code vision et GoLand affiche désormais le nombre d'implémentations d'une interface et les spécifications de ses méthodes.
Dans la version précédente, nous avions introduit l'affichage des utilisations à proximité des fonctions et des types pour indiquer le nombre de références à la fonction ou au type dans le projet en cours. Désormais, les auteurs du code sont également affichés si l'intégration du contrôle de version est activée.
Vous pouvez désormais utiliser des expressions régulières pour créer vos propres inspections de recherche et de remplacement. Ces inspections s'avèrent particulièrement utiles pour mettre en évidence les problèmes de formatage ou de style.
Pour créer une inspection, allez dans Settings | Editor | Inspections, appuyez sur l'icône + et sélectionnez Add RegExp Search Inspection dans la liste pour accéder à la boîte de dialogue dans laquelle vous pourrez configurer votre nouvelle inspection. Choisissez le langage souhaité, utilisez les indications fournies dans le volet de gauche pour créer une expression régulière, et indiquez le remplacement requis. Vous pouvez également indiquer comment vous souhaitez que l'IDE les mette en évidence dans le projet.
Nous avons intégré la fonctionnalité Go Playground à GoLand 2022.3.
Dans cette version, nous avons aussi amélioré cette fonctionnalité. Tout d'abord, les URL partagées incluent désormais le paramètre de version si vous choisissez une version de développement ou une version antérieure.
Nous avons également ajouté une option permettant de désactiver la fenêtre contextuelle qui vous demande l'autorisation de partager du code dans le Playground dans Settings | Go | Ask before sharing in Go Playground.
Nous avons affiné l'expérience utilisateur pour le collage d'une ligne copiée ou coupée sans sélection. Vous trouverez maintenant un spécial qui permet de contrôler l'emplacement du contenu collé.
Dans Settings | Advanced Settings, allez dans la section Editor et sélectionnez le comportement souhaité pour l'action Paste dans la liste déroulante.
Une nouvelle case à cocher Selection dans Settings | Editor | General | Appearance | Show Whitespace vous permet de configurer ce paramètre afin que l'IDE matérialise les espaces sous forme de petits points uniquement lors de la sélection du code.
Nous avons modifié l'inspection Typo afin qu'elle ne contrôle plus l'orthographe des hashes et des valeurs spéciales et ne les signale plus comme erronés. Cette mise à jour concerne les valeurs suivantes :
Nous avons introduit un nouveau groupe Find Usages pour les appels de fonction : le groupe Call.
Nous avons également implémenté plusieurs correctifs concernant la représentation de l'utilisation des éléments de code génériques dans la fenêtre Find Usages.
Vous pouvez désormais zoomer dans la fenêtre principale de GoLand pour augmenter ou diminuer la taille de tous les éléments de l'interface utilisateur en même temps. Dans le menu principal, cliquez sur View | Appearance | Switch Zoom IDE et ajustez l'échelle de l'IDE.
Nous avons introduit une nouvelle option de mise en page qui vous permet d'unifier la largeur des fenêtres d'outils latérales ou de conserver la possibilité d'ajuster librement leur taille lorsque vous personnalisez votre mise en page. La nouvelle case à cocher Remember size for each tool window est disponible dans Settings | Appearance | Appearance & Behavior | Tool Windows.
Dans la nouvelle interface utilisateur, ce paramètre est désactivé par défaut, les fenêtres d'outils s'affichent donc avec une largeur unifiée et leur taille reste constante lorsque vous passez de l'une à l'autre. Dans l'ancienne interface utilisateur, l'option est activée et les fenêtres d'outils ont des largeurs différentes, mais vous pouvez choisir de les aligner à tout moment en désactivant simplement ce paramètre.
Vous pouvez maintenant enregistrer et gérer plusieurs dispositions de fenêtres d'outils et passer de l'une à l'autre en fonction de vos besoins.
Pour enregistrer une nouvelle disposition, organisez les fenêtres d'outils comme vous le souhaitez, puis cliquez sur Window | Layouts | Save Current Layout as New. Une fois la disposition ajustée, vous pouvez actualiser la configuration actuelle avec l'option Save Changes in Current Layout ou enregistrer ces modifications pour créer une autre disposition personnalisée. Pour activer une disposition enregistrée, cherchez-la dans la liste sous Window | Layouts, survolez son nom puis cliquez sur Apply.
Cette version fournit une option qui permet de prédéfinir le comportement d’Actions on Save pour les nouveaux projets.
Pour ce faire, allez dans File | New Projects Setup | Preferences For New Projects | Tools | Actions on Save et sélectionnez les actions à déclencher lorsque vous enregistrerez vos modifications dans de projets.
L'année dernière, nous avons inauguré une nouvelle interface utilisateur plus minimaliste pour GoLand et les autres IDE de JetBrains. Pour cette version, nous y avons apporté plusieurs améliorations, sr la base des retours d'expérience des utilisateurs. Lisez ce qui suit pour en savoir plus sur les principales modifications de la nouvelle interface utilisateur réalisées pour cette version. Vous pouvez essayer la nouvelle interface utilisateur en cochant la case New UI dans Settings | Appearance & Behavior.
Visitez cette page pour en savoir plus sur la nouvelle interface utilisateur.
Afin d'améliorer l'expérience utilisateur de notre nouvelle interface sur petit écran, nous introduisons le mode Compact Mode qui offre une apparence plus condensée à l'IDE grâce à la réduction de la hauteur des barres d'outils et des en-têtes des fenêtres d'outils, et à la réduction de la taille des espacements et des marges ainsi que des icônes et boutons.
Pour activer le mode Compact Mode, allez dans le menu View pour sélectionner Appearance | Compact Mode.
Par ailleurs, la barre d'outils supérieure n'est plus visible dans les modes Zen et Distraction Free.
Nous avons introduit une option permettant de fractionner la zone de fenêtre d'outil, afin que vous puissiez l'organiser en fonction de vos besoins.
Pour ajouter une fenêtre d'outil dans cette zone et la placer dans la partie inférieure, faites glisser son icône le long de la barre latérale et déposez-la sous le séparateur. Vous pouvez également faire un clic droit sur une icône pour appeler le menu contextuel et attribuer une nouvelle position à une fenêtre d’outil à l’aide de l’action Move to.
Lorsque plusieurs projets sont ouverts, vous pouvez facilement passer de l'un à l'autre en utilisant les onglets de projet présents sous la barre d'outils principale. Pour ce faire, cliquez sur Window | Merge All Project Windows.
Nous avons ajouté la fonctionnalité Show Hidden Tabs à la nouvelle interface utilisateur. Vous disposez désormais d’un menu déroulant affichant la liste complète des onglets ouverts, qui pouvaient être masqués auparavant.
Nous avons ajouté un volet qui affiche le nom du fichier actuellement ouvert lorsque les onglets de l'éditeur sont masqués.
Nous avons remanié le widget Run en haut de la fenêtre de l'IDE. Les icônes sont désormais simplement affichées en vert, pour un rendu plus discret et agréable à l'œil par rapport à l'ancien design, avec lequel toute la zone autour des icônes était colorée.
Dans ce build, nous avons ajouté la saisie semi-automatique pour les noms de conteneurs lorsque vous utilisez le paquet testcontainers-go
.
Après avoir saisi le nom du conteneur, vous pouvez utiliser l’action Pull Docker image implémentée précédemment.
L'onglet Dashboard du nœud Docker Composeregroupe et affiche désormais les journaux de tous les conteneurs Docker Compose à jour.
Vous pouvez désormais vous connecter facilement à Azure Container Registry. Allez dans Settings | Build, Execution, Deployment | Docker | Docker Registry et sélectionnez l’option Docker V2 dans le champ Registry.
Vous avez maintenant la possibilité d'ajouter des indicateurs de configuration :z aux montages associés Docker, afin de connecter des volumes à des conteneurs Docker sur des postes de travail SELinux. Pour activer cette fonctionnalité, allez dans Settings | Advanced Settings | Docker.
Pour faciliter la création de fichiers Kubernetes, nous avons ajouté une nouvelle action (Kubernetes Resource) au menu New, qui s'affiche lorsque vous faites un clic droit sur la fenêtre d'outil Project.
Après avoir sélectionné l'option Kubernetes Resource, vous verrez une fenêtre contextuelle comportant une liste des types de ressources les plus populaires, comme Pod, Deployment, ConfigMap, etc.
Nous avons introduit une nouvelle boîte de dialogue pour créer des secrets Kubernetes.
Pour définir un nouveau secret, vous pouvez saisir une clé et une valeur manuellement. Vous pouvez également spécifier un fichier dont le contenu sera utilisé pour la valeur du secret ainsi créé.
Dorénavant, lorsque vous utilisez l'action View YAML pour les ressources d'un cluster et que vous apportez des modifications au fichier ouvert, l'IDE met en évidence toutes les modifications effectuées avec des indicateurs de couleur dans la gouttière. Vous pouvez ainsi vous assurer que les modifications sont apportées aux bons emplacements de la ressource avant de les appliquer au cluster.
L''icône Compare with Cluster ouvre en outre une vue diff complète qui récupère la version actuelle de la ressource dans le cluster pour la comparer à sa version locale.
Vous pouvez maintenant accéder facilement à un fichier kubeconfig dans la vue Services et l'ouvrir dans l'éditeur. Si vous modifiez un fichier kubeconfig en dehors de GoLand, l'IDE le détectera et en actualisera automatiquement la configuration dans la fenêtre d'outil Services. De plus, l'IDE prend maintenant en charge la mise en évidence et la saisie semi-automatique du code pour les fichiers kubeconfig.
Vous pouvez maintenant affecter des raccourcis à la plupart des actions Kubernetes dans la vue Services, notamment Forward Ports, Delete Resource et Describe Resource. Pour configurer vos raccourcis personnalisés, allez dans Settings | Keymap | Plugins | Kubernetes.
Une nouvelle action d'intention vous permet de corriger le formatage des tableaux dans les fichiers Markdown. Vous pouvez accéder au correctif rapide via le raccourci Alt+Entrée ou en cliquant sur l'icône d'ampoule jaune pour sélectionner Reformat table dans la liste qui s'affiche.
L'action Fill Paragraph de l'éditeur est maintenant prise en charge pour les fichiers Markdown et permet de diviser de longs textes en plusieurs lignes de même longueur. Pour l'utiliser, placez le curseur dans le paragraphe à modifier et appelez l'action à partir du menu Edit ou cherchez la commande Fill Paragraph à l'aide de Search everywhere (Double Maj) pour l'exécuter.
Nous avons ajouté une page dédiée à la configuration et à la modification de vos préférences pour Markdown dans Settings | Editor | General | Smart Keys. Cette page a pour objectif de faciliter la gestion de vos préférences en proposant des cases à cocher distinctes pour diverses fonctionnalités de l'éditeur, en remplacement de la case unique qui se trouvait précédemment dans Settings | Languages & Frameworks.
Nous avons amélioré l'ergonomie de la fenêtre contextuelle Branches. Par exemple, la navigation entre les branches est maintenant facilitée, car elles sont regroupées et stockées dans des listes que vous pouvez développer.
Nous avons implémenté la saisie semi-automatique dans la fenêtre contextuelle Create New Branch. Appuyez sur Ctrl+Espace pour que l’IDE vous propose des préfixes pertinents basés sur les noms des branches locales existantes.
Pour faciliter le suivi des modifications apportées aux fichiers, nous avons ajouté des indications de couleur à la fenêtre d'outil Structure. Les noms des objets modifiés deviennent bleus, tandis que ceux des objets ajoutés récemment s'affichent en vert dans la fenêtre d'outil.
Nous avons retravaillé le comportement des vérifications de commits pour Git et Mercurial afin d'accélérer l'ensemble du processus de commit. Les vérifications se déroulent désormais en arrière-plan, après votre commit mais avant le push.
Nous avons remanié la fenêtre d'outil Pull Request. Elle propose désormais un onglet dédié à chaque requête d'extraction que vous ouvrez. L'onglet affiche instantanément la liste des fichiers modifiés, mais fournit moins d'informations qu'auparavant afin de favoriser la concentration sur votre tâche en cours. De plus, un bouton dédié permet désormais d'exécuter facilement l'action considérée comme la plus importante compte tenu de l'état actuel de la requête pull.
La prise en charge d'Astro fait son arrivée dans GoLand. Pour en bénéficier, installez notre nouveau plugin Astro à partir de Settings | Plugins. Ce plugin fournit des fonctionnalités de base telles que la mise en évidence de la syntaxe, la complétion de code avec importations automatiques, des refactorisations, la navigation, le formatage, et bien plus.
GoLand transforme désormais automatiquement vos chaînes entre guillemets simples ou doubles en littéraux de modèles lorsque vous saisissez ${
. Cela fonctionne pour les chaînes brutes et propriétés JSX.
Nous avons ajouté la prise en charge de TypeScript dans les modèles Vue. Vous pouvez l'activer en définissant l'attribut lang
d'une balise script
sur ts
. Auparavant, JavaScript était utilisé indépendamment de l'attribut lang
de la balise script
.
Remarque : pour découvrir toutes les améliorations apportées au développement web dans la version 2023.1, consultez la page Nouveautés de WebStorm.