GoLand 2020.1 apporte diverses mises à niveau pour la prise en charge des modules Go, ainsi que des fonctionnalités d'édition de code nécessitant peu ou pas d'interaction de l'utilisateur et un éventail étendu de saisie semi-automatique du code.
Par ailleurs, vous bénéficiez de nouvelles améliorations : inspections de code, correctifs rapides, etc. Citons par exemple le nouveau mode LightEdit, qui vous permet d'ouvrir un fichier dans l'éditeur de texte sans créer ou charger un projet, des vérifications intelligentes de l'orthographe et de la grammaire, et de nouvelles fonctions pour le développement web et le travail avec des bases de données.
Vous préférez apprendre de manière interactive plutôt qu'en lisant sur le sujet ? Suivez le didacticiel Fonctions de GoLand 2020.1 depuis l'IDE.
Les variables d'environnement Go 1.13 GOPROXY
, GOPRIVATE
, GOSUMDB
, GONOPROXY
, et GONOSUMB
sont maintenant prises en charge.
Configurez leur valeur par défaut à l'aide du modèle de projet Modules Go. Cliquez simplement sur l'icône de navigation Browse dans le champ Environment pour ouvrir la nouvelle boîte de dialogue Environment Variables.
La saisie semi-automatique du code pour les mots-clés go
, module
, require
, replace
, exclude
, les noms des dépendances et les remplacements par des chemins locaux est disponible pour le fichier go.mod
.
Les refactorisations Rename et Move sont également opérationnelles. Lorsque vous renommez ou déplacez des répertoires référencés par des instructions replace
, GoLand modifie le chemin d'accès dans le fichier go.mod en conséquence.
Maintenant, vous pouvez également appeler Find Usages dans la vue Project View pour découvrir où le chemin vers un répertoire particulier est utilisé dans le fichier go.mod
.
Dans GoLand 2020.1, vous pouvez récupérer les dépendances manquantes et supprimer les dépendances inutilisées via Alt-Entrée.
Enfin, la nouvelle version affichera une notification avant le commit s'il existe des remplacements par des chemins locaux, afin que vous ne les validiez pas par accident.
GoLand 2020.1 proposera if err != nil { ... }
pour compléter un schéma de gestion d'erreur. Il vous suffit de saisir if
à l'intérieur de l'expression.
Définissez plus rapidement les types de struct et d'interface en tapant simplement le mot-clé type
ou struct
et interface
.
L'action Fill Fields ajoute des espaces après les deux-points lorsque les règles de mise en forme l'exigent. Elle ajoute également une virgule à la fin de l'instruction dans les déclarations de littéraux composites.
Maintenant, lorsque vous travaillez avec des cartes, la saisie semi-automatique du code déplace le curseur derrière le crochet de fermeture une fois que vous avez complété un type de clé.
Pour le type de retour de la fonction, la saisie semi-automatique fournit des suggestions pour les variables locales et les valeurs nulles qui seront appropriées pour le type de valeur de retour correspondant.
La saisie semi-automatique intelligente Smart Code Completion suggère un pointeur vers l'initialiseur de struct.
Elle suggère également les types compatibles dans les déclarations et les cas de changement de type en premier.
Dans une déclaration de type, elle propose le type de la variable attribuée.
Enfin, elle fournit une liste de suggestions de pointeurs possibles dans l'expression.
Merci de réserver votre meilleur accueil à la saisie semi-automatique basique du code pour les commentaires, qui facilite grandement la rédaction de la documentation ! Elle suggère des noms pour les déclarations du paquet actuel et des noms de paramètres pour les fonctions et les méthodes.
En plus de cela, cette fonction suggérera des littéraux et des conversions.
GoLand 2020.1 ajoute des parenthèses autour des types de retour après la virgule lorsque vous écrivez la signature d'une fonction de retour à valeurs multiples.
Lorsque vous collez du texte dans un littéral de chaîne, l'IDE échappe les guillemets doubles.
Pour en savoir plus sur les fonctionnalités en arrière=plan, consultez l'article Les fonctionnalités d'édition de GoLang que vous ne connaissiez pas.
Go 1.14 a décidé de prendre en charge l'intégration d'interfaces qui se chevauchent, et nous aussi ! Si vous décrivez différents aspects d'un type à l'aide d'interfaces qui se chevauchent, GoLand ne signalera pas les méthodes en doublon comme des erreurs.
Le mode vendoring est activé automatiquement dans Go 1.14 si la racine du module contient un répertoire vendor. Dans GoLand 2020.1, nous avons décidé d'implémenter un comportement similaire pour les versions Go 1.13 et antérieures. L'IDE résoudra automatiquement les importations vers le dossier vendor/ s'il est présent dans le module.
Pour vous aider à distinguer plus facilement entre les goroutines au cours du débogage ou de l'analyse des principaux vidages de mémoire, nous leur avons ajouté des libellés de profileur.
Pour en savoir plus, lisez cet article : Comment trouver des goroutines au cours du débogage.
Il est maintenant possible d'utiliser des macros en tant que paramètres pour exécuter ou déboguer votre application. Dans la boîte de dialogue Run/Debug Configurations, cliquez sur + dans les champs Go Tool ou Program arguments pour ouvrir la nouvelle boîte de dialogue Macros avec la liste des macros disponibles à utiliser.
De plus, vous pouvez maintenant stocker le fichier de configuration dans le projet. Sélectionnez l'options Store as project file en haut de la boîte de dialogue Run/Debug Configurations.
Le modèle Postfix Completion .else
ajoute rapidement une déclaration if
pour vérifier si l'expression est fausse.
Changez un appel non formatant en appel formatant en un rien de temps, en appuyant sur Alt+Entrée.
Le correctif rapide Create variable affiche à présent une suggestion de type attendu pour faciliter la saisie de la bonne valeur.
Cette nouvelle inspection de code vous avertit des appels non valides des méthodes de pointeur sur des récepteurs non pointeurs et propose un correctif rapide.
L'inspection de code Invalid conversions of uintptr to unsafe.Pointer vous avertit des utilisation incorrectes de uintptr
et unsafe.Pointer
pour convertir des entiers en pointeurs.
L'inspection Unmarshal is called with incorrect argument analyse les appels à json.Unmarshal
et aux fonctions similaires des paquets encoding/json
, encoding/xml
, et encoding/gob
.
L'inspection de code Locks mistakenly passed by value vous aide à éviter de copier accidentellement une valeur contenant un verrou.
Nous avons ajouté de nouveaux modèles pour vous aider à créer rapidement des groupes de déclarations. Citons notamment consts
, vars
, types
, et imports
. Lorsque vous utilisez l'un de ces modèles, GoLand ajoute des accolades autour des noms de déclarations.
Le modèle fori
insère le code réutilisable pour la boucle for classique.
La refactorisation Extract Method conserve l'ordre d'origine des paramètres de la méthode et de la fonction parente.
La refactorisation Rename détecte désormais automatiquement le renommage d'une déclaration. Par conséquent, si vous renommez manuellement une déclaration, l'IDE affichera une icône dans la gouttière pour vous proposer d'en renommer toutes les utilisations.
Navigate to implementations (Ctrl+Alt+B) et Navigate to Declaration ou Usages (Ctrl+B) affichent maintenant les résultats du projet actuel en premier.
De plus, l'action Find Usages (Alt+F7) recherche maintenant toujours les utilisations des méthodes de l'interface par défaut. Pour trouver les utilisations de la méthode actuelle comme auparavant, utilisez Alt+Shift+Ctrl+F7.
La nouvelle fenêtre d'outil Commit intègre maintenant les onglets Local Changes et Shelf. Cette fenêtre d'outil couvre toutes les tâches associées aux commits, comme la vérification de diffs, la sélection de fichiers et de morceaux de fichiers à valider, et la saisie d'un message de commit. Commit est une fenêtre d'outil verticale située sur la gauche de l'écran, ce qui laisse suffisamment de place à l'éditeur pour afficher le diff.
La fenêtre contextuelle Branches a été remaniée sur plusieurs points :
Nous avons considérablement remanié Interactively Rebase from Here. C'est une boîte de dialogue qui vous permet de modifier, combiner et supprimer vos commits précédents, pour rendre votre historique de commits plus linéaire et plus compréhensible.
Pour appeler cette boîte de dialogue, accédez à l'onglet Log de la fenêtre d'outil Git, sélectionnez le plus ancien commit de la série de commits que vous souhaitez modifier, cliquez dessus avec le bouton droit de la souris et choisissez Interactively Rebase from Here.
Utilisez les nouvelles intentions et inspections intelligentes (Alt+Entrée) pour gagner du temps lors du codage ! Par exemple, vous pouvez désormais convertir rapidement le code existant en chaînage facultatif et/ou en coalescence nulle, la syntaxe introduite dans les dernières versions de JavaScript et TypeScript.
Pour JavaScript et TypeScript, la fenêtre contextuelle Documentation affiche maintenant des informations plus utiles, notamment le type et la visibilité du symbole ainsi que l'emplacement où ce symbole est défini.