Vscode 配置 Go 开发环境
安装 Go
-
下载 go 的安装包,在 go download 中选择对应的系统架构即可;
-
对于 win 和 mac 用户应该是直接安装即可,而对于 Linux 用户来说,需要将压缩包进行解压,并将解压后的文件夹移动到
/usr/local
目录下;(如果存在历史版本的 go,则需要删除原有的 go 文件夹)
# 删除历史文件夹,并解压 |
- 将
/usr/local/go/bin
添加到 PATH 环境变量中即可;
export PATH=$PATH:/usr/local/go/bin |
- 在终端中输入
go version
,如果能够显示 go 的版本号,则说明安装成功。
# 输入 go version |
这里我的是 ARM 架构的,所以稍微有点区别,但是流程是一样的。
- 对 go 的环境变量 Proxy 进行配置,以便于在使用 go get 命令时能够正常下载包(这一步十分重要,对于后续在 vscode 中的编程有很大帮助);
# 设置代理 |
- 当在终端中执行
go env
命令时,如果能够看到以下内容,则说明配置成功。
# go env |
安装对应插件
Go 插件
-
在 vscode 中安装 go 插件,这个插件是必须的。在 vscode 中按下
Ctrl + Shift + X
,在搜索框中输入go
,然后选择第一个Go
插件进行安装即可; -
在 vscode 中安装其他相关包,这能帮助我们获得 go 的自动补全等功能。此时之前的 go proxy 配置就能够发挥作用了。在 vscode 中按下
Ctrl + Shift + P
,在搜索框中输入go: install/update tools
,然后选择Go: Install/Update Tools
进行安装即可,会输出如下图的 SUCCESS;如果不成功,你可以尝试重新启动 vscode 进行尝试,如果还不成功,则需要检查 go proxy 的配置是否正确。(具体原因我放在文章最后进行介绍)
Code runner 插件
- 和安装 go 插件过程相同,按下
Ctrl + Shift + X
,在搜索框中输入code runner
,然后选择Code Runner
插件进行安装即可;
Go 环境测试代码
- 创建一个用于测试的目录,例如
~/go/src/test
,然后在该目录下创建一个main.go
文件,内容如下:
package main |
-
将终端的工作目录切换到
/code/go
,首先执行go mod init go
,这一步的作用主要是初始化 go.mod 文件,从而方便后续的包管理; -
由于 go 和 c 语言类似,都需要先编译再执行,所以我们需要先执行
go build
命令,然后再执行./test
命令,这样就能够看到输出的结果了。 -
当然 go 也是支持直接执行的,只需要执行
go run main.go
即可(推荐),但是这种方式只能够在当前目录下执行,如果需要在其他目录下执行,则需要先执行go build
命令,然后再执行./test
命令。 -
如果安装了 code runner 插件,则可以直接按下
Ctrl + Alt + N
进行执行。
Go 调试配置
除了完成 go 的初始的环境配置之外,还需要对 vscode 进行一些简单的配置,这样才能够在 vscode 中进行调试。VSCODE 的 debug 功能其实很简单(按下 F5 就可以开始调试),但是在调试 Go 程序时,需要简单的配置下对应的 launch.json。
首先送上现在正在使用的一个 launch.json 的配置,这个配置是可以正常使用的,如果你在配置过程中遇到了问题,可以参考一下这个配置。
{ |
Go proxy 配置
::: tip
该方案来自其他博客,我在实际操作中并没有使用该方案,所以不保证能够成功。一般第一种配置方法就能够成功(配置成功后重启 VSCODE),如果不成功,可以尝试该方案。
:::
如果第一部分中配置成功了,一般不会出现第二部分中插件安装不成功的问题,如果还是有问题,这里有一个其他的解决方案。
- 创建两个目录,分别为
gotools
和goworks
; - 设置
GOPATH
环境变量,将gotools
添加到GOPATH
中;
# 这里是你 gotools 目录的绝对路径 |
-
进入
goworks
目录,执行go mod init goworks
,这一步的作用主要是初始化 go.mod 文件,从而方便后续的包管理; -
在
goworks
目录下执行以下命令:
export GOPROXY=https://goproxy.cn,direct |
- 打开 VSCODE 的 Go 插件,并打开 setting.json 添加以下内容
{ |
- 配置工作区,同样打开对应的 setting.json 文件,写入下面内容:
{ |