欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Mac OS安装Go语言及配置VSCode开发环境:适用于Go 1.14

程序员文章站 2022-06-22 08:34:21
前言 截止到目前为止,Go语言已经更新到1.14.1,网上的很多教程均已经过时,我在此汇总并整理一下相关的教程,提供一个适合当下的Mac OS教程。 教程中使用了Go在1.11之后推出的依赖包管理工具Go Modules[1],并使用了gopls来管理Go代码,让VSCode编写Go代码更加的顺滑。 ......

前言  

  截止到目前为止,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安装包(被墙了,可能需要一些技能。。。)

go官方下载地址

Mac OS安装Go语言及配置VSCode开发环境:适用于Go 1.14

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

 

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

Mac OS安装Go语言及配置VSCode开发环境:适用于Go 1.14

 

三、两种方式的区别

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开发环境:适用于Go 1.14

 

二、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]. 

 

其他

  mac os修改vscode go的默认缩进格式