Как сохранить историю отмен после сохранения в коде 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 или случайно закрываете файл, над которым работаете.

Теперь это функция в последней версии:)

https://code.visualstudio.com/updates/v1_44

Другие вопросы по тегам