每次配好后,长时间不用动,下次再配置的时候仍然不熟悉,特此记录以备忘。
①gopath系统环境变量设置:
这个设置以后,系统默认的go环境就指定好了,如果不重新指定,则默认识别的都是这里设置的(包括代码提示引用的路径、三方包go get安装的路径)。常用于统一存放第三方包和安装的bin插件。
# 创建一个global作为默认go项目,用作系统默认go环境,主要用于存放三方包
GOPATH="/Users/shuai/Documents/global"
export GOPATH
export PATH=$GOPATH:$PATH
export PATH=$GOPATH/bin:$PATH
②vscode>“用户设置”,第三方包依赖的插件路径
由于vscode支持为每个项目单独设置环境:“工作区设置”。为了避免每个工作区重复下载依赖的插件,可以手动指定插件统一依赖于系统环境指定的GOPATH(我们安装的包默认也是放在这里的),参考①。
"go.toolsGopath":"/Users/shuai/Documents/global"
③vscode>打开项目的“工作区设置”,为每个项目设置单独的gopath:
"go.gopath": "/Users/shuai/Documents/project_a"
④安装vscode的插件。
go get xxx
翻墙的插件则需要手动下载后放到系统环境变量指定的GOPATH的src下,按目录建好,然后执行go install。
以上操作完成即可正常开发,下面是详解。
gopath分为系统环境和vscode环境。
go env可以查看
,设置的方法就是添加环境变量GOPATH://mac环境下在~/.bash_profile文件中添加
GOPATH=指定路径
export GOPATH
export PATH=$GOPATH:$PATH //将GOPATH放到环境变量中,也可以不放。
// “用户设置”:全局环境,所有打开的窗口项目公用的。
// “工作区设置”:打开项目的独立设置,右上角下拉菜单选择。
"go.gopath": "指定路径"
gobin的作用:用于指定编译后生成的可执行文件所在的目录。
1. 如果不指定GOBIN,编译后的可执行文件默认放在GOPATH/bin下。
2. 指定GOBIN,则无论GOPATH设置为什么,都只会放在指定的GOBIN下。
注:通常情况下,我们不特别设置GOBIN,让它放在GOPATH/bin下就好。同时为了让系统全局识别可执行文件,还需要将GOPATH/bin放到环境变量中。
# 将GOPATH/bin添加到PATH系统环境变量中
export PATH=$GOPATH/bin:$PATH
注:坑点
go get
或go install
安装的bin文件默认是放在系统环境GOPATH/bin下。"go.toolsGopath": "系统环境GOPATH" // 系统环境GOPATH/bin作为插件识别路径
vscode默认会提示安装缺少的插件,但有些插件需要翻墙,需要手动安装。
不需要翻墙的可直接go get,否则需要手动下载对应的插件包,放到系统GOPATH/src下,并建立对应的目录结构,执行go install。
go install github.com/nsf/gocode
go install github.com/rogpeppe/godef
go install github.com/zmb3/gogetdoc
go install github.com/golang/lint/golint
go install github.com/lukehoban/go-outline
go install sourcegraph.com/sqs/goreturns
go install golang.org/x/tools/cmd/gorename
go install github.com/tpng/gopkgs
go install github.com/newhook/go-symbols
go install github.com/cweill/gotests/...
go install golang.org/x/tools/cmd/guru
//如果需要在vscode中调试go程序,需要下载安装dlv
go install github.com/derekparker/delve/cmd/dlv
至此属于go的vscode环境设置完成。