IntelliJ IDEAで大きなファイルがインデックスされないときの解決方法

GoLandやIntelliJ IDEAなどJetBrainsのIDEで大きなファイルがインデックスされないときの解決方法を紹介します。

TL;DR

  1. Help > Edit Custome Properties... をクリック
  2. 開かれたファイルに idea.max.intellisense.filesize=10000000 と追記する

発生した問題

GoLandでパッケージ google.golang.org/genproto をインポートしてコードを書こうとしたときにエラーを表す赤線が発生してしまいました。
エラーになっているためコードの補完も効きません。

調査内容

go modulesでのインストールに問題が発生していないか確認する

  • go.mod にパッケージの記載がある
  • go/pkg/mod/google.golang.org/genprotoソースコードが存在する
  • CLIからビルドできる

これらのことからパッケージのインストールに問題は発生していないことがわかります。

別のエディタでエラーになるか

ちょっとしたコードを書くときはvimを使用しているため、vimからgoplsを使って該当パッケージのコードを書いてみました。

結果はエラーにならず補完も動きました。

これらのことからGoLandのインデックスに問題がありそうなことが想像できます。

GoLand + パッケージ名で検索してみる

検索してみたところ、関係のありそうな投稿がされたJetBrainsのフォーラムがでてきました。

https://youtrack.jetbrains.com/issue/GO-10493

中を見てみると、ファイルのサイズ上限を上げてあげると良いようです。

GoLandの Help > Edit Custome Properties... をクリックし表示されたファイルに以下を追記すれば上限を上げられます。

idea.max.intellisense.filesize=10000000

追記後に再起動などでインデックスの再構築が行われればパッケージのエラーは解消されました。

補足

エラーになったパッケージはコードを自動生成していたため、1つのファイルにコードがまとまっていてサイズは数MBほどありました。
大きなファイルを読み込むとIDEのパフォーマンスに影響がでるそうです。

補足2

このGoogleのパッケージ以外にAWSのパッケージなどでも同様の問題が発生していたこともあり、デフォルトの制限が10MBに引き上げられました。
最新バージョンのIDEを使っている場合はこの問題は発生しないと思われます。