【问题标题】:Visual Studio Code backup mechanicsVisual Studio Code 备份机制
【发布时间】:2017-03-06 21:18:39
【问题描述】:

Visual Studio Code 如何在崩溃后恢复数据? “崩溃”包括突然停电和处理的异常。作为我的意思的例子,

  1. Notepad++ 有一个备份文件夹,可以定期保存文件的副本。即使断电,最后 7 秒也不会丢失任何内容。
  2. Atom 保留一个 IndexedDB,它应该在发生异常后恢复所有内容。我不知道停电会发生什么。
  3. Inkscape 依靠其异常处理来恢复数据。如果断电,数据就会丢失。
  4. Scite 没有后备计划。

【问题讨论】:

    标签: backup visual-studio-code


    【解决方案1】:

    根据https://code.visualstudio.com/blogs/2016/11/30/hot-exit-in-insiders

    热退出的工作方式是定期备份未保存的文件。如果 VS Code 发生崩溃,下次打开文件夹时会进行备份恢复。

    在 Windows 上,备份文件夹为 C:\Users\<username>\AppData\Roaming\Code\Backups

    至于备份之间的时间段,我没有找到任何东西。

    【讨论】:

    • 请注意,这是一个有问题的功能。我的经验。使用未保存的文件退出 VSCode。希望像所有我拥有的其他应用程序未保存的更改不会保存。吉特拉。启动 VSCode。 VSCode 静默加载备份,而不会注意到自 VSCode 退出后文件已更改。如果我保存(我这样做了),我会错过这样一个事实,即我刚刚保存了在执行 git pull 时更新的文件的旧版本。我关闭了 vscode 的那个功能
    • 谢谢,这救了我!
    【解决方案2】:

    简要回答“Visual Studio Code 如何在崩溃后恢复数据?”:

    • VSCode 运行“热退出”。根据我的经验,它非常可靠。当它运行时,它会创建在 VSCode 窗口的选项卡中打开的所有未保存文件的副本(它们将窗口称为编辑器)。

    • VSCode 将这些副本保存在 Backups 目录中。它还会生成包含未保存文件的编辑器的路径列表。

    • 您可以在 VSCode 中重新打开之前打开的编辑器并查看您备份的文件。

    满足典型需求的步骤

    列出热退出运行时打开的编辑器

    • 在 MacOS 上使用终端

      cat $HOME/Library/Application\ Support/Code/Backups/workspaces.json`  
      
      • 使用 jq 获得更易读的列表的替代方法

        cat ~/Library/Application\ Support/Code/Backups/workspaces.json | jq '.'
        
    • 在 Linux 上使用终端

      cat $HOME/.config/Code/Backups/workspaces.json
      
    • 在 Windows 上使用 Powershell

      gc %APPDATA%\Code\Backups\workspaces.json
      

    浏览备份目录

    code $HOME/Library/Application\ Support/Code/Backups/
    

    重新打开你想要的编辑器,之前打开的文件按相同的 Tab 键顺序

    code {{ folderUri from workspaces.json }}
    

    为什么这些步骤很有用

    我经常忘记我在 VSCode 退出/崩溃之前打开了哪些目录,并且从 VSCode 中“打开最近”的菜单不会指示哪些编辑器有未保存的文件。对于这个需求,VSCode 生成的 workspaces.json 列表似乎是不可替代的。

    VSCode docs:

    热退出
    默认情况下,当您退出时,VS Code 会记住对文件未保存的更改。当应用程序通过文件 > 退出(macOS 上的代码 > 退出)或最后一个窗口关闭时触发热退出。

    【讨论】:

      猜你喜欢
      • 2018-08-15
      • 2019-01-09
      • 1970-01-01
      • 2015-01-29
      • 2017-03-28
      • 2020-09-19
      • 2021-12-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多