双击文件仍覆盖旧标签页是因为workbench.editor.reuseeditors默认为true,需同时设置"workbench.editor.enablepreview": false和"workbench.editor.reuseeditors": false才能彻底禁用覆盖行为,且须检查编辑器组限制、标签显示及打开位置等配套设置。

双击文件仍覆盖旧标签页,不是操作失误,而是 workbench.editor.reuseEditors 默认为 true 的结果——它会让 VS Code 把“已打开的同一文件”强行复用当前激活标签页,哪怕你双击的是完全相同的路径。
为什么双击还会覆盖?只关预览模式没用
很多人关了 workbench.editor.enablePreview 后发现单击不覆盖了,但双击还是覆盖。这是因为 reuseEditors 和 enablePreview 是两个独立开关:
前者管「用户确认式打开」(双击、Ctrl+P 回车、命令面板选中),后者只影响「单击资源管理器」的预览行为。
关掉一个只能解决一半问题。
必须同时禁用两个配置才能彻底稳定新开标签
仅设 "workbench.editor.reuseEditors": false 就能让双击每次新开标签;但如果还想让单击也直接新开(而非先进预览再被覆盖),就得一起关掉预览:
-
"workbench.editor.enablePreview": false→ 单击即开常驻标签,不走预览流程 -
"workbench.editor.reuseEditors": false→ 双击、Ctrl+P、命令面板打开,都强制新建标签 - 两者都设为
false后,无论单击/双击/搜索打开,都不会覆盖已有标签页
别漏掉编辑器组限制和标签显示设置
即使关了上面两项,如果还出现“只显示一个标签”,可能是其他限制在起作用:
-
workbench.editor.limit.enabled必须为false(或设workbench.editor.limit.value为0),否则标签数会被硬性截断 -
workbench.editor.showTabs应为true,否则标签栏隐藏,看起来像没开新页 -
workbench.editor.openPositioning建议设为right,避免新文件意外插到当前标签位置造成视觉混淆
多根工作区下,reuseEditors 仍按 URI 判断是否“同一文件”:跨文件夹的同名文件(如 src/index.ts 和 test/index.ts)不会触发复用;但绝对路径一致就一定复用——这点容易误判为配置失效。











