1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

emacs+eglotでgoplsのロードが重い問題に対処した

Last updated at Posted at 2022-01-01

単純なのだが、引っかかったためメモとして残す

1. 問題

  • emacsでLanguage Server Protocolクライアントであるeglotを使用し、Go言語のserverとしてgoplsを使用した
  • 設定した状態のemacsで.goファイルを開くと、ものすごく重い

以下のようなエラーがでてくる

Error in menu-bar-update-hook (imenu-update-menubar): (jsonrpc-error "request id=2 failed:" (jsonrpc-error-message . "Timed out"))

2. 原因

eglotがプロジェクトルートを正しく探すことができていなかった。今回の場合はこのようなメッセージがでていた。

[eglot] Connected! Server `gopls' now managing `go-mode' buffers in project `~'.

ホームフォルダ直下を全て探しにいっていたため、時間がかかっていた。

3. 解決策

プロジェクトルートを設定すればよい。今回の場合はプロジェクトルートがホームディレクトリになっていた。次のページに記述があるように、eglotはproject.elを用いてプロジェクトルートを探しているようだ。

よって、goファイルがある場所で

git init

なりをして、gitのファイル構成を作成してしまうのが簡単と思われる。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?