vscode手动固定标签页需右键选择pin tab或点击标签左侧图钉图标,固定后标签变窄、左侧显图钉、不被新文件覆盖,但重启丢失且ctrl+w等操作仍可关闭。

VSCode 没有“自动固定常用文件”的功能,所有固定操作必须手动触发,且重启即丢失——这不是 bug,是设计如此。
怎么手动固定一个标签页(Pin Tab)
固定本质是让文件脱离预览态(preview),变成常驻标签。操作路径只有一条:右键点击已打开的标签页 → 选择 Pin Tab(部分版本显示为 Keep Open 或 Keep Editor)。也可直接单击标签页最左侧的小圆点 / 图钉图标(如果看不到,可能是主题缩放太小,试试 Ctrl + 放大界面)。
固定后你会看到:
- 标签变窄、文件名缩略
- 左侧出现图钉图标
- 该标签被锁定在最左位置,不参与 Ctrl+Tab 切换循环(除非按住 Ctrl 连续按 Tab)
- 不会被后续点击其他文件覆盖
为什么刚固定完,点别的文件还是被替换了
大概率你没关掉预览模式,或者编辑器组被限制了数量。固定只对“已存在标签”生效,新打开的文件默认仍是预览态:
- 在
settings.json中设"workbench.editor.enablePreview": false,让所有新文件都直接开成常驻标签 - 检查是否误启了
"workbench.editor.limit.enabled": true且"workbench.editor.limit.value": 1—— 这会让编辑器组强制只留 1 个标签,固定也无效 -
"workbench.editor.openPositioning": "right"确保新标签插在右侧,而不是覆盖当前
注意:已存在的预览标签不会因改配置自动转正,得手动 Pin Tab 一次。
固定后还能被哪些操作意外关掉
固定不是加锁,只是改变生命周期策略。以下行为仍会关闭已固定的标签:
- 按
Ctrl+W(或Cmd+W)—— 关的是当前焦点编辑器实例,固定与否都会执行 - 鼠标中键点击标签页(VSCode 默认绑定为强制关闭)
- 双击标签页空白处(UI 层关闭逻辑,绕过固定状态)
- 右键菜单里的
Close All Other Editors或Close Saved Editors - 整个编辑器组被关闭(比如用
Ctrl+K F关闭全部)
想减少误关,可禁用中键关闭:"workbench.editor.mouseBackForwardToNavigate": false,但这也同时关掉了鼠标侧键前进/后退导航。
终端标签页能固定吗
不能像普通文件那样“固定”,但可通过配置让终端会话不随标签关闭而销毁:
- 启用
"terminal.integrated.persistentSession": true(需 VSCode 1.86+,改完必须重启) - 给终端命名(右键 →
Rename),再配合"terminal.integrated.reuseTerminal": true,同名终端会复用而非新建
注意:进程崩了(如 npm run dev 崩溃)后终端内容仍会丢失;真正容易被忽略的点是:固定只作用于当前窗口内存,不跨工作区、不同步远程、不写入配置——你关掉窗口,它就清零。











