La version 2020.3 de GoLand vous permet de gérer le vidage des goroutines, d'exécuter différents tests de tables individuels et de naviguer dans les tests, et apporte une prise en charge étendue du framework de test Testify. Vous y trouverez également de nombreuses nouvelles fonctionnalités pour l'édition de code, notamment la prise en charge de packages de temps, pour le développement web et pour le travail avec des bases de données, des moyens plus intelligents de gérer les packages, des améliorations de l'interface utilisateur et un nouveau service pour le développement collaboratif et la programmation en binôme.
Vous préférez apprendre de manière interactive plutôt que de lire des cours ? Consultez le tutoriel What's New in GoLand 2020.3 disponible dans l'IDE depuis l'écran Welcome.
Dans le débogueur, la nouvelle icône Dump Goroutines vous permet de trouver facilement les goroutines qui contiennent une chaîne spécifique dans la pile pendant la session de débogage. Il suffit de cliquer sur l'icône pour ouvrir un dump dans une fenêtre séparée.
Pour éviter les distractions et maintenir l'attention sur les informations importantes, vous pouvez masquer une goroutine donnée ou plusieurs goroutines avec la même pile. Faites un clic droit sur une goroutine et sélectionnez l'action souhaitée ou appuyez simplement sur la touche supprimer pour la déplacer vers une section spéciale Hidden située dans la fenêtre de dump.
GoLand 2020.3 permet de stopper un processus avec la configuration Go Remote si aucune reconnexion au processus n'est requise.
Dans vos paramètres de configuration, vous pouvez spécifier le comportement par défaut du débogueur à la déconnexion avec l'une des options suivantes : Stop remote Delve processes, Leave it running ou laisser GoLand vous demander comment procéder à chaque fois.
Vous pouvez exécuter différents tests de table et naviguer dans les tests à partir de la fenêtre d'outils Run.
Il y a cependant quelques limitations :
fmt.Sprintf()
avec des verbes %s
et %d
. L'IDE reconnaît désormais la fonction de test qui lance une suite de tests, et fournit un moyen de lancer un suite.Run
individuel et suite.T().Run
, tant que le nom du sous-test est une constante de chaîne. En outre, il est possible de réexécuter un sous-test à partir de la fenêtre d'outils Run pour éviter de relancer l'ensemble du test de niveau supérieur.
De plus, GoLand peut désormais exécuter des suites Testify avec le même nom de méthode séparément dans un seul cas de test.
Enfin, lorsque vous exécutez une fonction ou une méthode qui accepte testing.T
comme premier argument, GoLand transmet automatiquement cet argument lorsque c'est possible. Cela fonctionne pour les fonctions et méthodes des paquets testify/assert
, testify/require
, testify/mock
et testify/suite
.
L'inspection de code Incorrect usage of Println/Printf like functions vous avertira des problèmes potentiels dans les paquets github.com/pkg/errors
, github.com/sirupsen/logrus
et go.uber.org/zap
.
En plus de cela, nous avons ajouté le surlignage et le pliage des espaces réservés, ainsi que l'intention Add format string argument.
L'inspection contexte.CancelFunc not called code signale des utilisations potentiellement dangereuses d'annulation du contexte. Cette inspection est particulièrement utile lorsque la fonction « cancel » renvoyée par contexte.WithCancel
(et les fonctions similaires) n'est pas appelée sur tous les chemins d'exécution.
Pour en savoir plus sur ce paquet, veuillez consulter : https://golang.org/pkg/context/.
Nous avons ajouté un prise en charge des paquets de temps afin de faciliter votre travail avec le temps et la durée. GoLand propose des éléments de présentation prédéfinis via la saisie automatique (Ctrl+Espace), comme des espaces réservés YYYY
, MM
, DD
de ISO-8601.
Appuyez sur Ctrl+P sur un jeton et l'IDE affichera sa signification. La mise en évidence des éléments de syntaxe est également disponible pour les jetons de présentation. La saisie automatique suggère aussi des présentations du temps standards en dehors du littéral de chaîne.
L'IDE est propose une hiérarchisation plus intelligente des éléments de saisie automatique des paquets que vous utilisez fréquemment et qui sont explicitement déclarés dans le fichier go.mod
de votre projet.
Nous avons également ajouté une option permettant d'exclure complètement les paquets de vos suggestions de chemin d'importation du projet et de la saisie automatique. Pour l'utiliser, appuyez sur Alt+Entrée ou allez dans la nouvelle fenêtre Exclude for import and completion dans Settings | Go | Imports.
GoLand permet de détecter plus facilement les ombrages de variables :
Nous avons pris en compte les mises à jour du design des génériques de l'équipe Go et ajouté la prise en charge des crochets au lieu des parenthèses pour la syntaxe générique.
Veuillez noter que le paramètre Enable generics (experimental support for type parameters) dans Settings | Go est désactivé par défaut. Vous devez cocher la case correspondante pour utiliser cette fonctionnalité.
Lisez cet article de blog pour en savoir plus sur les paramètres de type.
Lorsque vous saisissez func
dans le fichier de test, GoLand propose par défaut les Live Templates bench
et test
dans les options de saisie automatique.
Lorsque vous saisissez for
à l'intérieur du benchmark, l'IDE suggère de le compléter par une boucle for avec b.N
.
Les suggestions apparaissent maintenant immédiatement dans la boîte de dialogue lorsque vous appuyez sur Alt+Entrée. De plus, une nouvelle version du moteur de vérification grammaticale LanguageTool améliore les révisions de texte en anglais et prend en charge 10 langues supplémentaires.
GoLand 2020.3 prend en charge Code With Me (version EAP), un nouveau service de JetBrains pour le développement collaboratif et la programmation en binôme. Code With Me vous permet de partager le projet que vous avez actuellement ouvert dans votre IDE avec d'autres personnes et de travailler dessus ensemble en temps réel.
Consultez ces articles pour en savoir plus à ce sujet.
Nous avons retravaillé l'écran Welcome pour vous donner un accès immédiat aux :
Sélectionnez l'option Sync with OS dans Settings | Appearance & Behavior | Appearance | Theme pour changer automatiquement votre thème IDE en fonction des préférences de votre système d'exploitation.
Divisez l'écran principal de l'éditeur horizontalement ou verticalement en faisant glisser un onglet à la position souhaitée et en le déposant à cet endroit. Lorsque vous faites glisser un onglet, l'éditeur indique les endroits où vous pouvez le déposer.
Nous avons amélioré l'expérience utilisateur pour le travail avec des fichiers dans la vue Project. Dorénavant, lorsque vous ouvrez un fichier à partir de la vue Project, le focus est automatiquement fait sur l'éditeur pour vous permettre de commencer à travailler directement avec votre code. Appuyez sur la barre d'espace pour que l'IDE vous présente un aperçu du fichier dans la vue Project.
Si vous souhaitez que plusieurs fichiers soient ouverts simultanément dans l'éditeur, vous pouvez désormais le faire grâce à un simple raccourci. Sélectionnez le fichier dans la vue Project et appuyez sur Maj+Entrée pour que l'IDE divise la fenêtre Editeur et ouvre le fichier dans la partie droite de celle-ci.
Le menu VCS s'adapte désormais au système de contrôle de version que vous utilisez actuellement, ce qui facilite l'accès aux principales fonctionnalités du VCS puisqu'elles ne sont plus cachées dans un sous-menu.
La zone de staging Git maintenant est prise en charge dans l'IDE ! Veuillez noter que cette fonctionnalité n'est disponible que pour la fenêtre d'outils Commit.
Cochez la case Enable staging area dans Settings | Version Control | Git pour l'activer. La prise en charge des listes de modifications sera alors désactivée.
Dans l'interface utilisateur de commit, vous trouverez les fichiers indexés et non indexés. Lorsque vous êtes prêt à indexer un fichier, il vous suffit de cliquer sur l'icône + à côté de celui-ci. Le fichier apparaîtra sous le nœud Staged. Pour ajouter vos modifications à la zone de staging, vous pouvez également utiliser l'icône gouttière ou Show Diff.
Le travail avec les branches a été amélioré :
Nous avons ajouté la possibilité de choisir d'activer les plugins pour le projet en cours ou pour tous les projets en sélectionnant Enable for Current Project ou Enable for All Projects. Dans Settings | Plugins, appuyez sur l'icône engrenage du plugin que vous souhaitez activer ou désactiver et sélectionnez l'option souhaitée.
La carte clavier macOS system shortcut (Settings | Keymap) est une alternative à la cartec lavier macOS qui offre une compatibilité étendue avec les raccourcis du système et vous évite d'utiliser les touches F pour des actions essentielles.
Nous avons amélioré le mécanisme de recherche du Flame Graph dans le profileur et sa visualisation pour vous permettre de trouver plus rapidement les métriques de la méthode. Vous pouvez cliquer sur l'icône loupe ou saisir votre recherche dans le volet Flame Graph.
Nous avons également ajouté un champ de recherche, des flèches haut/bas pour une navigation rapide dans les résultats de recherche et la possibilité de rechercher dans l'ensemble du Flame Graph ou uniquement dans une sous-arborescence spécifique.
Grâce à l'équipe WebStorm, GoLand dispose maintenant d'une prise en charge étendue pour le développement web. L'un des changements notables dans ce domaine est la possibilité de créer un composant React à partir d'une référence non résolue. Placez le curseur sur le composant non résolu, appuyez sur Alt+Entrée et sélectionnez l'inspection correspondante.
GoLand fournit une prise en charge complète du gestionnaire de package pnpm, ainsi que de npm et yarn. Lorsque vous ouvrez un projet avec un fichier pnpm-lock et que pnpm est installé sur votre machine, GoLand l'utilisera automatiquement comme gestionnaire de package pour ce projet. L'IDE propose également une option pnpm dédiée dans la liste des gestionnaires de package dans Settings | Languages and Frameworks | Node.js and NPM.
GoLand 2020.3 vous permet de choisir entre la détection manuelle ou automatique des fichiers de configuration webpack. Les nouvelles options se trouvent dans Settings | Languages & Frameworks | JavaScript | Webpack.
Grâce à nos collègues de l'équipe DataGrip, GoLand prend un charge un nouveau membre de la famille des bases de données : Couchbase ! Veuillez noter que l'IDE prend en charge le service Couchbase Query et non le service Couchbase Analytics.
GoLand gère les droits d'accès aux objets de bases de données et les affiche dans les DDL d'un objet. Cela fonctionne pour MySQL, PostgreSQL, Greenplum, Redshift et SQL Server.
Nous avons amélioré l'éditeur séparé pour les valeurs des cellules :
Nous avons ajouté deux nouveaux extracteurs pour vous aider à travailler plus facilement avec les données :
INSERT
unique avec les nouvelles lignes à insérer. De plus, il existe désormais une nouvelle option dans la configuration du format CSV : never quote values.