Fundamentos de Configuración de Herramientas de Go
10 ejemplos para empezar con gopls y depuración - 7 básicos y 3 intermedios.
Busca en todas las páginas de la documentación
10 ejemplos para empezar con gopls y depuración - 7 básicos y 3 intermedios.
mkdir tooling-demo && cd tooling-demo && go mod init example.com/tooling-demo.$(go env GOPATH)/bin esté en tu PATH para que las herramientas instaladas se encuentren.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@latestConfirma que los binarios del servidor de lenguaje y del depurador se resuelven antes de configurar un editor.
which gopls dlv
gopls version
dlv versiongo install coloca los binarios en GOPATH/bin (a menudo ~/go/bin).gopls por nombre; una entrada PATH faltante se manifiesta como "language server not found".Relacionado: Herramientas para Desarrolladores de Go: LSP, Depurador y Analizadores - cómo encajan las piezas
Apunta gopls a la raíz de tu módulo y habilita el formateo al guardar en configuraciones estilo VS Code.
{
"gopls": {
"ui.semanticTokens": true,
"formatting.gofumpt": true
},
"go.useLanguageServer": true
}go.mod, no un directorio padre con módulos no relacionados.formatting.gofumpt aplica un formateo más estricto que solo gofmt.Relacionado: gopls: Navegación, Refactorización y Diagnósticos - características del editor impulsadas por gopls
go vet está integrado y no necesita instalación adicional.
go vet ./...golangci-lint puede incluir verificaciones de vet, pero go vet sigue siendo útil en scripts rápidos.Relacionado: staticcheck y golangci-lint en CI - superposición de analizadores en CI
staticcheck encuentra problemas de corrección y rendimiento más allá de vet.
staticcheck ./...go install honnef.co/go/tools/cmd/staticcheck@latest.-checks solo cuando necesites deshabilitar temporalmente una regla específica.Relacionado: staticcheck y golangci-lint en CI - severidad y líneas base
Verifica si las CVE conocidas afectan al código que realmente importas.
govulncheck ./...go test para que la descarga del módulo ya esté caliente.Relacionado: govulncheck para Vulnerabilidades de Dependencias - triaje y conexión de CI
Inicia el depurador en main.go y detente en la entrada del programa.
# main.go: package main con func main()
dlv debug .Dentro del REPL de dlv:
(dlv) break main.main
(dlv) continue
(dlv) next
(dlv) print x
dlv debug compila con símbolos de depuración e inicia el proceso bajo el depurador.continue, next y step como comandos estilo gdb.quit finaliza la sesión.Relacionado: Depuración con Delve - goroutines y adjuntar remotamente
Ejecuta un conjunto de linters empaquetados con un solo comando.
# instalar una vez
go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
golangci-lint run ./....golangci.yml cuando personalices los linters habilitados.Relacionado: staticcheck y golangci-lint en CI - configuración y adopción
go.work)Cuando desarrollas una biblioteca y su consumidor juntos, usa un archivo de espacio de trabajo.
go work init ./app ./lib
go work use ./libAbre el directorio que contiene go.work en tu editor para que gopls resuelva las importaciones entre módulos.
go.work, los reemplazos locales requieren directivas replace en go.mod.go.work para referencias cruzadas.Relacionado: Herramientas para Desarrolladores de Go: LSP, Depurador y Analizadores - modelo de herramientas monorepo
Ejecuta Delve escuchando en un puerto para que VS Code o GoLand se conecten remotamente.
dlv debug --headless --listen=:2345 --api-version=2 --accept-multiclient .localhost:2345 con la API v2.Relacionado: Depuración con Delve - adjuntar remotamente y en contenedores
Confirma un .golangci.yml mínimo para que las laptops y la CI compartan reglas.
run:
timeout: 5m
linters:
enable:
- govet
- staticcheck
- ineffassign
- misspell
issues:
max-issues-per-linter: 0
max-same-issues: 0max-issues-per-linter: 0 falla la ejecución ante cualquier hallazgo; relaja durante la migración.govulncheck en un trabajo de CI separado para CVE de dependencias.Relacionado: Mejores Prácticas de gopls y Herramientas de Análisis - higiene del editor y CI
Versiones de la Pila: Esta página fue escrita para Go 1.26.x (predeterminado Green Tea GC, go fix modernizers - verificar parche en la compilación), chi (última versión - verificar en la compilación), gin (última versión - verificar en la compilación), echo (última versión - verificar en la compilación), google.golang.org/grpc (última versión - verificar en la compilación), sigs.k8s.io/controller-runtime (última versión - verificar en la compilación), kubebuilder (última versión - verificar en la compilación), tinygo (última versión - verificar objetivos de placa en la compilación), wazero (última versión - verificar en la compilación) y golangci-lint (última versión - verificar conjunto de linters en la compilación).
Revisado por Chris St. John·Última actualización: 19 jul 2026