ludwig125のブログ

頑張りすぎずに頑張る父

VS Codeを使っていてGoの定義が見つからなくなった

問題

これまでは、VSCodeでGoを使うとき、関数や変数の上にマウスのカーソルを置くと(マウスオーバーすると)定義がみられました

image

が、あるとき突然何も出なくなりました。

F12キーで定義もとにジャンプしようとしても、「定義が見つかりません」と出て困っていました。

解決したこと

1.VSCodeでCtrl+Shipt+pで「Go: Restart Language Server」を選んで実行

2.VSCodeの一番下の部分でgo.modの読み込み時のエラーがみられたので、go.modを確認

3.おかしなところにgo.modとgo.sumがあったので削除

4.再度「Go: Restart Language Server」を実行

これで定義が出るようになりました。

この後意図的にgo.modを置いても同様の現象が発生しませんでした。

削除する前のgo.modが何か変な依存の設定となっていて、依存の解決ができずに定義の参照が機能していなかった可能性がありますがわかりません。

前も発生したことがあった気がするのでメモとして書いておきます