Insiders에 Hot Exit 기능이 추가되었습니다
2016년 11월 30일, Daniel Imms, @Tyriar
Visual Studio Code가 저장되지 않은 변경 사항을 종료 시(hot exit) 기억하는 기능은 오랫동안 요청되어 온 기능입니다. 사실 GitHub에서 👍 반응 수 기준으로 현재 3위에 올라 있습니다. 저희는 이 기능의 구현을 위해 상당한 시간을 투자했으며, 이제 Insiders 빌드에서 기본적으로 활성화되었습니다!
초기 디자인
처음에는 백업을 열린 폴더에 연결하는 것을 고려했습니다. 즉, VS Code가 닫힌 후 해당 폴더를 다시 열어야 hot exit 복원이 트리거되도록 하는 방식이었습니다. 이 접근 방식의 주요 문제는 백업이 잠재적으로 "사라질" 수 있다는 점이었습니다. 백업 자체는 그대로 존재하지만, 사용자가 변경 사항을 저장했던 폴더를 잊어버릴 수 있었습니다.
애플리케이션 전체 종료로 제한
백업이 유지되지만 찾을 수 없게 될 수 있다는 우려 때문에, hot exit가 발생하는 시점을 제한하기로 결정했습니다. Hot exit는 모든 VS Code 창을 닫을 때, 또는 Mac의 경우 애플리케이션을 종료할 때 (Cmd+Q) 발생합니다.
이것이 처음에는 다소 제한적이라고 느껴질 수 있습니다. 특히 여러 폴더에서 자주 작업하는 경우 더욱 그렇습니다. 하지만 좋은 점은 백업이 있는 모든 워크스페이스가 VS Code를 다시 시작할 때 표시되므로, 어떤 것이 백업될 수 있는지에 대한 모호함이 없다는 것입니다.
이 제한의 중요한 예외는 창이 다시 로드될 때 hot exit가 항상 트리거된다는 것입니다. 이는 확장 프로그램을 설치할 때 더 이상 귀찮은 저장 대화 상자가 나타나지 않는다는 것을 의미합니다!
충돌 보호
Hot exit는 주기적으로 저장되지 않은 파일의 백업을 생성하는 방식으로 작동합니다. VS Code가 예기치 않게 충돌하는 경우, 다음에 해당 폴더를 열 때 백업 복원이 수행됩니다.
향후 계획
Hot exit 기능은 11월/12월 업데이트(1.8.0)에서 Stable 빌드로 제공될 예정입니다.
이후에는 백업이 사라지지 않도록 보장하면서 hot exit가 트리거되는 시점의 제한을 어떻게 완화할 수 있을지 살펴보고 싶습니다 (#15467). 이에 대한 해결책은 VS Code가 여러 폴더 워크스페이스를 어떻게 처리할지에 크게 좌우될 것입니다 (#396).
Daniel Imms, VS Code 팀 멤버
@Tyriar