Go语言VS Code开发环境搭建

Posted tsmaster

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Go语言VS Code开发环境搭建相关的知识,希望对你有一定的参考价值。

Go版本:1.14.4
系统:win10
编辑器:VS Code

golang 1.14 版本发布已有一段时间,搜了一下网上之前的教程都已过时,所以整理了一篇最新的 golang 开发环境搭建教程。

一、下载Go语言安装包

到官网https://golang.google.cn/dl/下载最新安装包

技术图片

二、安装

点击下载好的安装包进行安装,可修改安装位置(默认安装到C盘)
技术图片

三、配置环境变量

打开环境变量页面会发现,系统变量的Path中已经自动生成了Go的环境变量,并在用户变量中生成了GOPATH(用来存放自己写的Go代码的地方),但是这个路径并不是我们想要的,我们要创建自己的工作区技术图片
我们来修改它,先修改 用户变量 Path 内的对应路径
技术图片
再修改GOPATH,然后在用户变量中创建一个 GOROOT 变量(golang的安装文件夹)
技术图片

四、打开GoMOD,再配置代理

打开命令行工具,输入 go version,查看 go 版本
在这里感谢「七牛云」为我们中国区的Golang开发者提供的代理服务
再输入下面两条命令,打开GoMOD 和 配置代理

$ go env -w GO111MODULE=on
$ go env -w GOPROXY=https://goproxy.cn,direct

技术图片
做到这几点后,我们现在就可以打开我们的VsCode(再次感谢七牛云,从此以后我们再也不用到Github以及Golang.org上clone到本地进行install了)

五、在VScode中安装GO插件

打开VScode,搜索插件 go,直接安装
技术图片

在安装了Go插件后的VSCode,现在打开go文件后,会自动安装我们自己的必要的环境依赖

六、安装相关工具和环境依赖

打开之前定义的 GOPATH 对应的文件夹(E:GO),新建一个 src 文件夹,在src内新建 hello/hello.go 文件,这时候Go插件会自动弹出提示,要我们安装必要的环境依赖。
技术图片
点击 Update 和 Install All

技术图片

七、Go Modules的使用

这玩意非常简单,我们只需要明白它为什么存在,以及如何用即可。
Go mod的存在,是官方强推,为了替代GOPATH而诞生的一个Go语言依赖库管理器。之前所有的包都丢在GOPATH中,烦skr人。
这货最大的好处就是,我们依赖的包可以指定版本。其次所有程序依赖的包,只会存在同一份。不会像npm那样,同一个包还能有n多个存在。这样我们的电脑就很省空间了,使用起来也非常简单,常用命令就一个

$ go mod tidy

通俗来说就是将当前的库源码文件所依赖的包,全部安装并记录下来,多余的包就删掉,少了的就自动补上。

实践操作一下:

进入hello文件夹,打开命令行工具执行以下命令:

$ go mod init

然后就多了一个 go.mod 文件
技术图片
此时我们的项目就采用了 go mod进行库依赖管理,以后编写完代码后执行 go mod tidy 即可,这个命令会自动下载依赖的库,也会删除多余的库,更多的使用方式可以执行

go help mod

进行查看。

八、VSCode的Lunch.json配置以及Setting.json配置

具体怎么进入设置的json文件,老文已经图文并茂的描绘的很详细了,我这就不再做过多介绍了
先是你们关心的Debug配置内容:

{
	"version": "0.2.0",
	"configurations": [{
		"name": "LaunchGo",
		"type": "go",
		"request": "launch",
		"mode": "auto",
		"program": "${fileDirname}",
		"env": {
			"GOPATH": "填自己的GOPATH路径",
			"GOROOT": "填自己的GOROOT路径"
		},
		"args": [],
		//"showLog": true
	}]
}

以下是Setting.json的最新配置,因为我这个配置同时存在了一些别的组件,比如 golangci-lint,这种go语言风格包以及别的组件,所以复制到你们的VSCode中时,有些配置会出现红色异常,将出现红色异常的地方直接删除或者注释即可。之所以保留给你们,是觉得你们可能有些人也会安装相关插件使用

{
"editor.wordWrap": "on",
// 如果useLanguageServer设为true,那么在编写代码时引入本地没有的package时,会自动下载安装
// 就是有时候会非常卡,保存go的编码文件时偶尔会卡死。这点你们自己取舍吧
"go.useLanguageServer": false,
"editor.minimap.renderCharacters": false,
"editor.minimap.enabled": false,
"terminal.external.osxExec": "iTerm.app",
"go.docsTool": "gogetdoc",
"go.testFlags": ["-v","-count=1"],
"go.buildTags": "",
"go.buildFlags": [],
"go.lintFlags": [],
"go.vetFlags": [],
"go.coverOnSave": false,
"go.useCodeSnippetsOnFunctionSuggest": false,
"go.formatTool": "goreturns",
"go.gocodeAutoBuild": false,
"go.goroot": "填写GOROOT路径",
"go.gopath": "填写GOPATH路径",
"go.autocompleteUnimportedPackages": true,
"go.formatOnSave": true,
"window.zoomLevel": 0,
"debug.console.fontSize": 16,
"debug.console.lineHeight": 30,
}

结束

参考借鉴文章:VsCode搭建Go语言开发环境的配置教程



















以上是关于Go语言VS Code开发环境搭建的主要内容,如果未能解决你的问题,请参考以下文章

VS Code配置Go语言开发环境(建议使用goland)

『Go基础』第4节 VS Code配置Go语言开发环境

Go 专栏 | 开发环境搭建以及开发工具 VS Code 配置

VS code golang 开发环境搭建

VS Code配置Go语言开发环境

VS code golang 开发环境搭建