Go 学习笔记(零)- Sublime Text 配置

其实 st 不是写 go 的最佳编辑器,网上大家都推荐 vscode 或 idea。但我测试 vscode 后发现我无法爱上它。至于 idea 则太重了,而我只是学习下 go 打算做工具语言用的,所以还是用我最喜欢的 st 写吧,不过开始之前要先配置下我们的 st 让它具有自动添加包,自动格式化,自动补全,跳转定义功能。

以下操作都基于安装了 go 之后,如果还没有安装,请先访问 Go 编程语言 中文官网进行安装。

GoSublime 插件

GoSublime 的功能有:自动添加包,自动格式化,自动补全,等,所以有了他就跟 ide 差不多功能了。
安装过程就不说了,st 安装插件分分钟的事情,至于那些打不开安装列表,或没有安装/安装不上 Package Control 的朋友,可以参考《Sublime Text 之 Package Control 镜像》。

安装后需要简单配置下,否则没办法使用自动添加包功能,这里需要安装 goimports 第三方包:

1
$ go get golang.org/x/tools/cmd/goimports

然后打开菜单 Preferences -> Package Settings -> GoSublime -> Settings – User

1
2
3
{
"fmt_cmd": ["goimports"]
}

保存即可,这样每次保存文件或格式化的时候都会自动导入包了。

如果每次打开go文件都有提示你如下信息:

1
2
MarGo: Missing required environment variables: GOPATH
See the `Quirks` section of USAGE.md for info

需要修改配置如下:

1
2
3
4
5
6
{
"env": {
"GOPATH": "$HOME/go" // go项目路径
},
"fmt_cmd": ["goimports"]
}

Godef 插件

GoSublime 固然强大,但却没跳转定义功能,所以需要安装另一个插件 Godef
安装插件过程…同上。。

ps:当然转定义功能做的没 idea 那样智能,不过也非常方便了。

在使用 Godef 之前,也一样要安装 godef 第三方包:

1
$ go get github.com/rogpeppe/godef

到这里,如果你的 Godef 可以正常工作了,下面步骤可以省略,不能正常工作,就需要继续配置一下。

然后打开菜单 Preferences -> Package Settings -> Godef -> Settings – User

1
2
3
4
{
"goroot": "/Users/zippo/Go",
"gopath": "/Users/zippo/gopath"
}

好了,可以使用快捷键或右键跳转定义了。各个平台下快捷键不一样,不过右键是一样的,具体信息去官网查看吧。

最后

如果你用不惯 GoSublime 的编译系统的话,可以做如下修改。
打开菜单 Preferences -> Browse Packages,然后打开 GoSublime/GoSublime.sublime-build 文件。
修改如下:

1
2
3
4
5
{
// "target": "gs9o_build",
"cmd": ["/usr/local/go/bin/go", "run", "$file"],
"selector": "source.go"
}

这样就可以直接运行而不会调用它的控制台了。

Windows 用户把 /usr/local/go/bin/go 改成自己的 go.exe 绝对路径即可。
如果控制台输出乱码,加上 "encoding": "utf-8" 试试,如果还不行,自己折腾吧。

小结

至此,st 的 go 开发环境折腾完了,后续我将陆续整理学习笔记。