Este repositorio proporciona el módulo golang.org/x/tools
, que comprende varias herramientas y paquetes, principalmente para el análisis estático de programas Go, algunos de los cuales se enumeran a continuación. Utilice el enlace "Ir a referencia" de arriba para obtener más información sobre cualquier paquete.
También contiene el módulo golang.org/x/tools/gopls
, cuyo paquete raíz es un servidor de protocolo de servidor de lenguaje (LSP) para Go. Un servidor LSP analiza el código fuente de un proyecto y responde a solicitudes de una amplia gama de editores como VSCode y Vim, lo que les permite admitir funciones similares a IDE.
Comandos seleccionados:
cmd/goimports
formatea un programa Go como go fmt
y además inserta declaraciones de importación para cualquier paquete requerido por el archivo después de editarlo.cmd/callgraph
imprime el gráfico de llamadas de un programa Go.cmd/digraph
es una utilidad para manipular gráficos dirigidos en notación textual.cmd/stringer
genera declaraciones (incluido un método String
) para tipos "enum".cmd/toolstash
es una utilidad para simplificar el trabajo con múltiples versiones de la cadena de herramientas Go.Estos comandos se pueden recuperar con un comando como
go install golang.org/x/tools/cmd/goimports@latest
Paquetes seleccionados:
go/ssa
proporciona una representación intermedia (IR) estática de formulario de asignación única (SSA) para programas Go, similar a un compilador típico, para uso de herramientas de análisis.
go/packages
proporciona una interfaz sencilla para cargar, analizar y verificar tipos de un programa Go completo desde el código fuente.
go/analysis
proporciona un marco para el análisis estático modular de programas Go.
go/callgraph
proporciona gráficos de llamadas de programas Go utilizando una variedad de algoritmos con diferentes compensaciones.
go/ast/inspector
proporciona un medio optimizado para atravesar un árbol de análisis de Go para su uso en herramientas de análisis.
go/cfg
proporciona un gráfico de flujo de control (CFG) simple para una función Go.
go/gcexportdata
y go/gccgoexportdata
leen y escriben los archivos binarios que contienen información de tipo utilizada por los compiladores estándar y gccgo
.
go/types/objectpath
proporciona un esquema de nomenclatura estable para entidades con nombre ("objetos") en la API go/types
.
Muchos otros paquetes proporcionan funciones más esotéricas.
Este repositorio utiliza Gerrit para cambios de código. Para saber cómo enviar cambios, consulte https://go.dev/doc/contribute.
El repositorio de git es https://go.googlesource.com/tools.
El rastreador de problemas principal para el repositorio de herramientas se encuentra en https://go.dev/issues. Anteponga su problema con "x/tools/(su subdirectorio):" en la línea de asunto, para que sea fácil de encontrar.
Este repositorio utiliza más bonito para formatear archivos JS y CSS.
La versión prettier
utilizada es la 1.18.2.
Se recomienda ejecutar todo el código JS y CSS antes de enviar un cambio. Sin embargo, no es un requisito estricto impuesto por CI.