Closed
Description
Many Go tools that previously worked with GOPATH need to be upgraded in order to work with modules.
Note: Many of these tools have been deprecated with modules, and their features have been incorporated into gopls
. This is indicated below.
This is a tracking issue for the conversion of tools to work with modules.
- aligncheck - Merged - opennota/check#43
- bundle - (x/tools/cmd/bundle: use caller's module version, not $GOPATH #32031)
- counterfeiter - Please support modules ! maxbrunsfeld/counterfeiter#90
- deadcode
- delve - Working
- dupl
- eg
- errcheck - Beta - Support go modules kisielk/errcheck#148
- fillstruct - available through
gopls
, or cmd/fillstruct: broken without modules davidrjenni/reftools#31 - gas
- goa/goagen - support building code outside of GOPATH for go module support goadesign/goa#1914
- go-langserver - use
gopls
instead - go-outline - also available through
gopls
- go-symbols
- gocode - available through
gopls
or https://github.com/stamblerre/gocode - goconst
- gocyclo - doesn't need an update, see cmd/go: track tools/tooling updates to support modules #24661 (comment)
- godef - available through
gopls
ormygithub.libinneed.workers.dev/rogpeppe/godef
- godoc - x/tools/cmd/godoc: add module support #33655
- godoctor - available through
gopls
- gofmt - working and also available through
gopls
- gogrep - working (Switch to go/packages for module support mvdan/gogrep#39)
- go-fuzz - (preliminary Go modules support dvyukov/go-fuzz#274)
- gogetdoc - working (typecheck with gopackages zmb3/gogetdoc#40)
- goimports - working and also available through
gopls
-
golint- Deprecated - x/lint: freeze and deprecate #38968 -
gometalinter- Deprecated - Archive gometalinter alecthomas/gometalinter#590 - gomobile
- gomodifytags
- gomvpkg
- gopkgs - unnecessary with
gopls
- goplay
- gorename - available through
gopls
- goreturns - available through
gopls
- gosimple
- go-sumtype - (Go modules support BurntSushi/go-sumtype#9)
- goswagger - Go module aware scan go-swagger/go-swagger#1991
- gotags
- gotests
- gotext
- gotype (@ramya-rao-a confirmed this was not required for
vscode-go
) - gotype-live - available through
gopls
- govet - also available through
gopls
- gqlgen - (Add support for go modules 99designs/gqlgen#514)
-
guru- replaced bygopls
- impl
- ineffassign
- keyify
- lll - Working
- maligned
- megacheck
- misspell
- mockery - (Support Go 1.11 modules vektra/mockery#218)
- motion
- nakedret
- safesql
- staticcheck - also available through
gopls
- stringer
- structcheck - Merged - opennota/check#43
- unconvert - merged - unconvert: use x/tools/go/packages mdempsky/unconvert#32
- unparam - mvdan/unparam@0cc8df2
- unused
- varcheck - Merged - opennota/check#43