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:生成接口的stubgotype-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`才能继续。