VSCodeのローカル履歴をクリアする
Local Historyのクリア
VSCodeのLocal History(ローカル履歴)をクリアするには、コマンドパレット(F1
か、Ctrl
+Shift
+p
、macOSではCommand
+Shift
+p
)から「Local History: Delete All」を選ぶ。これで、その環境のLocal Historyのディレクトリが、History
ディレクトリごと削除される。ディレクトリごと削除されるので、今見ているワークスペースの履歴だけでなく、その環境の履歴はすべて削除される。
Local Historyのディレクトリは、環境ごとに下記のパスに存在する。
- Windowsなら
%UserProfile%\AppData\Roaming\Code\User\History
- Linuxなら
$HOME/.vscode-server/data/User/History
- macOSなら
$HOME/Library/Application Support/Code/User/History
つまり、WindowsのローカルとWSLでは別の場所にあるし、DevContainerやリモートSSH接続ではそれぞれにディレクトリを持っているので、履歴のクリアもそれぞれの環境でやる必要がある。
Local Historyの仕様
Local History、ほとんど使わないし、むしろうざい (Gitにコミットしたら消したい) と思って消し方を調べていたのだが、ちゃんと仕様を分かって使えば案外便利かもしれない。というわけで、今まであまり意識してなかったLocal Historyの仕様をメモ。
Local Historyの作成
Local Historyは、ファイルを保存するたびに勝手に増えていく。前述のLocal Historyのディレクトリの中に、ファイルがそのままコピーされていく (差分だけ取ったりはしない)。
ただし、10秒以内に再度保存した場合は、直前の履歴が上書きされる。また、256KBを超えるファイルは保存されない。ファイルごとに50個まで履歴が保存される。
履歴は、デフォルトでは全部「File Saved」という名前が付くが、Timelineで履歴を右クリックして「Rename」することもできる。また、任意のタイミングで好きな名前を付けて履歴を取ることもできる。その場合はコマンドパレットの「Local History: Create Entry」を選び、名前を入力する。
Local Historyの参照
こうして溜めた履歴は、ファイルごとにTimelineから「Compare」や「Restore」できるし、その環境の履歴を横断的に見たければ、コマンドパレットの「Local History: Find Entry to Restore」も使える。
TimelineでGitの履歴だけを見たければ、フィルタでLocal Histroyを隠すこともできる。
Local Historyの設定
workbench.localHistory.enabled
Local Historyを有効/無効にする。デフォルトは有効(true)。
workbench.localHistory.maxFileSize
履歴を取るファイルの最大サイズ。これを超えると履歴は取らない。デフォルトは256KB。
workbench.localHistory.maxFileEntries
1ファイルごとに残す履歴の数。デフォルトは50。
workbench.localHistory.exclude
履歴の取得対象から除外するファイルのグロブパターン。
workbench.localHistory.mergeWindow
何秒以内の保存で前回の履歴を上書きするか。デフォルトは10秒。
※バージョンメモ
- Visual Studio Code 1.92.2
参考資料
■Visual Studio Code March 2022 (version 1.66)
https://code.visualstudio.com/updates/v1_66#_local-history
余談
全然関係ないが、Local Historyのクリア方法を調べている過程で、Windowsで%UserProfile%を開く最短手順が「Win
+r
で.
」だということを知った。これまではWin
+e
でエクスプローラーを開いて「↑」ボタンを押し、ユーザ名のフォルダを選んでいたのだが、エクスプローラーの画面が出るまでに少し時間がかかるし、ユーザ名のフォルダを目で探すのも面倒くさいので、Win
+r
で.
が最強かもしれない。
■ぇ、それだけでよかったの? Windowsのユーザーフォルダーを開く最速の技 - やじうまの杜 - 窓の杜
https://forest.watch.impress.co.jp/docs/serial/yajiuma/1306709.html
さらに脱線するが、Win
+r
でshell:sendto
と入力すると%UserProfile%\AppData\Roaming\Microsoft\Windows\SendTo
が開くなどのShellコマンドにも、実はかなりいろいろな種類があるらしい。
■Windows11で使える「ファイル名を指定して実行」Shellコマンド一覧 - Qiita
https://qiita.com/yuuki_kagura/items/7b87ed5a074e71d4a717