FileFix Ultimate
Tiếng Việt

Cách khôi phục tệp chưa lưu hoặc thẻ Untitled bị mất trong VS Code

Visual Studio Code có hai lớp bảo vệ. Hot Exit giữ các trình soạn thảo chưa lưu, kể cả thẻ Untitled-1, trong một thư mục sao lưu khi VS Code đóng hoặc bị lỗi, thường nằm trong %APPDATA%\Code\Backups. Lịch sử cục bộ giữ các phiên bản đã lưu trước đó của tệp và hiển thị trong khung Dòng thời gian. Lớp nào giúp được tùy vào việc văn bản đã từng được lưu hay chưa: công việc chưa lưu nằm trong Backups, công việc đã lưu bị ghi đè nằm trong Lịch sử cục bộ.

Cập nhật lần cuối:

Việc cần làm ngay bây giờ

  1. Mở lại VS Code với cùng thư mục hoặc không gian làm việc; Hot Exit thường tự khôi phục các trình soạn thảo chưa lưu.
  2. Nếu thẻ không quay lại, hãy sao chép thư mục Backups, thường là %APPDATA%\Code\Backups, trước khi khởi động lại VS Code.
  3. Với tệp đã lưu mà bạn ghi đè, hãy mở tệp và xem các mục Lịch sử cục bộ trong khung Dòng thời gian.
  4. Nếu bạn đã đóng trình soạn thảo bằng Không lưu, bản sao lưu đã bị xóa có chủ đích và có lẽ chỉ quét tệp đã xóa mới tìm được.

Từng bước

  1. Mở lại cùng thư mục hoặc không gian làm việc

    Khởi động VS Code và mở đúng thư mục hoặc không gian làm việc bạn đã dùng, ví dụ qua Tệp, Mở gần đây. Bản sao lưu gắn với một cửa sổ cụ thể, nên mở thư mục khác sẽ không thấy. Hãy lưu ngay các trình soạn thảo được khôi phục.

  2. Kiểm tra thiết lập Hot Exit

    Mở Cài đặt và tìm files.hotExit. Giá trị mặc định onExit giữ lại trình soạn thảo chưa lưu khi đóng VS Code. Nếu đặt là off, văn bản chưa lưu không được sao lưu và thư mục Backups thường trống.

  3. Sao chép thư mục Backups

    Đóng VS Code. Dán %APPDATA%\Code\Backups vào thanh địa chỉ của File Explorer rồi sao chép toàn bộ thư mục sang nơi khác. Mỗi thư mục con ứng với một cửa sổ và chứa tệp của trình soạn thảo Untitled và tệp đã sửa.

  4. Đọc tệp sao lưu một cách an toàn

    Mỗi tệp sao lưu bắt đầu bằng một dòng chứa đường dẫn gốc hoặc tên untitled, sau đó mới đến văn bản của bạn. Mở bản sao bằng bất kỳ trình soạn thảo văn bản nào và xóa dòng đầu, hoặc để trình tìm ở bước sau làm việc đó.

  5. Để trình tìm gom lại

    Trong FileFix Ultimate, mở Tìm tệp bị mất khi chương trình bị tắt đột ngột hoặc đóng mà chưa lưu rồi bấm Tìm tệp chưa lưu. Lọc Chương trình theo Visual Studio Code. Các mục được đặt tên theo tệp gốc hoặc thẻ Untitled, và Sao chép mục đã chọn lưu văn bản mà không có dòng tiêu đề.

  6. Dùng Lịch sử cục bộ cho tệp đã lưu

    Nếu bạn đã lưu đè lên đoạn mã đang chạy tốt, hãy mở tệp trong VS Code, mở rộng Dòng thời gian ở thanh bên Explorer và chọn một mục Lịch sử cục bộ cũ hơn. Bạn có thể so sánh với phiên bản hiện tại rồi khôi phục.

Hot Exit và Lịch sử cục bộ không giống nhau

Hot Exit dành cho văn bản chưa từng được lưu. Khi bạn thoát VS Code, đóng cửa sổ hoặc chương trình bị lỗi, nó ghi bản sao lưu của mọi trình soạn thảo có thay đổi và khôi phục ở lần khởi động sau mà không hỏi có lưu hay không. Bản sao lưu bị xóa ngay khi bạn lưu hoặc bỏ thay đổi, nên nó chỉ tồn tại khi còn thay đổi chưa lưu.

Lịch sử cục bộ dành cho văn bản đã lưu. Mỗi lần lưu, VS Code có thể giữ bản sao của phiên bản trước trong thư mục dữ liệu người dùng, thường là %APPDATA%\Code\User\History, và liệt kê chúng trong Dòng thời gian. Nó không bao gồm trình soạn thảo Untitled chưa từng được lưu thành tệp.

