关掉预览模式是前提,需将"workbench.editor.enablepreview": false设为false,才能使单击文件生成常驻标签页;已存在斜体标签不会自动转正,须手动处理。

关掉预览模式是前提
VSCode 默认单击文件会以预览模式(preview)打开,标签斜体、无关闭 ×、点下一个就消失——这不是 bug,是设计行为。workbench.editor.enablePreview 控制这个开关,设为 false 才能让每次点击都生成常驻标签。不关它,后面所有“固定”操作都只是补救,且效果不稳定。
操作路径:按 Ctrl + Shift + P → 输入 Preferences: Open Settings (JSON) → 在 {} 内添加:"workbench.editor.enablePreview": false
保存后立即生效,无需重启。已存在的斜体标签不会自动转正,得手动处理一次。
固定单个标签页只能手动触发
VSCode 没有“自动固定所有文件”或“记住固定状态”的配置项,所谓“Pin”必须对每个标签单独操作。右键标签页 → 选 Keep Open(部分版本显示为 Pin Tab),或点击标签左侧图钉图标。固定后标签变窄、左侧出现图钉、不被新文件覆盖。
-
Keep Open不防关闭:Ctrl + W、点击 ×、鼠标中键点击标签、双击标签空白处,仍会关闭它 - 重启 VSCode 后,所有固定状态丢失,这是设计如此,没有配置可绕过
- 快捷键
Ctrl + K Enter(Win/Linux)或Cmd + K Enter(macOS)可快速执行Keep Open,但不如右键直观
避免误关的几个关键配置
即使固定了标签,某些操作仍会绕过保护机制。想减少意外关闭,需额外调整:
- 禁用鼠标中键关闭:
"workbench.editor.mouseBackForwardToNavigate": false(同时会禁用侧键导航) - 确保没启用编辑器组限制:
"workbench.editor.limit.enabled": false,否则Keep Open会被强制忽略 - 开启跳转已有标签:
"workbench.editor.revealIfOpen": true,避免重复打开同一文件导致混乱 - 新标签默认插右侧:
"workbench.editor.openPositioning": "right",比"first"更符合直觉
多行标签和视觉管理更实用
打开几十个文件后,单行标签栏会挤成细条,找文件反而更难。这时 Wrap Tabs 比“固定”更重要:
在设置里搜索 Wrap Tabs → 勾选它(前提是 Workbench > Editor: Show Tabs 设为 multiple)。标签会自动换行,视觉上更易定位。配合 enablePreview: false 和 revealIfOpen: true,你不再需要靠“固定”来保命,而是靠结构化布局来提效。
真正长期盯住的文件,Keep Open 足够用;但如果总在反复开关同一个文件,说明工作流本身可能更适合用 Split Editor 或独立窗口——VSCode 的编辑模型不鼓励强锁定,而是靠组合策略来适配真实开发节奏。











