Godef
Sublime Text 插件,使用 godef 函数精确地进行定义跳转。
详细信息
安装
- 总计 11K
- Win 4K
- Mac 5K
- Linux 2K
8月6日 | 8月5日 | 8月4日 | 8月3日 | 8月2日 | 8月1日 | 7月31日 | 7月30日 | 7月29日 | 7月28日 | 7月27日 | 7月26日 | 7月25日 | 7月24日 | 7月23日 | 7月22日 | 7月21日 | 7月20日 | 7月19日 | 7月18日 | 7月17日 | 7月16日 | 7月15日 | 7月14日 | 7月13日 | 7月12日 | 7月11日 | 7月10日 | 7月9日 | 7月8日 | 7月7日 | 7月6日 | 7月5日 | 7月4日 | 7月3日 | 7月2日 | 7月1日 | 6月30日 | 6月29日 | 6月28日 | 6月27日 | 6月26日 | 6月25日 | 6月24日 | 6月23日 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Windows | 0 | 0 | 0 | 0 | 2 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 2 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Mac | 2 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 |
Linux | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
说明文件
Godef
此 Sublime Text 2/3 golang 插件添加了一个 godef
命令,使用 godef 或 guru 来查找光标下的定义。
与 GoSublime 兼容
您可以使用此插件与 GoSublime 一起使用,因为 GoSublime 不支持 godef/guru
。
该插件支持两种不同的模式来查找符号的定义
godef
拥有更快的速度。但是,如果包名与导入路径不匹配,则无法找到正确的定义:[rogpeppe/godef#40](https://github.com/rogpeppe/godef/issues/40)
guru
工具提供了改进的定义查找,这与 Go 1.5+ 的 vendoring 兼容。我们首先使用
godef
来查找定义,如果失败,再次尝试guru
。
安装
该插件假定 godef/guru
存在于 $GOPATH/bin/
。您需要先安装它们
go get -v github.com/rogpeppe/godef
go get -v golang.org/x/tools/cmd/guru
Sublime Package Control
如果您使用 Sublime Package Control,您可以通过在软件包列表中搜索 Godef
简单地安装 Sublime Godef。
手动安装
克隆此存储库并将整个 Godef
目录放置在您的 Packages
目录中。
OSX
# Install the plugin
git clone [email protected]:buaazp/Godef.git ~/Library/Application\ Support/Sublime\ Text\ 3/Packages/Godef
Linux
# Install the plugin
git clone [email protected]:buaazp/Godef.git ~/.config/sublime-text-3/Packages/Godef
Windows
现在已经支持 windows。感谢 @decker502 和 @mattn 的工作。请使用 Sublime Package Control 安装此插件。
设置
配置 GOPATH
和 GOROOT
在大多数情况下,安装后无需设置任何内容。但如果您的 Godef
无法正常工作,您需要在使用此插件之前将 gopath 和 goroot 添加到设置文件中。以下是一个示例 Godef.sublime-settings
{
"goroot": "/Users/zippo/Go",
"gopath": "/Users/zippo/gopath"
}
// or if you use windows
{
"goroot": "C:\\Go",
"gopath": "C:\\gopath"
}
注意:gopath/goroot
的值应该是绝对路径。支持多个路径,例如环境变量 GOPATH
,但不支持相对路径
GOOD:
"gopath": "/opt/golang:/Users/zippo/develop/GO"
BAD:
"gopath": "~/develop/GO"
"gopath": "$HOME/develop/GO"
此插件将从以下位置确定 GOPATH/GOROOT
:
Godef.sublime-settings
文件中的gopath/goroot
值GOPATH/GOROOT
环境变量
注意 2:如果不能解析内部文件,请将已安装库路径添加到您的 gopath 中(注意最后一部分)
"gopath": "/opt/golang:/Users/zippo/develop/GO:/usr/lib/go"
快捷键设置
Godef 的默认快捷键是 gd
,这也是 vim 中 godef 插件的默认快捷键。不要害怕,这个快捷键不会修改您的代码。只需按下它。
或者您可以在按下 super/ctrl+alt
的同时单击左键。当然,您也可以自己更改它。以下是一个示例快捷键设置:
{ "keys": ["super+h"], "command": "godef" }
您还可以将这些两个快捷键添加到您的主键映射文件中以跳转到位置。使用 j/k 是因为我使用的是 vim模式。请自行更改。
{ "keys": ["super+j"], "command": "jump_forward"},
{ "keys": ["super+k"], "command": "jump_back"},
这两个命令只在 ST3 中可用。
祝您使用愉快!
Godef 无法使用
许多原因可能会导致 godef
失败。如果发生这种情况,请这样做:
- 将您的插件升级到最新版本。
- 按
ctrl + ~
打开 sublime 控制台,然后再次按 godef 快捷键。 - 控制台中的日志将显示
godef
不能工作的原因。 - 根据日志调整您的设置。
- 检查您的
GOPATH/GOROOT
是否在设置中正确。 - 在问题上打开并能复制到其中的日志。
许可证
Godef 遵循 BSD 许可证,许可证文件中也有说明。