FileFix Ultimate
日本語

VS Code で未保存のファイルや消えた Untitled タブを復元する方法

Visual Studio Code には二つの安全網があります。Hot Exit は、VS Code が閉じたり落ちたりしたとき、Untitled-1 などを含む未保存のエディターをバックアップフォルダーに残し、場所はふつう %APPDATA%\Code\Backups の下です。ローカル履歴は保存したファイルの以前の版を残し、タイムラインビューに表示します。どちらが役立つかは一度でも保存したかどうかで決まります。未保存の作業は Backups に、上書きした保存済みの作業はローカル履歴にあります。

最終更新:

今すぐ行うこと

  1. 同じフォルダーかワークスペースで VS Code を開き直します。ふつうは Hot Exit が未保存のエディターを自動で戻します。
  2. タブが戻らなければ、VS Code を再び起動する前に Backups フォルダー(ふつう %APPDATA%\Code\Backups)をコピーします。
  3. 上書き保存してしまったファイルなら、そのファイルを開いてタイムラインビューでローカル履歴を確認します。
  4. 保存しないでエディターを閉じた場合はバックアップが意図的に消されており、削除ファイルのスキャンでしか見つからないかもしれません。

手順

  1. 同じフォルダーやワークスペースを開き直す

    VS Code を起動し、ファイル、最近使用した項目を開くなどで、使っていたフォルダーやワークスペースをそのまま開きます。バックアップは特定のウィンドウに結び付いているため、別のフォルダーを開いても表示されません。戻ったエディターはすぐ保存してください。

  2. Hot Exit の設定を確認する

    設定を開いて files.hotExit を検索します。既定値の onExit なら、VS Code を閉じるとき未保存のエディターが保持されます。off になっていた場合、未保存の内容はバックアップされず、Backups フォルダーもたいてい空です。

  3. Backups フォルダーをコピーする

    VS Code を閉じます。エクスプローラーのアドレスバーに %APPDATA%\Code\Backups を貼り付け、フォルダーごと別の場所へコピーします。サブフォルダー一つがウィンドウ一つに対応し、Untitled のエディターや変更済みファイルのバックアップが入っています。

  4. バックアップファイルを安全に読む

    バックアップファイルの 1 行目には元のパスか untitled の名前があり、その後に書いた内容が続きます。コピーを任意のテキストエディターで開いて 1 行目を消すか、次の検索ツールに任せてください。

  5. 検索ツールで集める

    FileFix Ultimate で、プログラムが落ちて保存できなかったファイルを探すを開き、未保存ファイルを探すをクリックします。プログラムを Visual Studio Code で絞り込みます。項目名は元のファイル名か Untitled タブの名前になり、選択した項目をコピーでヘッダー行を除いたテキストが保存されます。

  6. 保存済みファイルはローカル履歴を使う

    うまく動いていたコードを上書き保存してしまったなら、そのファイルを VS Code で開き、エクスプローラーのサイドバーでタイムラインを展開して以前のローカル履歴を選びます。今の版と比べてから復元できます。

Hot Exit とローカル履歴は別のもの

Hot Exit は一度も保存していない内容のための機能です。VS Code を終了したり、ウィンドウを閉じたり、落ちたりすると、変更中のすべてのエディターのバックアップを書き込み、次の起動時に保存するか尋ねずに戻します。エディターを保存するか変更を破棄するとバックアップは消えるので、未保存の変更がある間だけ存在します。

ローカル履歴は保存した内容のための機能です。保存のたびに VS Code は以前の版のコピーをユーザーデータフォルダー(ふつう %APPDATA%\Code\User\History)に残すことができ、それをタイムラインビューに一覧表示します。ファイルとして一度も保存していない Untitled のエディターは対象外です。

タブが戻らないことがある理由

バックアップはウィンドウのフォルダーやワークスペースに結び付いています。別のフォルダーや空のウィンドウで VS Code を開くと、バックアップがディスクに残っていても何も表示されません。設定の同期、プロファイルの切り替え、安定版ではなく Insiders の起動、ポータブル版も別のデータフォルダーを使います。たとえば Insiders はふつう Code - Insiders フォルダーにファイルを置きます。

AppData を空にする掃除ソフト、ユーザーデータまで消す再インストール、保存しないでエディターを閉じる操作が、バックアップが本当に消えるよくある原因です。何度も起動し直す前に Backups フォルダーをコピーしてください。

コードが Git リポジトリにあった場合

プロジェクトで Git を使っていても、コミットしていない変更は Git にはありません。ただしコミットや stash した内容は Git から戻せます。まずソース管理ビューと git stash list を確認してください。一度もコミットしていないソースファイルを削除した場合、残る方法はドライブの削除ファイルスキャンです。

復元できない場合

  • files.hotExit が off で、未保存のエディターが一度もディスクに書かれなかった場合。
  • 保存しないでエディターを閉じ、削除されたバックアップが上書きされたか SSD の TRIM で消去された場合。
  • 掃除ソフトや設定まで消す再インストールで、VS Code のユーザーデータフォルダーが削除された場合。
  • ローカル履歴がオフだったか、保持数の上限で必要な版がすでに消えていた場合。

FileFix Ultimate でできること

  • %APPDATA%\Code\Backups の Hot Exit バックアップを読み取り専用で探し、メモ帳・Notepad++・Office の回復ファイルも一緒に探します。
  • 各バックアップから元のファイルパスや Untitled の名前を読み取り、ファイル名を提案します。
  • バックアップのヘッダー行を除いたテキストを、指定したフォルダーへコピーします。
  • バックアップがすでに削除されていても、削除ファイルの復元で C ドライブを探し、別のディスクに保存できます。
  • 個人利用は無料で完全オフラインなので、ソースコードが PC の外へ出ることはありません。

FileFix Ultimate は個人利用なら無料で、オフラインで動作し、復元元のドライブには書き込みません。業務利用にはPC 1台ごとに1年間のライセンスが必要です。実行前に署名を確認してください。

よく寄せられる質問

VS Code は未保存のファイルをどこに保存していますか?

通常のインストールでは、ふつう %APPDATA%\Code\Backups にウィンドウごとのサブフォルダーとして置かれます。Insiders やポータブル版は独自のデータフォルダーを使うため、パスが異なることがあります。

VS Code が落ちた後も Untitled タブは残りますか?

既定どおり files.hotExit が有効なら、たいてい残ります。同じウィンドウやワークスペースを開き直せば Untitled のエディターが戻るはずです。戻らなければ、先に Backups フォルダーをコピーしてください。

ローカル履歴で Untitled のファイルを戻せますか?

戻せません。ローカル履歴はファイルを保存したときの版を記録するものです。一度も保存していない Untitled のエディターは Hot Exit のバックアップにしかありません。

VS Code で以前に保存した版はどう探しますか?

ファイルを開き、エクスプローラーのサイドバーでタイムラインを展開してローカル履歴を選びます。コマンドパレットで Local History を検索すると、複数ファイルの履歴も探せます。

このページを共有