my_back_pages

プログラミング学習の記録 Ruby / Rails / FjordBootCamp

【RubyMine】Code Vision機能をオフにしたら動作が軽くなった話

シェアしたいことのサマリ

  • MacBook Air (M1, 2020) 8GBでRubyMineを使っているのですが、特にJS関連ファイルで動作が重くなるときがある。
  • 「Code Vision」機能をオフにすると大分軽くなる。

※メモリの割り当て増はすでに行った上での処置です。

詳細

フィヨルドブートキャンプの「チーム開発」というプラクティスで、下のリポジトリのアプリの開発に参加しています。 Rails + Vue / React によるEラーニングアプリです。

github.com

昨年末にRubyMineのライセンスを購入しメインのエディタとして使っていて、大変助けられているのですが、VueやReactのようなJS関連のファイルを開いたときにかなりモッサリすることにストレスを感じていました。

「RubyMine 重い」で検索して最初に出てくる対処法は「メモリの割り当てを増やす」で、こちらはすでに実行済みなのですが効果が薄く……。

pleiades.io

だましだまし使っていたのですが、あるとき画面右下にポップアップで「Code Visionの解析に時間がかかっています(意訳)」と表示されていることに気づきました。

Code Visionってなに?

RubyMineのドキュメントにはなぜか説明チャプターがないので、他のJetBrains製エディタの説明を見てみると、ありました、Code Vision

pleiades.io

コードビジョンは、型および型メンバーのさまざまなメトリックを収集し、その情報を宣言の上または後に表示します

(中略)

コードビジョンは、次の 2 つのサブシステムを使用して、事前に計算されたメトリックを保持します。

ナビゲーションメトリック(シンボル、継承、戻り API などの使用箇所)を計算するためのソリューション全体の分析。

(中略)

コードコントリビューターを表示する統合された VCS クライアント。このメトリックは、現在のソリューションでバージョン管理統合が有効になっている場合に、サポートされているすべての VCS クライアント(Git、MercurialSubversion、TFVC など)に表示されます(バージョン管理設定ページで確認できます)。

リンク先のキャプチャ画像で確認できるように、メソッドが使用されている回数や、バージョン管理システムに記録された実装者などの情報を表示してくれる機能のことだったみたいです。たしかに自分の画面にも出ていた!

RubyMineでどうやってオフにする?

設定 -> エディター -> インレイヒント からオフにできます。

JSのファイルでもそこそこ軽く動いてくれるようになりました。

オフにしたデメリットについて

コードの実装者については、Gitの拡張プラグインのおかげでgit blameがいつでも見られるようになっているので、現時点ではあまり困っていません。

コードの使用回数は、見られるようになっている方がもちろん便利だとは思うのですが、コードジャンプや「どこでも検索」機能が便利なので、実際にはこれらで補うことができているのかな、という感覚です。

(初心者が故に、たくさんのファイルにまたがる重いIssueを振られていないから、というのはあるかもしれませんが……)

とはいえオンにしたい

いい機能であることは間違いなく、できればオンにしたいのですが、そもそもにマシンパワー的にRubyMineはきついということですかね。

Issueに取り組む時は、他のアプリを閉じたり、極力Chromeでタブをたくさん開いたりしないようにしていますが、それでもJSのファイルは重いので。サブディスプレイに繋がなければ軽くできる、とかもありそうですが、そういうわけにもいかないので……。

M3チップのMacbook Airが出るらしいので、その16GBとかが欲しい。

一応、メモリ割り当て以外に、一部の機能を犠牲にして軽くすることもできますよ、的なシェアとして、本記事をポストさせていただければと思います。