Как сохранить историю отмен после сохранения в коде Visual Studio
Я использую последнюю версию кода VS (1.9.0).
После того как я отменил (ctrl+z) что-то и сохранил файл (ctrl+s), я больше не могу повторить (ctrl+y).
Я хотел бы идти вперед и назад, когда редактор работает так же, как Sublime или другой редактор. Кто-нибудь может решить эту проблему? Спасибо.
7 ответов
Для людей, которые задаются этим вопросом и хотят отключить сохранение стека отмены после закрытия файла, похоже, что это тоже идет в v1.45.
См. https://github.com/microsoft/vscode/issues/94778 и https://github.com/microsoft/vscode/pull/96317 и примечания к выпуску v1.45:
"files.restoreUndoStack": false
Установлен в false
для отключения элементов стека отмены после закрытия файла. по умолчаниюtrue
.
Надеюсь, это сработает.
shift + command + z
Он переделает то, что вы ожидали в Sublime Text (command + y )
В левом нижнем углу vscode у вас есть «временная шкала», вы можете отменить и просмотреть все сохраненные журналы.
Обычно это должно работать. Возможно, это проблема с одним из установленных расширений. Попробуйте запустить Visual Studio Code в терминале / командной строке с помощью
code --disable-extensions
Кредиты: Комментарий выпуска Бенджамина Пасеро
В моем случае это были настройки, которые приводили к очистке буфера отмены/повтора при сохранении файлов в VSC.
Чтобы обойти это, вы можете установить
Format On Save Mode
к
modifications
(требуется система управления версиями, например git)
или же
modificationsIfAvailable
(для решения этой проблемы также требуется контроль версий, иначе VSC отформатирует весь файл и очистит буфер отмены/повтора)
Вуаля!!! у меня были оба
Format On Save
включен и буфер повторов, который работал после сохранения файла. Действительно замечательно!
Если это не помогает, обязательно попробуйте отключить все расширения, чтобы увидеть, может ли одно из них вызывать очистку буфера.
Проблема подтверждается в проблеме 10932 microsoft / vscode "Потеря стека отмены" (и связана с вышеупомянутой проблемой 7169 как часть проблем отмены / повтора)
Мы очень легко теряем стек отмены, оставляя грязный файл на вкладке (не видимой), а затем сохраняя грязный файл:
- откройте несколько вкладок и сделайте их грязными
- подожди несколько секунд
- нажмите "Сохранить все"
- перейдите на те вкладки, которые не видны, и попробуйте отменить
=> вы не можете отменить
Для открытого файла это было решено в VSCode 1.5.0 (сентябрь 2016 г.) с фиксацией b872e3d
Но для повторно открытого файла VSCode 1.44 (март 2020 г.) действительно решает проблему, которая указана в Плане итераций на март 2020 г. и назначена Александру Диме: см. Примечания к выпуску
Сохранять стек отмены при повторном открытии файлов
VS Code теперь будет сохранять стек Undo/Redo файла при закрытии файла. При повторном открытии файла, если его содержимое не изменилось с момента закрытия, стек Undo/Redo будет восстановлен.
Это очень полезно, если вы ограничиваете количество открытых редакторов с помощью параметра workbench.editor.limit.value или случайно закрываете файл, над которым работаете.
Теперь это функция в последней версии:)