Mac OS安装Go语言及配置VSCode开发环境:适用于Go 1.14
前言
截止到目前为止,go语言已经更新到1.14.1,网上的很多教程均已经过时,我在此汇总并整理一下相关的教程,提供一个适合当下的mac os教程。
教程中使用了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安装包(被墙了,可能需要一些技能。。。)
下载完成后,点击安装,无脑下一步即可,中间只需要输入一次系统密码。
二、安装完成后验证是否安装成功
三、两种方式的区别
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 文件。
二、vscode插件配置
1. 插件列表
1) go: vscode官方提供的插件,可以使用go的大部分工具。
2) code runner[6]: vscode运行代码神器,支持运行40余种语言,可自行配置运行命令。
3) editorconfig for vs code: 可以设置vscode的代码编辑配置。
2. 插件配置
1) 在vscode配置文件中添加 "go.uselanguageserver": true ,保存后,右下角会提示重启vscode
2) 重启后右下角会提示安装gopls,点击安装即可。
3. 其他插件配置分享
"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", },
root = true [*] charset = utf-8 indent_style = space indent_size = 4 end_of_line = lf insert_final_newline = true trim_trailing_whitespace = true
总结
经过以上的配置,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].
其他
上一篇: 带你用Python爬取全篇小说