概要
普通のgoファイルでは問題なくGoDef
ができますが、go-mod
のパッケージ管理を利用しているコード上だとGoDef
がうまく機能しないという問題が発生しました。
具体的には、関数ジャンプGoDef
を使うと、vim-go: [searching declaration] dispatched
の表示が出て、永遠とCPUの負荷が増していきました。
開発環境
- go1.12.4 darwin/amd64
- VIM - Vi IMproved 8.1
- macOS Mojave 10.14.6
解決策
vim-goのプラグインに、下記の設定を追加してあげると、go-mod
を利用したプロジェクトでも利用可能になりました。
let g:go_def_mode = 'godef'
参考
こちらのissueが参考になりました。
GoDef unable to jump definition in other files in macOS · Issue #1687 · fatih/vim-go · GitHub
GoDef no longer works when moved to go-mod · Issue #2149 · fatih/vim-go · GitHub