Linux 下 Sublime Text 3 安裝 Godef 進行代碼跳轉/跳回

GoSublime 插件中的跳轉使用的是 GsDoc,只能跳轉包名點出來的成員和函數(例如 fmt.Println),很不方便

後來發現了 Godef 這個插件,可以實現任意對象跳轉(瞬間爽的飛起,此外,我還添加了跳轉回來的方法)

http://blog.buaa.us/godef-plugin-for-sublime-released/ 這個是 Godef 作者(在此感謝)的發佈文檔

以下記錄下安裝過程和遇到的問題

1. 安裝 godef 到 $GOPATH/bin

go get -v github.com/rogpeppe/godef
cd xxx/godef # 目標目錄
go install

2. 安裝 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 install

3. 安裝 Godef

git 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 和 d)

我修改成了 ["alt+q"](看個人喜好了)

對於跳轉回來,原作者沒提供這個功能,所以我自己實現了一個(類似於ctags插件的 jump_prev)

默認是  { "keys": ["g","h"], "command": "godef_prev" }(按順序按下 g 和 h)

我修改成了 ["alt+s"]

(可以使用我提交了補丁的 Godef: https://github.com/chinaran/Godef.git
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章