您的位置:首页 > 运维架构 > Linux

Linux 下 Sublime Text 3 安装 Godef 进行代码跳转

2018-02-23 18:40 1101 查看
GoSublime 插件中的跳转使用的是 GsDoc,只能跳转包名点出来的成员和函数(例如 fmt.Println),很不方便
后来发现了 Godef 这个插件,可以实现任意对象跳转(瞬间爽的飞起)
http://blog.buaa.us/godef-plugin-for-sublime-released/ 这个是 Godef 作者(在此感谢)的发布文档

以下记录下安装过程和遇到的问题
1. 安装 godef 到 $GOPATH/bingo get -v github.com/rogpeppe/godef
cd xxx/godef # 目标目录
go install2. 安装 guru 到 $GOPATH/bin# go get -v golang.org/x/tools/cmd/guru
# 因为被墙所以使用 github 上的镜像手动复制过去
mkdir $GOPATH/src/golang.org/x -p
cd $GOPATH/src/golang.org/x
git clone https://github.com/golang/tools.git cd ./tools/cmd/guru
go install3. 安装 Godefgit clone https://github.com/buaazp/Godef.git ~/.config/sublime-text-3/Packages/Godef
# 或者在 Sublime Package Control 搜索 Godef 安装4. 配置 Godef.sublime-settings
默认不需要,安装过程中能自动发现,内容示例:{
"goroot": "/xxx",
"gopath": "/xxx"
}但由于我的 GOPATH 中包含了 $HOME 目录没有找到 godef 和 guru(修改 Godef 配置 或 $GOPATH 都可以)
这个问题是通过 Sublime 的控制台(Ctrl + `)打印的日志发现的(Godef.py 中用了 os.path.isfile() 校验文件是否存在)
(或者在第3步中使用我提交了补丁的 Godef: https://github.com/chinaran/Godef.git
5. 自定义跳转快捷键

默认是  { "keys": ["g","d"], "command": "godef" }(按顺序按下 g 和 q)
我修改成了 ["alt+q"](看个人喜好了)
然后通过 sublime 自带的位置跳转再回来
{ "keys": ["alt+'"], "command": "jump_back" },
{ "keys": ["alt+shift+'"], "command": "jump_forward" },
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息