前提是本地配置好了go环境
如果想省事,可以直接下载goland,这个是专门用来写golang的,支持的很完美,传送门https://www.jetbrains.com/go/promo/?gclid=EAIaIQobChMIrY7pxbvB6gIVQteWCh1QLw-YEAAYASAAEgI5UfD_BwE
如果你想用vscode撸代码,那么你需要做下面的事情
1.打开vscode,在应用商店中搜索Go, 安装go插件,如下图
2.打开一个终端
1) 输入命令 export GO111MODULE=on ,开启mod 功能
2) 输入命令 export GOPROXY="https://goproxy.cn,direct" , 设置代理
3) 输入命令 export GOPRIVATE="gitlab-team.smzdm.com" ,配置私有仓库
4) 输入命令 go env 查看 1) 2)中的变量是否已经更改,并找到自己的 GOPATH 备用,这个路径下面可能用到
3. 安装其他插件,比如自动提示、自动引包啥的, 这需要你在vscode下,按住alt+shift+P调出搜索框,输入Go, 找到Go:install/Update Tools 这一项(如果提示go.tools.instal not found可以尝试在扩展商店重新), 勾选其下的所有插件,然后点击右侧的确定, 重点是这步要在科学上网buff下进行,如下图
点击确认后,vscode就会自动给你下载安装插件。
4. 如果你安装成功了,就直接看第5步,如果安装结果有失败的,就继续看第4步。当你安装失败了出现,全部或者个别Failed了,那说明你还得走一步,手动下载插件。
1) 进入你的GOPATH目录下的src目录下,创建文件目录golang.org\x, 在x文件夹下,执行 git clone https://github.com/golang/tools.git tools ,下载工具包。
2)工具包下载完毕后,简单的操作是重复第3步,等待vscode自动给你装。 复杂点的话,就是找到你第3步安装失败的插件,进入 你的GOPATH目录下 执行go install xxxx, 比如你的guru安装失败了,那么你就执行 go install golang.org/x/tools/cmd/guru,
3)也不是所有的安装包都在tools下,比如golint, 像这种的如果第3步你失败了,那么在第4步,你就得去golang.org\x文件下执行 git clone https://github.com/golang/lint 下载离线包, 让进入GOPATH目录下执行 go install golang.org/x/lint/golint 来安装。
5. 所有插件安装成功后,重复第三步操作会提示
6.如果你想使用自动补全、自动引包,那么你需要做下配置,alt+shift+P 搜索settings.json, 找到vscode用户的配置文件, 配置好相关的配置项后重启vscode即可,如下是我的配置
{ "go.useCodeSnippetsOnFunctionSuggestWithoutType": true, "go.autocompleteUnimportedPackages": true, //自动引入包 "go.gocodePackageLookupMode": "go", "go.gotoSymbol.includeImports": true, "go.useCodeSnippetsOnFunctionSuggest": true, "explorer.confirmDelete": false, "go.formatTool": "goimports", //格式化工具 "go.docsTool": "gogetdoc", //引入三方包相关 "explorer.confirmDragAndDrop": false, "window.zoomLevel": 0, "editor.minimap.enabled": false, }
保存后重启vscode
7. 重启后,你可以创建一个go文件,试着写一些简单代码来验证自动补全等功能是否可用,自动补全一般都是以点 “ . ” 来触发, 比如代码里打上fmt. 就会给你提示fmt包下的公共方法或变量 ,自动补全功能有时候加载的很慢,你要等待一会才给你提示补全内容,开的项目越多,越慢。
有时候当你打开了一个go项目,运行时会报出一堆错误,你可以在项目的下打开一个终端,然后执行命令 go mod tidy, 这个命令会检查当前项目的依赖, 给你下载丢失的依赖或者去除多余的依赖,有时候你的自动补全功能无法使用就是因为你的依赖不全,比如你的zdm项目少了zdm-go-cat啥的,当然,你在引入依赖的时候,你要对某些私有依赖有权限,比如zmd-go-mvc\zdm-go-cat等, 依赖补全也会导致你的项目无法运行起来。。
如果插件没有安装成功可以网上搜一下, vscode如何安装go插件,资料很多,也可以来找我。
最后,如果可以,最好用goland, vscode确实很鸡肋