热退出功能加入到 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