Ce référentiel fournit le module golang.org/x/tools
, comprenant divers outils et packages principalement destinés à l'analyse statique des programmes Go, dont certains sont répertoriés ci-dessous. Utilisez le lien « Go reference » ci-dessus pour plus d’informations sur n’importe quel package.
Il contient également le module golang.org/x/tools/gopls
, dont le package racine est un serveur LSP (Language-Server Protocol) pour Go. Un serveur LSP analyse le code source d'un projet et répond aux demandes d'un large éventail d'éditeurs tels que VSCode et Vim, leur permettant de prendre en charge des fonctionnalités de type IDE.
Commandes sélectionnées :
cmd/goimports
formate un programme Go comme go fmt
et insère en outre des instructions d'importation pour tous les packages requis par le fichier après sa modification.cmd/callgraph
imprime le graphique d'appel d'un programme Go.cmd/digraph
est un utilitaire permettant de manipuler des graphiques orientés en notation textuelle.cmd/stringer
génère des déclarations (y compris une méthode String
) pour les types "enum".cmd/toolstash
est un utilitaire permettant de simplifier le travail avec plusieurs versions de la chaîne d'outils Go.Ces commandes peuvent être récupérées avec une commande telle que
go install golang.org/x/tools/cmd/goimports@latest
Forfaits sélectionnés :
go/ssa
fournit une représentation intermédiaire (IR) statique à affectation unique (SSA) pour les programmes Go, similaire à un compilateur classique, à utiliser par les outils d'analyse.
go/packages
fournit une interface simple pour charger, analyser et vérifier le type d'un programme Go complet à partir du code source.
go/analysis
fournit un cadre pour l'analyse statique modulaire des programmes Go.
go/callgraph
fournit des graphiques d'appels de programmes Go utilisant une variété d'algorithmes avec différents compromis.
go/ast/inspector
fournit un moyen optimisé de parcourir un arbre d'analyse Go pour une utilisation dans les outils d'analyse.
go/cfg
fournit un simple graphique de flux de contrôle (CFG) pour une fonction Go.
go/gcexportdata
et go/gccgoexportdata
lisent et écrivent les fichiers binaires contenant les informations de type utilisées par les compilateurs standard et gccgo
.
go/types/objectpath
fournit un schéma de dénomination stable pour les entités nommées (« objets ») dans l'API go/types
.
De nombreux autres packages offrent des fonctionnalités plus ésotériques.
Ce référentiel utilise Gerrit pour les modifications de code. Pour savoir comment soumettre des modifications, consultez https://go.dev/doc/contribute.
Le référentiel git est https://go.googlesource.com/tools.
Le principal outil de suivi des problèmes pour le référentiel d'outils se trouve sur https://go.dev/issues. Préfixez votre problème avec « x/tools/(votre sous-répertoire) : » dans la ligne d'objet, afin qu'il soit facile à trouver.
Ce référentiel utilise plus joli pour formater les fichiers JS et CSS.
La version de prettier
utilisée est la 1.18.2.
Il est conseillé d'exécuter tout le code JS et CSS avant de soumettre une modification. Cependant, il ne s’agit pas d’une exigence stricte appliquée par CI.