Vì sao đôi khi thẻ không quay lại

Bản sao lưu gắn với thư mục hoặc không gian làm việc của cửa sổ. Mở VS Code với thư mục khác hoặc cửa sổ trống sẽ không thấy gì, dù bản sao lưu có thể vẫn nằm trên ổ đĩa. Đồng bộ cài đặt, đổi hồ sơ, chạy Insiders thay cho bản ổn định hoặc cài đặt di động cũng dùng thư mục dữ liệu khác; chẳng hạn Insiders thường để tệp trong thư mục Code - Insiders.

Công cụ dọn dẹp làm trống AppData, cài lại có xóa dữ liệu người dùng và đóng trình soạn thảo bằng Không lưu là những lý do phổ biến khiến bản sao lưu thực sự biến mất. Hãy sao chép thư mục Backups trước khi thử khởi động lại nhiều lần.

Khi mã nằm trong kho Git

Nếu dự án dùng Git, thay đổi chưa commit không có trong Git, nhưng những gì đã commit hoặc cất bằng stash có thể khôi phục từ đó. Trước hết hãy xem khung Kiểm soát mã nguồn và git stash list. Với tệp mã nguồn bị xóa chưa từng commit, cách còn lại là quét tệp đã xóa trên ổ đĩa.

Khi nào không khôi phục được

  • files.hotExit được đặt là off nên trình soạn thảo chưa lưu chưa bao giờ được ghi xuống ổ đĩa.
  • Trình soạn thảo đã bị đóng bằng Không lưu và bản sao lưu bị xóa đã bị ghi đè hoặc bị TRIM trên SSD xóa.
  • Thư mục dữ liệu người dùng của VS Code đã bị công cụ dọn dẹp hoặc lần cài lại có xóa cài đặt xóa mất.
  • Lịch sử cục bộ đã bị tắt hoặc giới hạn lưu giữ đã xóa phiên bản bạn cần.

FileFix Ultimate giúp gì

  • Tìm bản sao lưu Hot Exit của VS Code trong %APPDATA%\Code\Backups ở chế độ chỉ đọc, cùng với tệp khôi phục của Notepad, Notepad++ và Office.
  • Đọc đường dẫn tệp gốc hoặc tên Untitled trong từng bản sao lưu để gợi ý tên tệp.
  • Sao chép văn bản thuần không kèm phần đầu của bản sao lưu sang thư mục bạn chọn.
  • Nếu bản sao lưu đã bị xóa, Khôi phục tệp đã xóa có thể tìm chúng trên ổ C: và lưu kết quả sang ổ khác.
  • Miễn phí cho mục đích cá nhân (dùng cho công việc cần giấy phép 1 năm cho mỗi PC) và hoàn toàn ngoại tuyến, nên mã nguồn không bao giờ rời khỏi máy của bạn.

FileFix Ultimate miễn phí cho mục đích cá nhân, hoạt động ngoại tuyến và không bao giờ ghi vào ổ đĩa bạn đang khôi phục dữ liệu từ đó. Sử dụng cho công việc hoặc kinh doanh cần giấy phép 1 năm cho mỗi máy tính. Hãy kiểm tra chữ ký trước khi chạy.

Câu hỏi thường gặp

VS Code lưu các tệp chưa lưu ở đâu?

Với bản cài đặt tiêu chuẩn, thường ở %APPDATA%\Code\Backups, mỗi cửa sổ một thư mục con. Insiders và bản di động dùng thư mục dữ liệu riêng nên đường dẫn có thể khác.

VS Code có giữ thẻ Untitled sau khi bị lỗi không?

Thường là có, nếu files.hotExit đang bật như mặc định. Mở lại đúng cửa sổ hoặc không gian làm việc thì các trình soạn thảo Untitled sẽ quay lại. Nếu không, hãy sao chép thư mục Backups trước.

Lịch sử cục bộ có lấy lại được tệp Untitled không?

Không. Lịch sử cục bộ ghi lại phiên bản của tệp khi tệp được lưu. Trình soạn thảo Untitled chưa từng lưu chỉ tồn tại trong bản sao lưu Hot Exit.

Làm sao tìm phiên bản đã lưu trước đây của một tệp trong VS Code?

Mở tệp, mở rộng Dòng thời gian ở thanh bên Explorer và chọn một mục Lịch sử cục bộ. Bạn cũng có thể tìm Local History trong bảng lệnh để xem các mục của nhiều tệp.

Chia sẻ trang này