1、 可以先設置個代理:
1、1 set GO111MODULE=on
1、2 set goproxy=https://goproxy.io
2、 添加Golang的插件工作目錄:%GOPATH/src/golang.org/x/
3、 切換至%GOPATH/src/golang.org/x/后使用git拉取依賴代碼git clone https://github.com/golang/tools.git tools
4、 執行以下命令
go install github.com/mdempsky/gocode
go install github.com/uudashr/gopkgs/cmd/gopkgs
go install github.com/ramya-rao-a/go-outline
go install github.com/acroca/go-symbols
go install golang.org/x/tools/cmd/guru
go install golang.org/x/tools/cmd/gorename
go install github.com/derekparker/delve/cmd/dlv
go install github.com/stamblerre/gocode
go install github.com/rogpeppe/godef
go install github.com/ianthehat/godef
go install github.com/sqs/goreturns
go install golang.org/x/lint/golint
go install github.com/cweill/gotests/...
go install github.com/fatih/gomodifytags
go install github.com/josharian/impl
go install github.com/davidrjenni/reftools/cmd/fillstruct
go install github.com/haya14busa/goplay/cmd/goplay
5、 肯定會看到如下的報錯
C:\Users\abel1\go> go install golang.org/x/lint/golint
can't load package: package golang.org/x/lint/golint: cannot find package "golang.org/x/lint/golint" in any of:
C:\Go\src\golang.org\x\lint\golint (from $GOROOT)
C:\Users\abel1\go\src\golang.org\x\lint\golint (from $GOPATH)
解決辦法:
這是因為 golint 的源碼在lint下,而不是tools,需要單獨拉取 golint 源碼。
5、1 進入%GOPATH%\src\golang.org\x,執行下列命令拉取 golint 源碼:git clone https://github.com/golang/lint
5、2 最后回到%GOPATH%,通過go install安裝 golint:go install github.com/golang/x/lint/golint
6、 重啟vscode
安裝的組件 | 默認安裝狀態 | 組件備注 | github.com->golang.org |
---|---|---|---|
go get -u -v github.com/nsf/gocode | SUCCEEDED | 自動補全 | |
go get -u -v github.com/uudashr/gopkgs/cmd/gopkgs | SUCCEEDED | 自動補全未導入的包 | |
go get -u -v github.com/ramya-rao-a/go-outline | SUCCEEDED | 當前文件中按符號搜索 | https://github.com/golang/tools |
go get -u -v github.com/acroca/go-symbols | SUCCEEDED | 當前workspace中按符號搜索 | |
go get -u -v golang.org/x/tools/cmd/guru | SUCCEEDED | 查找所有引用組件 | |
go get -u -v golang.org/x/tools/cmd/gorename | SUCCEEDED | 重命名符號 | |
go get -u -v github.com/fatih/gomodifytags | SUCCEEDED | 修改結構上的標簽 | |
go get -u -v github.com/haya14busa/goplay/cmd/goplay | SUCCEEDED | for running current file in the Go playground | |
go get -u -v github.com/josharian/impl | SUCCEEDED | for generating stubs for interfaces | |
go get -u -v github.com/davidrjenni/reftools/cmd/fillstruct | SUCCEEDED | for filling a struct literal with default values | |
go get -u -v github.com/rogpeppe/godef | SUCCEEDED | 轉到定義2 | |
go get -u -v golang.org/x/tools/cmd/godoc | SUCCEEDED | 鼠標懸停顯示文檔注釋2 | |
go get -u -v sourcegraph.com/sqs/goreturns | SUCCEEDED | 格式化代碼2 | |
go get -u -v github.com/golang/lint/golint | SUCCEEDED | for linting | https://github.com/golang/lint |
go get -u -v github.com/cweill/gotests/... | SUCCEEDED | 生成單元測試 | |
go get -u -v github.com/derekparker/delve/cmd/dlv | SUCCEEDED | 調試 | |
go get -u -v github.com/zmb3/gogetdoc | 轉到定義2/鼠標懸停顯示注釋2 | ||
go get -u -v golang.org/x/tools/cmd/goimports | 格式化代碼2 |