VSCode终端分屏无需插件,Windows/Linux用Ctrl+Shift+5垂直拆分、Ctrl+Shift+6水平拆分,macOS对应Cmd+Shift+5/6;分屏后可切换焦点、拖动调整大小、Ctrl+Shift+W关闭单个面板,但重启不保存布局,需通过tasks.json预设任务恢复常用组合。

VSCode 终端分屏:用快捷键快速并排打开多个终端
VSCode 原生支持终端分屏,不需要插件,但默认不启用「水平/垂直拆分」的快捷键绑定(尤其 macOS 和 Windows 行为略有差异)。关键不是“能不能”,而是“按哪组键才真正触发分屏”。
-
Windows/Linux:聚焦终端面板后,按
Ctrl+Shift+5(数字小键盘或主键盘均可)——这是默认绑定的「垂直拆分」;Ctrl+Shift+6是水平拆分 -
macOS:对应是
Cmd+Shift+5(垂直)、Cmd+Shift+6(水平),注意不是F1或右键菜单里的“Split Terminal”,那个有时只新建标签页而非真分屏 - 如果快捷键没反应,大概率是被系统级输入法或第三方工具劫持了(比如某些中文输入法会吞掉
Cmd+Shift+5),可临时切英文输入法再试 - 分屏后每个终端独立运行,
cd、npm run dev、git log互不影响,但共享同一工作区路径(除非手动cd到不同目录)
终端分屏后怎么切换焦点、调整大小、关闭单个面板
分屏不是摆设,得能高效操作。VSCode 的终端分屏焦点逻辑和普通编辑器分组类似,但容易误以为「点击就能切」——其实必须用键盘或右键明确指定。
- 用
Ctrl+`(反引号)循环切换所有终端标签页和分屏,但无法精准跳到某个特定分屏;更准的是Ctrl+Shift+P→ 输入「Terminal: Focus Next Pane」或「Focus Previous Pane」 - 鼠标悬停在两个分屏之间的分割线上,光标变双箭头时拖动即可调整宽度/高度;但拖动后若没松手就移出区域,尺寸可能回弹——要稳住再松
- 关闭单个分屏:把焦点切到它上面(点击或快捷键),然后按
Ctrl+Shift+W(macOS 是Cmd+Shift+W);别用右上角 ×,那会关整个终端面板 - 分屏数量无硬限制,但超过 3 个垂直分屏后,每列太窄,
ls -la这类命令输出会自动换行错乱,建议最多 2–3 列并排
为什么有时候分屏看起来“没生效”或内容重叠?
这不是 Bug,是 VSCode 终端渲染机制和终端类型共同导致的视觉假象。常见于 WSL、PowerShell 或启用了自定义 shell 的场景。
- 如果你用的是
WSL,首次分屏时新终端可能卡在「正在启动」状态几秒,此时看起来像空白或复用上一个终端的内容——等几秒或按Enter触发一次输入即可刷新 - 使用
PowerShell且启用了PSReadLine插件时,分屏后第二个终端的提示符(PS C:\…>)可能不显示,实际已就绪;输个echo test就能确认 - 某些主题(如
Nord或高对比度主题)会让分割线颜色和背景太接近,导致“看不见分界”——改用默认Dark+主题验证一下,或调高"workbench.colorCustomizations": {"terminal.border": "#444"} - 终端字体缩放(
terminal.integrated.fontSize)设得过大,也会挤压分屏可用空间,让命令输出折行异常,建议保持默认或设为12–14
想固定常用分屏组合(比如前端开发常开 npm + git + node)?靠配置不行,得靠任务
VSCode 不保存终端分屏布局,每次重启终端面板都会回到单个实例。所谓“记住分屏”只能靠预设任务(tasks.json)或 shell 脚本驱动,但要注意执行时机。
- 不能靠
settings.json配置项自动分屏,terminal.integrated.defaultProfile只管默认 shell,不管数量 - 可行做法:写一个本地脚本(如
dev-term.sh),里面用code --reuse-window启动 VSCode 后,再通过code --command "workbench.action.terminal.splitInActiveTerminal"等命令链式触发分屏 —— 但需开启 VSCode CLI 工具,且跨平台兼容性差 - 更稳的方案:用 VSCode 内置的
tasks.json定义多个shell类型任务,再绑定快捷键;虽然不是“开机即分屏”,但按一次Ctrl+Shift+P→ 「Tasks: Run Task」→ 选「Start Dev Terminals」就能拉起三个带命名的终端实例(名字会显示在标签页上) - 注意:任务方式启动的终端,
cwd默认是工作区根目录;如果某个任务需要进./client,得显式写"options": {"cwd": "${workspaceFolder}/client"}
分屏本身很简单,难的是第一次搞清快捷键是否被拦截、分屏后焦点在哪、以及重启后怎么不重配——这些细节比功能本身更影响每天的心情。











