VSCode终端自动分屏由terminal.integrated.splitTerminals布尔开关控制,默认开启;设为false可禁用该行为,后续快捷键仅聚焦主终端而不分裂,已存在分屏不受影响。

终端自动分屏是 terminal.integrated.splitTerminals 控制的
VSCode 默认开启终端分屏(比如按 Ctrl+Shift+` 再按一次会新建一个分屏终端),这个行为由设置项 terminal.integrated.splitTerminals 控制。它不是“规则”而是布尔开关,设为 false 就彻底禁用自动分屏——每次快捷键只打开/聚焦主终端,不会分裂。
实操建议:
- 打开设置(
Ctrl+,),搜索splitTerminals,把勾去掉 - 或直接编辑
settings.json,添加:"terminal.integrated.splitTerminals": false
- 改完无需重启,新终端窗口立即生效;已存在的分屏终端仍保留,但后续不再自动分裂
分屏后想一键关掉所有非主终端?用 workbench.action.terminal.killAll
关闭单个分屏终端靠 Ctrl+Shift+W(或右键 → “Kill Terminal”),但没快捷键默认关“除当前外的所有”。如果经常被分屏搞乱,可以绑定自定义命令:
- 打开键盘快捷键(
Ctrl+K Ctrl+S),搜killAll - 找到
workbench.action.terminal.killAll,右键“添加快捷键”,比如设成Ctrl+Alt+K - 注意:这个命令会杀掉所有终端(包括当前),不区分主次;如需更精细控制,得靠扩展(如
Terminal Commander)
为什么改了设置还分屏?检查是否有工作区或文件夹级覆盖
settings.json 有三层作用域:用户级、工作区级(.vscode/settings.json)、远程/文件夹级。常见踩坑点:
- 项目根目录下有
.vscode/settings.json,里面写了"terminal.integrated.splitTerminals": true,会覆盖全局设置 - 使用 Dev Container 或 Remote-SSH 时,远程环境可能自带配置,本地改无效
- 某些终端相关扩展(如
Shell Launcher)会主动调用workbench.action.terminal.newWithProfile,间接触发分屏,和该设置无关
想保留分屏但控制默认数量或位置?原生不支持,得靠扩展或手动拖拽
VSCode 没提供“最多开 2 个分屏”或“新终端默认在右侧”这类策略。分屏行为是纯交互驱动的:
- 按
Ctrl+Shift+`→ 主终端;再按 → 新分屏(左右并排);再按 → 再分屏(三列) - 拖拽终端标签到边缘可手动调整布局(上下/左右),但无法固化为默认
- 真有强需求,可用扩展
Terminal Tabs替换原生终端 UI,或写 Task + 自定义命令模拟“可控分屏”
终端分屏逻辑简单,但干扰源常藏在工作区配置或扩展里;先确认 splitTerminals 在**当前生效作用域**是否真为 false,再排查其他干扰项。











