热退出功能登陆 Insiders 版本
2016 年 11 月 30 日,作者:Daniel Imms,@Tyriar
当您退出 Visual Studio Code 时,能够记住未保存的更改(热退出)一直是一个长期以来的需求功能,事实上它目前在 GitHub 上 👍 反映排名中位列第三。我们已经为此功能开发了一段时间,现在它已在 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