熱退出功能上線 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