Améliorations du débogueur
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.
Améliorations des tests
Prise en charge des tests de table
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 :
- la variable de données de test doit être une section, un tableau ou une carte. Elle doit être définie dans la même fonction que l'appel et ne doit pas être modifiée après l'initialisation (sauf pour les clauses de portée dans une boucle for) ;
- l'entrée de données de test individuel doit être de type struct literal. Les variables de boucle utilisées dans une expression de nom de sous-test ne doivent pas être modifiées avant l'appel ;
- une expression de nom de sous-test peut être un champ de chaîne dans les données de test, une concaténation de champs de chaîne de données de test, et un appel fmt.Sprintf() avec des verbes %s et %d.
Prise en charge étendue de Testify
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.
Inspections de code
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.
Édition du code
Prise en charge des paquets de temps
Nous avons ajouté une 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.
Gestion plus intelligente des paquets
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.
Prise en charge de l'ombrage des variables
GoLand permet de détecter plus facilement les ombrages de variables :
- l'IDE affiche maintenant les variables qui ombrent une déclaration existante dans une couleur différente ;
- l'action d'intention "Navigate to shadowing declaration" vous permet de passer immédiatement à la déclaration ombrée.
Crochets dans les paramètres de type
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é.
Code With Me
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.
Améliorations de l'interface utilisateur
Nouvel écran d'accueil
Nous avons retravaillé l'écran Welcome pour vous donner un accès immédiat aux :
- options de recherche des projets.
- paramètres pour personnaliser votre IDE.
- plugins pour étendre les fonctionnalités de votre IDE.
- tutoriels pour en savoir plus sur les fonctionnalités de votre IDE.
Synchronisation du thème de l'IDE avec les préférences de votre système d'exploitation
Sélectionnez l'option Sync with OS dans Settings | Appearance & Behavior | Appearance | Theme pour changer automatiquement votre thème EDI en fonction des préférences de votre système d'exploitation.
Glisser-déposer des onglets pour diviser l'écran de l'éditeur
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.
Mises à jour de la vue Project
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.
Mises à jour de VCS
Menu VCS retravaillé
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.
Prise en charge de la zone de staging Git
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.
Amélioration du travail avec les branches
Le travail avec les branches a été amélioré :
- l'EDI corrige désormais automatiquement les symboles non acceptés dans les noms de nouvelles branches afin qu'elles soient conformes au format accepté ;
- l'EDI vous montre également toutes les actions disponibles pour la branche sélectionnée, tout comme il le ferait pour les autres branches ;
- pour les branches distantes, nous avons renommé les actions Merge into Current et Rebase Current onto Selected en Pull into Current Using Merge et Pull into Current Using Rebase.
Modifications relatives au développement web
Créer un composant React à partir de son utilisation
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.
Prise en charge complète de pnpm
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.
Prise en charge basique de plusieurs configurations webpack
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.
Télécharger GoLand 2020.3
Source : JetBrains