a_sue’s diary

a_sue の日記 はてなブログ版

eclipse が重かった原因は言語サーバー

仕事で使ってる eclipse Version 2021-3 (4.19.0) が、重くなる。
複数のプロジェクトを持ってて、メインのプロジェクトだけをいじってる間はいいのだけど、他のプロジェクトのソースを開いたりするとそれ以降激重。
メモリは 8GB にしてある。

-Xmx8g

テーマをクラシックにしてみたり、いろいろジタバタしたけど一向に改善されない。
解決方法がないか、いろんなキーワードでググりましたよ。

あとなんだったかな。
でもそこで出てくるのはやってるのばかり。
テーマをクラシックにすると早くなるというのでやってみたり。
速度は改善されず、戻してもエディタのシンタックスハイライトが好きじゃないのに変ってこれは戻らない。

万策尽きたところで、インストール時に解凍が不完全で 7-zip で解凍し直したことがあったから、何かが欠けてて影響してるのではないかと思いつき、ログをチェックする。
ログの場所もググったのだけど、どこで知ったのかもう判りません(職場PCでググったので)。
とりあえずここにある。

ECLIPSE_HOME\workspace\.metadata\.log

ログを見ると目にとまったのは stacktrace と下記キーワード。

org.eclipse.lsp4e
java.util.concurrent.TimeoutException

lsp4e.LanguageServerWrapper の中でタイムアウトっぽいがよくわからない。
職場で技術的に詳しい人に見てもらったら、「言語サーバー」っぽいですね、でも使ってないはずだけどとのこと。
メニューの[ウィンドウ]-[設定]-[言語サーバー]を開いてみると下記の状態(自宅で再現しています)。

f:id:a_sue:20210903225913p:plain
eclipse の 設定-言語サーバー 画面

使ってないからチェックを全部外してみて下さい。
ってことでチェックを外したら、以後快適。
これだったのか!

とわかったあとで「org.eclipse.lsp4e timeoutexception」でググると下記ページがヒット。

java : Eclipse IDEが応答しない/長時間ハングアップします

最後に書いてあるのが言語サーバーのチェックを全部外す方法。
ああ、キーワードが「応答しない」「ハングアップ」だったか。
数分待つと返ってくるからその発想はなかった。

というわけで、重くて悩んでいる方はお試しあれ。