热退出功能上线 Insiders 版本
2016年11月30日,Daniel Imms,@Tyriar
让 Visual Studio Code 在退出时记住未保存更改(即“热退出”)的功能,一直是备受期待的功能,事实上,它目前在 GitHub 上👍反应数中排名第3位。我们已经为此功能开发了一段时间,现在它已在 Insiders 构建版本中默认启用!
初步设计
我们最初考虑将备份与已打开的文件夹关联,这样一旦 VS Code 关闭,必须重新打开同一个文件夹才能触发热退出恢复。这种方法的主要问题是备份可能会“丢失”;备份仍然存在,但用户可能忘记了他们更改时所处的文件夹。
仅限于整个应用程序关闭
正是由于担心备份会持续存在但无法被发现,我们决定对热退出发生的时间添加限制:热退出只会在所有VS Code 窗口都关闭时发生,或者在 Mac 上,应用程序退出时发生(Cmd+Q)。
虽然这最初可能看起来有所限制,尤其当你经常在多个文件夹中工作时,但好消息是当你重新启动 VS Code 时,所有带有备份的工作区都将呈现出来,因此不会出现其他什么内容可能已被备份的歧义。
此限制的重要例外是,当窗口重新加载时,热退出将始终触发。这意味着安装扩展时不再有烦人的保存对话框!
崩溃保护
热退出通过定期备份未保存文件来工作。如果 VS Code 崩溃,下次打开文件夹时将进行备份恢复。
展望未来
热退出功能将在11月/12月的更新(1.8.0)中发布到稳定版。
之后,我们希望研究如何最好地放宽热退出触发时的限制,同时确保备份不会丢失(#15467)。此解决方案在很大程度上取决于 VS Code 将如何处理多文件夹工作区(#396)。
Daniel Imms,VS Code 团队成员
@Tyriar