Noções Básicas de Configuração de Ferramentas Go
10 exemplos para você começar com gopls e Depuração - 7 básicos e 3 intermediários.
Busque em todas as páginas da documentação
10 exemplos para você começar com gopls e Depuração - 7 básicos e 3 intermediários.
mkdir tooling-demo && cd tooling-demo && go mod init example.com/tooling-demo.$(go env GOPATH)/bin esteja no seu PATH para que as ferramentas instaladas sejam encontradas.go install golang.org/x/tools/gopls@latest
go install github.com/go-delve/delve/cmd/dlv@latest
go install golang.org/x/vuln/cmd/govulncheck@latest
go install honnef.co/go/tools/cmd/staticcheck@latestConfirme se os binários do servidor de linguagem e do depurador são resolvidos antes de configurar um editor.
which gopls dlv
gopls version
dlv versiongo install coloca os binários em GOPATH/bin (geralmente ~/go/bin).gopls pelo nome; uma entrada PATH ausente resulta em "servidor de linguagem não encontrado".Relacionado: Ferramentas de Desenvolvimento Go: LSP, Depurador e Analisadores - como as peças se encaixam
Aponte o gopls para a raiz do seu módulo e ative a formatação ao salvar em configurações no estilo VS Code.
{
"gopls": {
"ui.semanticTokens": true,
"formatting.gofumpt": true
},
"go.useLanguageServer": true
}go.mod, não um diretório pai com módulos não relacionados.formatting.gofumpt aplica formatação mais rigorosa do que apenas gofmt.Relacionado: gopls: Navegação, Refatoração e Diagnósticos - recursos do editor alimentados por gopls
go vet no módulogo vet é integrado e não requer instalação extra.
go vet ./...golangci-lint pode incluir verificações de vet, mas go vet continua útil em scripts rápidos.Relacionado: staticcheck & golangci-lint no CI - sobrepondo analisadores no CI
staticcheckstaticcheck encontra problemas de correção e desempenho além do vet.
staticcheck ./...go install honnef.co/go/tools/cmd/staticcheck@latest.-checks apenas quando precisar desabilitar uma regra específica temporariamente.Relacionado: staticcheck & golangci-lint no CI - severidade e linhas de base
govulncheckVerifique se as CVEs conhecidas afetam o código que você realmente importa.
govulncheck ./...go test para que o download do módulo já esteja aquecido.Relacionado: govulncheck para Vulnerabilidades de Dependência - triagem e fiação do CI
Inicie o depurador em main.go e pare na entrada do programa.
# main.go: package main com func main()
dlv debug .Dentro do REPL do dlv:
(dlv) break main.main
(dlv) continue
(dlv) next
(dlv) print x
dlv debug compila com símbolos de depuração e inicia o processo sob o depurador.continue, next e step como comandos no estilo gdb.quit encerra a sessão.Relacionado: Depurando com Delve - goroutines e attach remoto
golangci-lintExecute um conjunto de linters agrupados com um único comando.
# instale uma vez
go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
golangci-lint run ./....golangci.yml quando você personaliza os linters habilitados.Relacionado: staticcheck & golangci-lint no CI - configuração e adoção
go.work)Ao desenvolver uma biblioteca e um consumidor juntos, use um arquivo de workspace.
go work init ./app ./lib
go work use ./libAbra o diretório que contém go.work em seu editor para que o gopls resolva importações entre módulos.
go.work, substituições locais exigem diretivas replace em go.mod.gopls carrega todos os módulos listados em go.work para referências cruzadas.Relacionado: Ferramentas de Desenvolvimento Go: LSP, Depurador e Analisadores - modelo de ferramentas monorepo
Execute o Delve escutando em uma porta para que VS Code ou GoLand se conectem remotamente.
dlv debug --headless --listen=:2345 --api-version=2 --accept-multiclient .localhost:2345 com a API v2.Relacionado: Depurando com Delve - attach remoto e em contêiner
golangci-lint para CIFaça o commit de um .golangci.yml mínimo para que laptops e CI compartilhem regras.
run:
timeout: 5m
linters:
enable:
- govet
- staticcheck
- ineffassign
- misspell
issues:
max-issues-per-linter: 0
max-same-issues: 0max-issues-per-linter: 0 falha a execução em qualquer descoberta - afrouxe durante a migração.govulncheck em um trabalho de CI separado para CVEs de dependência.Relacionado: Melhores Práticas de gopls e Ferramentas de Análise - higiene do editor e do CI
Versões da Pilha: Esta página foi escrita para Go 1.26.x (padrão GC Green Tea, modernizadores
go fix- verifique o patch na compilação), chi (última versão - verifique na compilação), gin (última versão - verifique na compilação), echo (última versão - verifique na compilação), google.golang.org/grpc (última versão - verifique na compilação), sigs.k8s.io/controller-runtime (última versão - verifique na compilação), kubebuilder (última versão - verifique na compilação), tinygo (última versão - verifique os alvos de placa na compilação), wazero (última versão - verifique na compilação) e golangci-lint (última versão - verifique o conjunto de linters na compilação).
Revisado por Chris St. John·Última atualização: 19 de jul. de 2026