之前因为有些go包在VSCode中直接go get下载不到,就没有安装VSCode相关的插件。写代码的时候VSCode不能自动导入用到的包或者删除已经注释代码里面用到包,往往注释了部分代码进行调试时提示“import config 包但是没有使用”的错误。也有没函数跳转追踪、代码自动提示和补全功能,今天有时间就好好配置了一下VSCode,配置完之后体验比之前好太多,希望也能帮到大家。
官方下载地址:https://code.visualstudio.com/Download
自己是在windows上进行安装和配置的。
a. 打开VS Code,在左侧栏点击如下图中 “1” 所在的图标(扩展);
b. 在如图 “2” 所在的地方输入"Chinese"搜索;
c. 在搜索列表中找到 “Chinese (Simplified)” ,点击一下;
d. 在如图 “4” 所在的地方点击“Install”进行安装(因为已安装,所以显示了“Uninstall”)。
安装好之后重启VS Code。
自己首先尝试过VS Code中直接Ctrl + Shift + P打开交互式命令行进行安装,因为代理的问题,都安装失败。
安装失败的截图如上所示
2.1 VS Code配置代理
1.VS Code中打开终端并执行:
$ go env -w GO111MODULE=on
$ go env -w GOPROXY=https://goproxy.cn,direct
如果提示你不支持 -w选项,使用“go help env”查看如何使用go env命令,是因为go版本低于1.13。那么可以直接在系统中设置用环境变量:
a.“计算机”->"属性" -> "高级系统设置" -> "环境变量"->"用户变量"
b."用户变量"->"新建"中添加两个环境变量,如下
2.2 下载go开发相关的相关库
设置好代理之后重新打开VS Code,在终端中执行如下语句,下载go 开发工具库。
go get github.com/mdempsky/gocode
go get github.com/uudashr/gopkgs/v2/cmd/gopkgs
go get github.com/ramya-rao-a/go-outline
go get github.com/acroca/go-symbols
go get golang.org/x/tools/cmd/guru
go get golang.org/x/tools/cmd/gorename
go get github.com/cweill/gotests/...
go get github.com/fatih/gomodifytags
go get github.com/josharian/impl
go get github.com/davidrjenni/reftools/cmd/fillstruct
go get github.com/haya14busa/goplay/cmd/goplay
go get github.com/godoctor/godoctor
go get github.com/go-delve/delve/cmd/dlv
go get github.com/stamblerre/gocode
go get github.com/rogpeppe/godef
go get golang.org/x/tools/cmd/goimports
go get golang.org/x/lint/golint
go get golang.org/x/tools/gopls
2.3 编译生成go开发工具相关的可执行文件
go build github.com/mdempsky/gocode
go build github.com/uudashr/gopkgs/v2/cmd/gopkgs
go build github.com/ramya-rao-a/go-outline
go build github.com/acroca/go-symbols
go build golang.org/x/tools/cmd/guru
go build golang.org/x/tools/cmd/gorename
go build github.com/cweill/gotests/...
go build github.com/fatih/gomodifytags
go build github.com/josharian/impl
go build github.com/davidrjenni/reftools/cmd/fillstruct
go build github.com/haya14busa/goplay/cmd/goplay
go build github.com/godoctor/godoctor
go build github.com/go-delve/delve/cmd/dlv
go build github.com/stamblerre/gocode
go build github.com/rogpeppe/godef
go build golang.org/x/tools/cmd/goimports
go build golang.org/x/lint/golint
go build golang.org/x/tools/gopls
然后将生成的gocode.exe、gopkgs.exe等拷贝到%GOROOT%bin目录下。
2.4 设置自动导入导出包属性
在VS Code的菜单栏,打开 "文件" -> "首选项" -> "设置" ,然后在搜索框中输入 “import” ,点击 “用户区” -> "Go" ,然后勾选 "Autocomplete Unimport Packages" ,并且 "GO Tool" 选择goimport,如下图所示。
最后重启VS Code, 安装的工具就都生效了,可以重新打开你的项目进行更高效的coding了。
1. go get 下载源代码究竟放到了哪里?
使用GOPATH管理依赖的情况:GOPATH变量中指定的第一个目录下。
使用go install进行包安装,编译好的包工具gocode也会放到GOPATH变量中指定的第一个目录下的bin文件夹中。
使用go mod管理依赖的情况:go.mod 文件所在目录的 ./pkg/mod/目录下。
2. 环境变量查看
go env 查看当前工作目录的环境变量设置
参考资料:
https://www.liwenzhou.com/posts/Go/00_go_in_vscode/
https://goproxy.cn/ (GoProxy 中国)