尝试以扩展 VS Code 中的代理模式!

热退出功能来到内测版

2016 年 11 月 30 日,作者:Daniel Imms,@Tyriar

让 Visual Studio Code 在您退出时记住未保存的更改(热退出)一直是一个长期请求的功能,事实上,它目前在 GitHub 上👍反应排名第 3 位。我们已经为此实施了一段时间,现在它已在内测版本中默认启用!

初始设计

我们最初考虑将备份与已打开的文件夹绑定,这样一旦 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