Что сделать прямо сейчас
- Снова откройте VS Code с той же папкой или рабочей областью: Hot Exit обычно сам восстанавливает несохранённые редакторы.
- Если вкладки не вернулись, скопируйте папку Backups, обычно %APPDATA%\Code\Backups, до следующего запуска VS Code.
- Если вы перезаписали сохранённый файл, откройте его и посмотрите записи локальной истории на временной шкале.
- Если редактор закрыли кнопкой Не сохранять, его копия удалена намеренно, и найти её, возможно, поможет только поиск удалённых файлов.
Пошагово
Откройте ту же папку или рабочую область
Запустите VS Code и откройте ту же папку или рабочую область, что и раньше, например через Файл, Открыть последние. Резервные копии привязаны к конкретному окну, поэтому в другой папке они не появятся. Восстановленные редакторы сразу сохраните.
Проверьте настройку Hot Exit
Откройте Параметры и найдите files.hotExit. Значение по умолчанию onExit сохраняет несохранённые редакторы при закрытии VS Code. Если стояло off, несохранённый текст не копировался, и папка Backups обычно пуста.
Скопируйте папку Backups
Закройте VS Code. Вставьте %APPDATA%\Code\Backups в адресную строку Проводника и скопируйте всю папку в другое место. Каждая подпапка относится к одному окну и содержит файлы редакторов Untitled и изменённых файлов.
Безопасно прочитайте копии
Каждый файл резервной копии начинается со строки с исходным путём или именем untitled, после которой идёт ваш текст. Откройте копию в любом текстовом редакторе и удалите первую строку или поручите это поиску из следующего шага.
Соберите копии поиском
В FileFix Ultimate откройте Найти файлы, потерянные при сбое программы или закрытии без сохранения и нажмите Найти несохранённые файлы. Отфильтруйте Программа по Visual Studio Code. Элементы названы по исходному файлу или вкладке Untitled, а Копировать выбранное сохраняет текст без строки заголовка.
Для сохранённых файлов используйте локальную историю
Если вы сохранили поверх рабочего кода, откройте файл в 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 stash list. Для удалённого исходного файла, который ни разу не коммитился, остаётся поиск удалённых файлов на диске.
Когда не получится
- files.hotExit стоял в off, поэтому несохранённые редакторы ни разу не записывались на диск.
- Редактор закрыли кнопкой Не сохранять, а удалённая копия уже перезаписана или очищена TRIM на SSD.
- Папку пользовательских данных VS Code удалило средство очистки или переустановка с удалением настроек.
- Локальная история была выключена, или её лимит хранения уже удалил нужную версию.
Чем поможет FileFix Ultimate
- Только чтением находит резервные копии Hot Exit в %APPDATA%\Code\Backups вместе с файлами восстановления Блокнота, 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 в палитре команд, чтобы увидеть записи по нескольким файлам.