VSCodeのワークディレクトリに出現した巨大ファイル .vscode/ipch を取り除く

タイトルの通りです。VSCodeを主に競技プログラミングで使っているのですが、C++のコードを生成する度にワークディレクトリの.vscode/ipch以下に謎のサイズクソデカファイルが生成するようになりました。
ちょっと放っておいただけで数百MB程度まで成長していたので結構なサイズです。
そのまま置いておく分には多少ストレージを圧迫する程度なのですが、レポジトリをgit管理しているひとにとっては少し邪魔だと思います。
なぜならgitはgit LFSなどを用いないとアップロードできるファイルサイズの上限が100MBであり、これらのクソデカファイルをアップロードしようとすると怒られてしまうからです。

そこで今回はいくつか対処法をまとめておきたいと思います。
英語が読める人はこのissueでいろいろ議論されているのでお読みください。
github.com

1. gitignoreする

最も単純な解決策はこれだと思います。これでgitが壊れる問題は解決しますが、もちろんローカルにはファイルは残ったままになります。
ワークディレクトリに.gitignoreを作成して

.vscode/ipch

などと書いておけば大丈夫です。

2. キャッシュの保存先を移動させる

キャッシュは残しておきたいというときはVSCodeの設定でファイルの保存先を変更します。
Settingを開き、"C_cpp: Intelli Sense Cache Path"の部分を書き換えます。

3. キャッシュを保存しないようにする

これが一番解決策としてはスッキリするかなと思います。
先ほどと同様にSettingを開き、"C_cpp: Intelli Sense Cache Size"の数値を0にします。
デフォルトだと5120MBになっていました。そりゃ5GB分のファイルがレポジトリ内に生成されたらアップロードできるわけないですね。

f:id:yuji9511yuji:20190505182532p:plain
Setting内のパラメータ

僕は3番目の方法を使いました。このキャッシュがないことでパフォーマンスにどれくらいの差が出るかは不明ですが、とりあえず巨大ファイルはなくなってくれたのでよしとしましょう。

今回はVSCodeのextensionの一つであるC++ Intellisenseでの問題でしたが、他のextensionでも似たような問題が出るかもしれません。そのようなときは該当extensionのSetting内にあるパラメータを疑ってみる癖をつけるといいと思います。