ホットエグジットがインサイダーズに登場
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)でStableビルドに導入される予定です。
その後、ホットエグジットがトリガーされる際の制限をどのように緩和するのが最善か、同時にバックアップが見つからなくならないようにする方法を検討したいと考えています(#15467)。この解決策は、VS Codeが複数のフォルダワークスペースをどのように扱うか(#396)に大きく依存します。
Daniel Imms, VS Code チームメンバー
@Tyriar