VS Code的Go扩展程序提供了安装在GOPATH
中的各种Go工具。
其中有一些工具负责通用的编程语言功能,如:
另外的一些工具对Go扩展程序来说是可选的,它们提供日常的语言支持。
以下是Go扩展程序的常用功能必须用到的工具。如果已经选择使用Go语言的服务器,那么就不需要以下大部分的工具了,因为在Go语言服务器中将会提供相应的功能。
注意:如果使用的是
Go Modules
,那么强烈建议使用Go语言服务器,因为它的性能要比下面的工具强很多。
gocode
:自动补全(如果使用语言服务器则不需要这个工具)go-outline
:在当前文件中进行变量搜索go-symbols
:在当前工作区进行变量搜索gopkgs
:自动导入依赖的包guru
:查找所有引用gorename
:变量重命名goreturns
或者goimports
:格式化代码((如果使用语言服务器则不需要这个工具))godef
或者gogetdoc
:跳转到定义(如果使用语言服务器则不需要这个工具)godoc
或者gogetdoc
:鼠标悬停时显示文档(如果使用语言服务器则不需要这个工具)golint
或者gometalinter
或者megacheck
或者golangci-lint
或者revive
:用于代码分析dlv
:用于调试如果其中的某个工具缺失时,将在编辑区的右下角看到Analysis Tools Missing
的警告。单击该警告时VSCode或帮助安装缺少的工具。
Go语言的这个扩展程序还有其他的功能,虽然不是每天都使用这些功能。例如,生成单元测试、生成接口的stub
或修改stub
的标签。用于实现这些功能的工具如下:
gomodifytags
:修改结构体的标签goplay
:在Go playground
中运行当前文件impl
:生成接口的stub
gotype-live
:给自定义类型提供诊断gotests
:生成单元测试go-langserver
:通过Sourcegraph
来使用Go语言服务器fillstruct
:使用默认值填充结构体中变量可以通过运行命令Go: Install/Update Tools
立即安装所以工具,如果更改了正在使用的Go版本,同样使用这个命令使工具保持最新的同时重新编译。
如果希望扩展程序使用单独的GOPATH
来存放这些Go工具,在配置文件setting.json
的go.toolsGopath
参数中设置希望的存储路径。
在当前GOPATH
中手动安装这些工具,只要拷贝下面的指令并在终端中运行即可:
go get -u -v github.com/ramya-rao-a/go-outline
go get -u -v github.com/acroca/go-symbols
go get -u -v github.com/mdempsky/gocode
go get -u -v github.com/rogpeppe/godef
go get -u -v golang.org/x/tools/cmd/godoc
go get -u -v github.com/zmb3/gogetdoc
go get -u -v golang.org/x/lint/golint
go get -u -v github.com/fatih/gomodifytags
go get -u -v golang.org/x/tools/cmd/gorename
go get -u -v sourcegraph.com/sqs/goreturns
go get -u -v golang.org/x/tools/cmd/goimports
go get -u -v github.com/cweill/gotests/...
go get -u -v golang.org/x/tools/cmd/guru
go get -u -v github.com/josharian/impl
go get -u -v github.com/haya14busa/goplay/cmd/goplay
go get -u -v github.com/uudashr/gopkgs/cmd/gopkgs
go get -u -v github.com/davidrjenni/reftools/cmd/fillstruct
go get -u -v github.com/alecthomas/gometalinter
gometalinter --install
安装调试工具:delve
查看这篇指南。
按照一下步骤在Linux系统中编译和安装调试:
方式一:
go get -u github.com/go-delve/delve/cmd/dlv
方式二:
首先保证GOPATH
环境变量已经设置好。
git clone https://github.com/go-delve/delve.git $GOPATH/src/github.com/go-delve/delve
cd $GOPATH/src/github.com/go-delve/delve
make install
注意:如果使用Go1.5版本,那么必须先设置GO15VENDOREXPERIMENT=1`才能继续。