Visual Studio Code завжди знову відкриває попередній файл або папку


102

Здається, VSCode завжди пам’ятає мій сеанс і знову відкриває файли та / або проект, які були відкриті востаннє, коли я його використовував. Очевидно, він поводиться коректно під час запуску з командного рядка із наданим файлом або папкою, але при відкритті з ярлика панелі завдань я б хотів, щоб за замовчуванням він порожнє середовище.

Чи є спосіб змінити цю поведінку?


9
Як ?? Мій VSCode ніколи не пам’ятає попередні сесії. Він завжди відкривається з новою Untitled-1вкладкою. Це зводить мене з розуму
Зелений

1
@Green Наразі він пам’ятає попередні файли лише у тому випадку, якщо у вас відкрито папку / робочу область. Тож просто відкрийте будь-яку випадкову папку (я вибрав папку для робочого столу), і тепер вона пам'ятає будь-який файл між сесіями, навіть ті, що не з цієї папки.
Cardin

3
Великий жирний +1 від мене, оскільки це питання насправді виявилося тим, що код VS МОЖЕ ВІДНОВИТИ попередню сесію. XD Також з точки зору того, що @Cardin стверджує, все змінилося. У мене найновіший код VS, який працює на Win10, і налаштування "window.reopenFolders" : "all"відкриває кожен окремий файл, незалежно від того, чи він знаходиться в поточному активному каталозі чи ні. На жаль, здається, що код VS все ще не підтримує наявність декількох активних каталогів через усе те, що "активний каталог = робоча область".
rbaleksandar

@rbaleksandar Це все ще негатив. VS Code не відчиняє наявні незабруднені файли, починаючи з версії 1.11.2, навіть з "window.reopenFolders" : "all". Для тестування: 1) перейдіть на сторінку File>Close Folder, 2) перетягніть будь-який випадковий файл у код VS, 3) перейдіть на сторінку File>Exit, 4) перезапустіть код VS, 5) Зверніть увагу, що ви знову отримаєте порожній редактор VS Code. Для відновлення сеансів потрібно мати відкритий активний каталог. Будь-який сеанс, незалежно від місця розташування файлу, буде запам'ятовуватися, якщо у вас є активний каталог. До речі, ви можете встановити Project Managerрозширення для переходу між кількома активними каталогами.
Cardin

1
Майте на увазі, ви можете втратити роботу з цією функцією , принаймні у версії 1.1.3.
gman

Відповіді:


142

Ви також можете зайти у свої налаштування та скористатися наступним:

"window.reopenFolders": "немає"

що не відкриє папок, над якими ви працювали, коли закривали редактор. Інші опції one(за замовчуванням) та all.

Редагувати 09.11.2017:

Зараз опція змінена в останніх версіях.

"window.restoreWindows": "none"

Дивіться відповідь Матьє ДОМЕРА .

Редагувати 2018-09-12:

Інший параметр, пов’язаний з цим, - це hotExitпараметр. Це обговорювалось у цій відповіді на відповідне питання. Щоб запобігти повторному відкриттю та запам’ятовуванню незбережених файлів, ви можете встановити для цього значення:

"files.hotExit": "off"

Але з тесту, який я зробив, коли для window.restoreWindowsпараметра встановлено значенняnone , це не потрібно. Я не перевірив усі можливі комбінації, тому YMMV.

А щоб відповісти на запитання в коментарях, відредагувати налаштування, потрібно відкрити файл налаштувань. Деяку документацію можна знайти тут (принаймні на той день, коли я це пишу).


1
Я змінюю прийняту відповідь на цю, оскільки я вважаю, що підхід до налаштувань кращий, ніж перемикач командного рядка, який впливає лише на один ярлик.
Matt Peterson

2
Папки? Я не використовую папки. Як щодо файлів?
Зелений

2
Я не маю можливості window.reopenFoldersналаштування. Натомість у менеwindow.restoreWindows
Acidic9

2
Те, що може когось дратувати: VS Code все одно відновить робочу область, якщо вона містила вкладку з незбереженим файлом.
Уеллс

1
Найгірша "функція" за замовчуванням, яку я коли-небудь бачив. Я втратив багато продуктивного робочого часу, роздумуючи, що відбувається і чому мій текстовий файл не оновлюється.
philologon

22

З останнім оновленням здається, що параметр змінився, тепер використовуйте:

"window.restoreWindows": "none"

17

Ви можете додати -nопцію до запуску VS Code, і вона завжди починатиметься з порожнього вікна, не відновлюючи попередній сеанс.


2
Параметр остаточно є ( code --helpвідображається -n, --new-window Force to open a new window.), але він все одно знову відкриває всі попередні вікна. Я думаю, що це означає зробити щось значуще лише тоді, коли програма вже запущена.
Альваро Гонсалес,

де стартап? Я не можу знайти, куди додати -n. Це файл? Чи можу я отримати доступ до нього через Налаштування?
snowleopard

Тільки це працювало для мене на MacO: "code -n ~ / myFolder / myCodeFolder"
Денис

13

У коді VS введіть Ctrl+ ,(або виберіть Файл / Налаштування / Налаштування ), щоб відкрити сторінку налаштувань, а потім введіть restoreWindowsпараметри пошуку, щоб відфільтрувати це налаштування. Встановіть його noneта перезапустіть браузер.

відновити Windows


1

01 грудня 2018 року

Це працює для мене. тобто"C:\Users\Sampath\AppData\Local\Programs\Microsoft VS Code\Code.exe" -n

введіть тут опис зображення


1

Нижче працював у мене

Клацніть правою кнопкою миші ярлик та додайте --disable-gpu до Target відповідно до знімка екрана.

введіть тут опис зображення


0

Якщо "window.restoreWindows": "none"проблему не вирішити,
спробуйте запустити код як root -> sudo code --user-data-dirфайли коду та перезапустити код, як правило, без root.


0

Для мене жодне з переліченого не працює, поки я намагаюся закрити "брудні" незбережені файли, я випадково відредагував 1000 файлів і хотів проігнорувати збереження всіх них.

Моє виправлення додало цей рядок до settings.json:

    "files.hotExit": "off"

Відкрийте vscode, закрийте vscode і просто натисніть кнопку підтвердження, щоб закрити всі файли без збереження.

Потім відкрийте назад vscode і бум .. більше не збережених файлів не відображається.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.