WindowsのVS Codeが使う容量: キャッシュ、拡張機能、残る状態
VS Codeには、拡張機能、キャッシュ、ログ、ワークスペースの状態、拡張機能が所有するデータがたまっていきます。Codeフォルダ全体を消すと、キャッシュを外すとともに設定もリセットされ得ます。再現できる内容と、残す必要のある開発環境を分けます。編集が重いときは、ストレージの整理を対処にする前に、働いている拡張機能を特定します。
プログラムファイル、拡張機能、ユーザーデータを区別する
標準的なWindowsのインストールでは、プログラムのパスはインストーラーに依存し、拡張機能の既定は%USERPROFILE%\.vscode\extensions、ユーザーデータはたいてい%APPDATA%\Codeにあります。Insiders、ポータブルモード、独自の--user-data-dirや--extensions-dirは、別に確認が必要です。
| 内容 | 用途 | 残す判断 |
|---|---|---|
| インストール済み拡張機能 | 編集、デバッグ、言語機能 | 使っているツールと、そのインストール元を残す |
| 設定、ショートカット、スニペット | 自分で組んだ作業の流れ | 回復できる構成を書き出して確認する |
| ワークスペースと拡張機能の状態 | プロジェクトの状態と、永続する拡張機能のデータ | 不確かな内容は残す。拡張機能の書き出し手順に従う |
| ダウンロード/実行時キャッシュとログ | 再利用するダウンロード、生成結果、診断 | 使用中の内容と、調査に必要なログを守る |
拡張機能のリファレンスは既定を挙げ、CLIのリファレンスは独自ディレクトリとプロファイルを説明しています。プロジェクトの.vscodeディレクトリは別の範囲で、たいていプロジェクトの構成が入っています。名前が似ていても、ユーザーの拡張機能フォルダではありません。
今の構成を記録する
特定したインストールのCLIを使います。次のコマンドは、バージョン付きで拡張機能を一覧し、ファイルを消さずにプロセスの診断を報告します。
code --list-extensions --show-versions
code --status
拡張機能の一覧は目録であり、拡張機能のバイナリ、アカウントの状態、作業データのコピーではありません。プロファイルは、作業の流れのための設定と拡張機能の選択をまとめます。settings.json1つより大きいものです。プロファイルが複数あるときは、今のプロファイルを調べ、必要なら文書化されたプロファイルのオプションを使います。既定の一覧は、すべてのプロファイルの目録ではありません。
関連する設定、ショートカット、スニペット、拡張機能の選択は、プロファイルから書き出します。書き出しを確認します。プロジェクトのファイルと、拡張機能が所有する内容には、それぞれのバックアップがまだ必要です。
アンインストールを決める前に無効化する
プロジェクトで再現できる遅延なら、疑わしい拡張機能に「無効にする (ワークスペース)」を選び、求められたら拡張機能を再起動して、同じ操作を繰り返します。一度に変える拡張機能は1つで、診断と応答性を比べます。もう不要と決めてから、管理メニューでアンインストールします。
無効化はインストール済みファイルを残すので、インストール容量を回収せずに挙動を試せます。拡張機能の管理は、ワークスペース/グローバルの無効化、アンインストール、有効化を区別しています。デバッグ、言語サポート、書式設定がまだその拡張機能に依存していないかを確認します。
ローカルのWindows、WSL、開発コンテナの環境は、別々の拡張機能インストールを持ち得ます。拡張機能ビューで場所を見ます。ローカルのWindowsのコピーを外しても、リモートが外れたことにはなりません。
永続する拡張機能の状態は、一般的なキャッシュではない
ExtensionContext APIは、拡張機能がグローバルおよびワークスペース固有の状態を保存できるようにします。意味を決めるのは拡張機能です。インデックス、履歴、セッション、そのほか残した内容です。大きなUser\globalStorageやUser\workspaceStorageの項目は、名前で一律に消さず、持ち主を調べます。
クリーンアンインストールのガイドは、ユーザーデータを消すことをリセットとして扱います。それは環境を変える操作で、日常のキャッシュ整理として示してはいけません。意図したリセットの前に回復を書き出して確認し、データを共有しているかもしれないほかのインストールも確認します。
拡張機能が戻るときは同期とプロファイルを確認する
設定の同期は、拡張機能の目録、有効状態、選ばれたプロファイルデータを同期できます。マージしたあとや別のマシンを使ったあとに拡張機能が戻るなら、同期されたデータと有効なプロファイルを見ます。同期はすべてのリモート拡張機能や非公開の拡張機能ファイルを対象にしないので、オンにしても開発環境全体のバックアップにはなりません。
Mole for Windowsは、Cache、CachedData、拡張機能のダウンロードキャッシュなど、特定のVS Codeの場所を認識し、関連する実行時キャッシュにはプロセス保護があります。その範囲は、ユーザーデータフォルダ全体の削除を許しません。エディターを普通に保存して終了し、必要な診断ログを残してから、元のプロジェクトを開き直します。元のビルドや編集作業を繰り返す前に、設定、デバッグ、ターミナル、必要な拡張機能を確認します。
言語パッケージのキャッシュは、キャッシュとプロジェクトの依存関係を読んでください。コンテナ環境とボリュームは、Docker/WSLのストレージのガイドを読んでください。