Este repositório fornece o módulo golang.org/x/tools
, que compreende várias ferramentas e pacotes principalmente para análise estática de programas Go, alguns dos quais estão listados abaixo. Use o link "Ir referência" acima para obter mais informações sobre qualquer pacote.
Ele também contém o módulo golang.org/x/tools/gopls
, cujo pacote raiz é um servidor de protocolo de servidor de linguagem (LSP) para Go. Um servidor LSP analisa o código-fonte de um projeto e responde a solicitações de uma ampla variedade de editores, como VSCode e Vim, permitindo-lhes oferecer suporte a funcionalidades semelhantes a IDE.
Comandos selecionados:
cmd/goimports
formata um programa Go como go fmt
e, adicionalmente, insere instruções de importação para quaisquer pacotes exigidos pelo arquivo após ele ser editado.cmd/callgraph
imprime o gráfico de chamadas de um programa Go.cmd/digraph
é um utilitário para manipular gráficos direcionados em notação textual.cmd/stringer
gera declarações (incluindo um método String
) para tipos "enum".cmd/toolstash
é um utilitário para simplificar o trabalho com múltiplas versões do conjunto de ferramentas Go.Esses comandos podem ser obtidos com um comando como
go install golang.org/x/tools/cmd/goimports@latest
Pacotes selecionados:
go/ssa
fornece uma representação intermediária (IR) estática de formulário de atribuição única (SSA) para programas Go, semelhante a um compilador típico, para uso por ferramentas de análise.
go/packages
fornece uma interface simples para carregar, analisar e verificar o tipo de um programa Go completo a partir do código-fonte.
go/analysis
fornece uma estrutura para análise estática modular de programas Go.
go/callgraph
fornece gráficos de chamadas de programas Go usando uma variedade de algoritmos com diferentes compensações.
go/ast/inspector
fornece um meio otimizado de percorrer uma árvore de análise Go para uso em ferramentas de análise.
go/cfg
fornece um gráfico de fluxo de controle simples (CFG) para uma função Go.
go/gcexportdata
e go/gccgoexportdata
leem e gravam os arquivos binários contendo informações de tipo usadas pelos compiladores padrão e gccgo
.
go/types/objectpath
fornece um esquema de nomenclatura estável para entidades nomeadas ("objetos") na API go/types
.
Vários outros pacotes fornecem funcionalidades mais esotéricas.
Este repositório usa Gerrit para alterações de código. Para saber como enviar alterações, consulte https://go.dev/doc/contribute.
O repositório git é https://go.googlesource.com/tools.
O principal rastreador de problemas do repositório de ferramentas está localizado em https://go.dev/issues. Prefixe seu problema com "x/tools/(seu subdiretório):" na linha de assunto, para que seja fácil de encontrar.
Este repositório usa mais bonito para formatar arquivos JS e CSS.
A versão prettier
usada é 1.18.2.
É recomendável que todo o código JS e CSS seja executado antes de enviar uma alteração. No entanto, não é um requisito estrito aplicado pela CI.