Visual Studio 代码备份机制
Visual Studio Code backup mechanics
Visual Studio代码如何在崩溃后恢复数据? "Crash" 包括突然断电和处理的异常。作为我的意思的例子,
- Notepad++ 有一个备份文件夹,可以定期保存文件的副本。即使断电,最后 7 秒后也不会丢失任何内容。
- Atom 保留了一个 IndexedDB,它应该在异常发生后恢复所有内容。我不知道停电会发生什么。
- Inkscape 依靠其异常处理来恢复数据。如果断电,数据将丢失。
- Scite 没有备份计划。
根据https://code.visualstudio.com/blogs/2016/11/30/hot-exit-in-insiders,
The way hot exit works is to periodically make backups of unsaved files. If VS Code happens to crash, a backup restore will occur the next time the folder is opened.
在 Windows,备份文件夹是 C:\Users\<username>\AppData\Roaming\Code\Backups
。
至于备份之间的时间,我还没有找到。
问题“Visual Studio 代码如何在崩溃后恢复数据?”的简要回答:
VSCode 运行“热退出”。根据我的经验,它非常可靠。当它运行时,它会创建在 VSCode window 选项卡中打开的所有未保存文件的副本(他们称 window 为编辑器)。
VSCode 将这些副本保存在备份目录中。它还会生成包含未保存文件的编辑器路径列表。
您可以在 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 quits/crashes 之前打开过哪些目录,并且 VSCode 中“打开最近”的菜单不会指示哪些编辑器有未保存的文件。对于这种需要,VSCode 生成的 workspaces.json 列表似乎是不可替代的。
Hot Exit
VS Code will remember unsaved changes to files when you exit by default. Hot exit is triggered when the application is closed via File > Exit (Code > Quit on macOS) or when the last window is closed.
Visual Studio代码如何在崩溃后恢复数据? "Crash" 包括突然断电和处理的异常。作为我的意思的例子,
- Notepad++ 有一个备份文件夹,可以定期保存文件的副本。即使断电,最后 7 秒后也不会丢失任何内容。
- Atom 保留了一个 IndexedDB,它应该在异常发生后恢复所有内容。我不知道停电会发生什么。
- Inkscape 依靠其异常处理来恢复数据。如果断电,数据将丢失。
- Scite 没有备份计划。
根据https://code.visualstudio.com/blogs/2016/11/30/hot-exit-in-insiders,
The way hot exit works is to periodically make backups of unsaved files. If VS Code happens to crash, a backup restore will occur the next time the folder is opened.
在 Windows,备份文件夹是 C:\Users\<username>\AppData\Roaming\Code\Backups
。
至于备份之间的时间,我还没有找到。
问题“Visual Studio 代码如何在崩溃后恢复数据?”的简要回答:
VSCode 运行“热退出”。根据我的经验,它非常可靠。当它运行时,它会创建在 VSCode window 选项卡中打开的所有未保存文件的副本(他们称 window 为编辑器)。
VSCode 将这些副本保存在备份目录中。它还会生成包含未保存文件的编辑器路径列表。
您可以在 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
上使用 Powershellgc %APPDATA%\Code\Backups\workspaces.json
浏览备份目录
code $HOME/Library/Application\ Support/Code/Backups/
重新打开所需的编辑器,之前打开的文件按相同的 Tab 键顺序
code {{ folderUri from workspaces.json }}
为什么这些步骤有用
我经常忘记在 VSCode quits/crashes 之前打开过哪些目录,并且 VSCode 中“打开最近”的菜单不会指示哪些编辑器有未保存的文件。对于这种需要,VSCode 生成的 workspaces.json 列表似乎是不可替代的。
Hot Exit
VS Code will remember unsaved changes to files when you exit by default. Hot exit is triggered when the application is closed via File > Exit (Code > Quit on macOS) or when the last window is closed.