FileFix Ultimate
繁體中文

如何在 VS Code 中救回未儲存的檔案或消失的 Untitled 分頁

Visual Studio Code 有兩道保險。Hot Exit 會在 VS Code 關閉或當機時,把包括 Untitled-1 在內的未儲存編輯器保存在備份資料夾中,通常位於 %APPDATA%\Code\Backups 底下。本機歷程記錄(Local History)會保留已儲存檔案的舊版本,並顯示在時間軸檢視中。哪一個能幫上忙,取決於文字是否曾經儲存:未儲存的工作在 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. 安全地讀取備份檔

    每個備份檔的第一行是原始路徑或 untitled 名稱,後面才是您寫的內容。用任何文字編輯器開啟副本並刪掉第一行,或交給下面的尋找工具處理。

  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 槽中尋找,並存到另一顆磁碟。
  • 個人使用免費且完全離線,原始碼不會離開您的電腦。

FileFix Ultimate 個人使用免費、可離線使用,且絕不會寫入你正在復原來源的磁碟機。工作或商業用途需為每台電腦購買一年期授權。執行前請先檢查簽章。

常見問題

VS Code 把未儲存的檔案存在哪裡?

標準安裝通常在 %APPDATA%\Code\Backups,每個視窗一個子資料夾。Insiders 與可攜式安裝使用各自的資料資料夾,路徑可能不同。

VS Code 當機後 Untitled 分頁還在嗎?

如果 files.hotExit 維持預設開啟,通常還在。重新開啟同一個視窗或工作區,Untitled 編輯器應該會回來。如果沒有,請先複製 Backups 資料夾。

本機歷程記錄能救回 Untitled 檔案嗎?

不能。本機歷程記錄記錄的是檔案儲存時的版本。從未儲存過的 Untitled 編輯器只存在於 Hot Exit 備份中。

在 VS Code 中怎麼找到檔案以前儲存的版本?

開啟檔案,在檔案總管側邊欄展開「時間軸」,選擇本機歷程記錄項目。也可以在命令選擇區搜尋 Local History,尋找多個檔案的項目。

分享此頁面