Visual Studio Code-C/C++拡張で使われるキャッシュ情報

Visual Studio CodeのC/C++で使われるキャッシュ情報として知っておいた方がいい情報がある。

一応私が把握しているのは以下の2つ。

  1. C_Cpp: Intelli Sense Cache Path
  2. C_Cpp › Default › Browse: Database Filename

これらキャッシュファイルは、C++ファイルを実装している時に作成されていく。
前者は拡張子がipch(VS2019的に言うとプリコンパイルヘッダーか?)。後者がVC.DB(VS2019的に言うとインテリセンス用のデータベース?)。(何か設定名と使われ方があってない感じがするが?)

これらファイルの作成場所は、デフォルトの設定のままだと%LocalAppData%もしくは%APPDATA%の下がファイルの保存先になっている。
データは基本追加されるのみで削除はされない。

そのため、いつの間にかユーザープロファイルがあるディスクを圧迫してしまうといった状況になる。

これらを回避するため、以下の様な設定・運用を検討するのが良いと思われる。

C_Cpp: Intelli Sense Cache Path

Windowsの初期値は「%LocalAppData%/Microsoft/vscode-cpptools」になっている。

VSCodeを立ち上げると、上記設定のフォルダの下にipchというフォルダが作成され、さらにその下に一時フォルダが作成されデータベースファイルが保存されるようになっている。
:

1フォルダあたり10MByteもないのだが、いかんせん削除も再利用もされないようなのでどんどん増えていき、この前見た時は2GByteも使用されていた。
長年VSCodeで実装をしている場合はもっと多いかもしれない。

対応方法は、適当な間隔を空けて上のフォルダを削除するしかない。

ただデフォルトの設定だと「%LocalAppData%/Microsoft/vscode-cpptools」にフォルダ移動するのが面倒かもしれないので、わかりやすい場所にフォルダを設定しておくのが良いと思われる。

C_Cpp › Default › Browse: Database Filename

デフォルトの位置は「%APPDATA%\code\user\workspaceStorage\一時フォルダ名」の下になる。

%APPDATA%\code\user\workspaceStorageについてはちょっとだけVisual Studio Code-機能拡張の無効化で説明しているでもしよければそちらも参照してもらうと嬉しい。

こちらのファイルは私の環境では約40MByte。
上の一時フォルダ名は、VSCodeでフォルダやワークスペースを開いたときにそれらに対して一意に決定され再利用されるので、「C_Cpp: Intelli Sense Cache Path」よりは強烈ではないが、フォルダ名を変更したりすると別の一時フォルダ名が作成され、以前のフォルダは削除されないのでこちらもディスク圧迫の原因になる。

対応方法は2つ。

ファイルを定期的に削除する

%APPDATA%\code\user\workspaceStorageの下を定期的に削除する。

この下に保存されるものは後で設定可能なものなのでバサッといってしまう。

もしくはフォルダの更新時刻を見て、明らかに古い更新時刻のものから削除していくというのもいいだろう。

ワークスペース下に保存先を設定する

設定値を「${workspaceFolder}/.vscode/vc.db」にする。

これにより保存先を、ワークスペースフォルダ以下の特定の場所となるため、必要であれば明示的に削除もしやすいと思われる。

注意点としては、workspaceFolderをソース管理対象としている場合は、vc.dbを管理除外対象に設定しておくのが望ましいということか。

コメント

タイトルとURLをコピーしました