如何解决VSCode每次打开项目都会自动新开一个空白Untitled文件的问题

每次启动VSCode,那个熟悉的“Untitled-1”标签页又弹出来了?别担心,这并非你的项目配置出了问题,而是编辑器一个默认但有时略显“贴心过头”的功能在作祟。下面就来拆解其成因,并给出几种干净利落的解决方案。
为什么 VSCode 启动时总带一个 Untitled-1
简单来说,这是VSCode“会话恢复”功能的直接体现。为了提升用户体验,编辑器默认会记住你上次关闭时的所有工作状态——包括每一个打开的编辑器标签页。这意味着,如果你上次退出前,不小心留下了一个未保存的空白文件(也就是那个Untitled-1),那么下次启动时,VSCode便会忠实地将它一并还原。这原本是为了让你能无缝接续工作,但在某些场景下,就变成了一个挥之不去的小麻烦。
关闭「自动恢复上次会话」的两种方式
要从根本上解决这个问题,关键在于调整VSCode的恢复策略,让它只恢复你真正关心的项目文件,而非所有临时标签页。具体操作如下:
- 首先,打开VSCode的设置(快捷键是
Ctrl+,或Cmd+,)。 - 在搜索框中输入
restore Windows,找到名为Window: Restore Windows的设置项。 - 将其值从默认的
all修改为none。请注意,选择folders可能仍会恢复部分会话,none才是彻底关闭此行为。 - 同时,建议检查一下
Files: Auto Sa ve这个设置。如果它被设为on,未命名的临时文件有可能被自动保存到某个位置,从而干扰恢复逻辑。将其调整为off或afterDelay通常更为稳妥。
完成上述设置并重启VSCode后,再次打开你的项目文件夹,那个顽固的Untitled-1就应该彻底消失了。
如果只想清理当前残留,不改全局设置
当然,如果你只是临时想清理一下当前的工作区,不希望改动全局配置,也有一个快速方法:
- 首先,手动关闭当前窗口内的所有标签页,包括那个令人不快的
Untitled-1。注意,是关闭标签页,而不是关闭整个VSCode窗口。 - 然后,调出命令面板(
Ctrl+Shift+P或Cmd+Shift+P),输入并执行Developer: Reload Window命令。 - 窗口重新加载后,再通过
File > Open Folder...重新打开你的项目目录。
这个方法相当于让VSCode进行了一次“干净启动”,跳过了会话恢复流程。不过,它是一次性的,下次完全关闭VSCode再打开,问题仍可能复现。因此,对于长期困扰的用户,调整Window: Restore Windows设置仍是更一劳永逸的选择。
插件或用户数据损坏也可能导致异常恢复
在极少数情况下,即使你已经正确修改了设置,那个“幽灵”般的Untitled文件依然可能出现。这通常指向了用户数据缓存的异常。可以尝试以下步骤:
- 完全退出VSCode。
- 找到并删除用户数据目录中的工作区缓存文件。具体路径是:
- Linux/macOS:
~/.vscode/storage.json - Windows:
%APPDATA%\Code\storage.json
- Linux/macOS:
- 同时,可以一并清理同目录下的
workspaces子文件夹。但务必谨慎,不要删除整个~/.vscode目录,以免丢失其他重要配置和插件。
完成清理后重新启动VSCode。通常,重装插件或完全重置设置并非必要,问题的根源大多集中在恢复策略和缓存文件这两个层面。
最后提一个常见的误区:很多人遇到这个问题,会先去调整 Files: Hot Exit(控制关闭窗口时是否提示保存未保存文件),但其实真正掌管“启动时恢复什么”的,是前面提到的 Window: Restore Windows 设置。分清这两者的职责,才能精准解决问题。
