工欲善其事,必先利其器。作为一个码农,编辑器是我们每天用的最多的工具。那么怎么构建一个 go 语言环境的编辑器呢?
因为习惯轻量的 sublime,不太喜欢繁重的 IDE,就将自己的 sublime 编辑器打造为适合 go 语言开发的 IDE。sublime 是一个高度定制化的编辑器,有强大的插件管理平台,并内置了宏操作和 python 语言进行插件开发,通过这些,可以打造出复合我们习惯的 IDE 工具。
在这篇文章中,将基于现有插件平台的提供的插件,进行配置。
sublime 安装
根据自己的系统选择安装 sublime
下载地址
安装 Package Control
按下快捷键ctrl+`
在底部的控制台中输入以下代码, 并回车
import urllib.request,os; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); open(os.path.join(ipp, pf), 'wb').write(urllib.request.urlopen( 'http://sublime.wbond.net/' + pf.replace('','%20')).read())
安装成功安装
出现 package control 菜单即可确认安装成功
- 安装插件
sublime 的插件有两种安装方式,一种手动安装,一种基于 packageControl 的 pannel 在线安装
在 mac 系统下, 按下shift+cmd+p
即可调出安装面板。
定制 golang 开发环境
作为一个 go 语言下的开发环境,我们希望 sublime 拥有那些功能呢?
- 代码跳转
- 代码自动补全
- 保存后 format 代码格式
- 对代码做 linter
- debug 等
go 开发环境打造
实现代码跳转
在 sublime 中安装 godef 插件
安装 Godef 插件
按下shift+cmd+p
修改配置
安装完成后,修改 Godef 插件的自定义配置文件
{"goroot": "", // $GOROOT 路径"gopath":"" // $GOPATH 路径}
设置自定义快捷键
[{ "keys": ["ctrl+j"], "command": "godef" },
]
默认的快捷键是 gd,这里我自己设置的快捷键 ctrl+j
注意键冲突
以上完成了代码跳转的实现
goSublime 打造 go 语言 IDE
sublime 有一个 gosublime 的插件为了打造 go 语言的集成开发环境,它集成了 go tool 的一些命令如,golint, gocode goimport 等工具集。
安装
安装说明,由于 gosublime 现在还不支持集成 sublime 集成式安装,所以可以通过将 package 包下载到 sublime 的包目录下手动来安装
具体安装参考:https://margo.sh/b/hello-margo/
设置配置
{// Whether or not gscomplete(gocode) is enabled
"gscomplete_enabled": true,
// Whether or not gsfmt is enabled
"fmt_enabled": true,
// you may set specific environment variables here
// e.g "env": {"PATH": "$HOME/go/bin:$PATH"}
// in values, $PATH and ${PATH} are replaced with
// the corresponding environment(PATH) variable, if it exists.
"comp_lint_enabled": true,
}
开启自动补全配置
打开用户自定义配置文件,开启以下两项配置,即可完成自动提示,代码补全功能。
{
"auto_complete": true,
"auto_match_enabled": true
}
gosulime 的用法
输入两次cmd+.
, 调出 gosublime 的控制面板
进入可以查看源码
debug
在 sublime 下做图形化 debug,目前还未搜到相关的插件支持。
可以通过命令行的 delves 进行调试。
命令行工具
看到一些文章介绍在 sublimne 中实现 go build,感觉用起来不是很舒服,感觉还是 sublime+iterm2 组合来使用命令行工具。
总结
通过 gosublime 和 Godef 插件的安装和设置,完成了 go 语言 IDE 的,可以实现自动补全,保存自动格式化,代码的校验,跳转以及源代码的查看等功能,以上功能完成一个工程化的项目完全可以够了。
喜欢请关注 ” 云端漫记 ”, 持续为你更新