前言  

  截止到目前为止,Go语言已经更新到1.14.1,网上的很多教程均已经过时,我在此汇总并整理一下相关的教程,提供一个适合当下的Mac OS教程。

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

  教程中使用了Go在1.11之后推出的依赖包管理工具Go Modules[1],并使用了gopls来管理Go代码,让VSCode编写Go代码更加的顺滑。

  gopls是VSCode推出的调用微软官方的Language Server Protocol(LSP)[2]的扩展,包含了很多Go工具的功能[3],例如:godef(代码跳转),goimports(代码格式化),gocode(代码补全)等。

 

安装Go语言

一、安装主要有以下两种方式

1. Homebrew[4]安装(便于升级与卸载,推荐)

执行以下命令即可

brew install go 

2. 官方下载pkg安装包(被墙了,可能需要一些技能。。。)

Go官方下载地址

Mac OS安装Go语言及配置VSCode开发环境:一个工具(gopls)解千愁 go 第1张

下载完成后,点击安装,无脑下一步即可,中间只需要输入一次系统密码。

 

二、安装完成后验证是否安装成功

Mac OS安装Go语言及配置VSCode开发环境:一个工具(gopls)解千愁 go 第2张

 

三、两种方式的区别

1. Homebrew安装

1) 通过以下命令升级和卸载

brew upgrade go 

brew uninstall go 

2) GOROOT路径

/usr/local/Cellar/go/<go 版本号>/libexec 

2. 官方下载pkg安装包

1) 卸载时需要删除以下内容,升级则需要卸载后重新安装。

sudo rm -rf /usr/local/go 

sudo rm -rf /etc/paths.d/go 

2) GOROOT路径

/usr/local/go 

 

Go环境变量配置[5]

Go的环境变量可以通过 go env 命令查看。在Go 1.13之后,无需再通过设置系统环境变量的方式来修改,可以通过 go env -w 命令来设置Go的环境变量。

需要设置的环境变量如下

# 用于存放依赖包及编译文件,比较随意,只要不和GOROOT重名即可,官方禁止这一行为。 
go env -w GOPATH=/Users/<系统用户名>/Library/go
# 设置代理后,在未翻墙的情况下,打开VSCode后gopls工具的加载会很快。
go env -w GOPROXY=https://goproxy.cn,direct

 

VSCode开发环境配置

一、初始化Go工程

1. 在 ${GOPATH}/src 之外的任意位置创建一个Go工程。

2. 在工程内执行 go mod init 初始化当前Go工程。

3. Go工程内会出现一个 go.mod 文件。

Mac OS安装Go语言及配置VSCode开发环境:一个工具(gopls)解千愁 go 第3张

 

二、VSCode插件配置

1. 插件列表

1) Go: VSCode官方提供的插件,可以使用Go的大部分工具。

2) Code Runner[6]: VSCode运行代码神器,支持运行40余种语言,可自行配置运行命令。

3) EditorConfig for VS Code[7]: 可以设置VSCode的代码编辑配置。

2. 插件配置

1) 在VSCode配置文件中添加 "go.useLanguageServer": true ,保存后,右下角会提示重启VSCode

2) 重启后右下角会提示安装gopls,点击安装即可。

3. 其他插件配置分享

Mac OS安装Go语言及配置VSCode开发环境:一个工具(gopls)解千愁 go 第4张
"code-runner.runInTerminal": true,
"code-runner.ignoreSelection": true,
"code-runner.saveAllFilesBeforeRun": true,
"code-runner.executorMap": {
    "python": "python3 -u",
    "go": "cd $dir && go run ./",
    "c": "cd $dir && gcc $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
    "cpp": "cd $dir && g++ -std=c++11 $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
},
Code Runner Mac OS安装Go语言及配置VSCode开发环境:一个工具(gopls)解千愁 go 第6张
root = true

[*]
charset = utf-8
indent_style = space
indent_size = 4
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
EditorConfig for VS Code

 

总结

  经过以上的配置,VSCode的Go开发环境已经配置完成,可以在VSCode中愉快的编写并运行Go代码了。需要注意的是,由于使用的是gopls,每次打开Go工程,会有10s左右的加载时间,加载完成之后代码跳转,自动补全等功能才可以正常使用。

 

参考

[1]. 干货满满的 Go Modules 和 goproxy.cn

[2]. Langserver.org

[3]. Go tools that the Go extension depends on

[4]. Homebrew常规使用教程

[5]. 关于GOROOT、GOPATH、GOBIN、project目录

[6]. [VSCode插件推荐] Code Runner: 代码一键运行,支持超过40种语言

[7]. 快速用上 editorconfig 来规范编辑

 

其他

  Mac OS修改VSCode Go的默认缩进格式

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