要让VSCode启动时不打开空标签页,必须将workbench.startupEditor设为"none",否则默认的"welcomePageInEmptyWindow"会强制创建欢迎页标签;该设置需置于工作区级settings.json中才对多根工作区生效。

VSCode 启动后出现空标签页(即未打开任何文件的空白编辑器),不是 bug,而是默认行为;它不占用实质资源,但干扰工作流起点——尤其当你习惯用 Ctrl+P 或项目工作区启动时,这个空页反而成了第一个要关掉的“多余项”。
怎么让 VSCode 启动时不打开空标签页
核心是禁用 workbench.startupEditor 的默认值。VSCode 1.89+ 默认设为 "welcomePageInEmptyWindow",即空窗口里显示欢迎页标签。这不是“必须”,而是可覆盖的启动策略。
- 打开设置(
Ctrl+,),搜索startupEditor,把下拉选项改为"none" - 或直接在
settings.json中写入:"workbench.startupEditor": "none"
- 如果使用多根工作区(.code-workspace),该设置需放在工作区级
.vscode/settings.json中才生效,用户级设置会被忽略 - 改完后重启 VSCode,新窗口将彻底不创建任何初始标签页——哪怕你双击图标启动,也只显示侧边栏和编辑器背景,干净无干扰
为什么关不掉那个“空窗口”标签页
你按 Ctrl+W 没反应?因为这个空标签页本质不是“已打开的编辑器”,而是“欢迎页容器”。它不参与常规标签页生命周期管理,Ctrl+W 只关编辑器实例,不关欢迎页。
- 真正能关它的操作只有两个:
Ctrl+K W(关闭所有已保存的标签页)或右键标签页 → “关闭全部” - 但更根本的解法是:提前设
"workbench.startupEditor": "none",从源头杜绝它生成 - 如果你已经打开了多个空窗口,
Ctrl+Shift+W并不存在,别试;Ctrl+Shift+T是恢复刚关闭的编辑器,对空欢迎页无效
空标签页被误当成“可预览文件”怎么办
当启用预览模式(默认开启)时,单击资源管理器文件会以斜体标签打开,再次点击其他文件就会覆盖它。但空欢迎页不会被覆盖——它卡在那儿,导致你点五次文件,只看到四个标签,第五个总被“欢迎页占位符”挡住。
- 这不是预览逻辑出错,而是欢迎页拥有更高渲染优先级
- 解决方案仍是设
"workbench.startupEditor": "none",一劳永逸 - 临时补救:双击任意一个真实文件标签页,它会转为常驻;再按
Ctrl+K X关闭所有未保存标签(欢迎页带圆点●,会被清掉) - 注意:
workbench.editor.showTabs设为false不影响欢迎页显示——它走的是独立 UI 通道
最常被忽略的一点:空标签页本身不消耗内存,但它会劫持首次 Ctrl+Tab 切换的焦点位置,并出现在“最近使用”列表顶端。哪怕你设了 "none",旧窗口历史里仍可能残留它的影子——退出前手动关掉空标签,比依赖配置更可靠。











