vscode终端分屏需先按ctrl+(win/linux)或cmd+(macos)聚焦终端面板,再用ctrl+\垂直拆分(左右并排)、ctrl+shift+5水平拆分(上下并排),各面板进程隔离、可独立运行命令。

Ctrl+` 是打开/聚焦终端面板的唯一入口
所有终端操作都必须从这个面板开始——不是新建窗口,也不是切换标签页。按一次 Ctrl+`(Win/Linux)或 Cmd+`(macOS)唤出底部终端区域;再按一次,会在当前面板内新增一个终端标签页,但仍是单列布局。
常见错误是反复按 Ctrl+Shift+`,结果堆出一堆标签页,彼此不隔离、不能并排、切起来还容易串行。真正需要的是「面板拆分」,不是「标签页叠加」。
- 光标必须在终端面板内(哪怕只是点一下任意终端标签),
Ctrl+PageUp/Ctrl+PageDown才能生效 - 如果快捷键没反应,先检查是否被 Vim 插件劫持,或终端面板被最小化(按
Ctrl+`展开后再试) - 终端面板未激活时,
Ctrl+1~Ctrl+9会切编辑器组,而不是终端编号
垂直拆分用 Ctrl+\,水平拆分用 Ctrl+Shift+5
Ctrl+\(Win/Linux)或 Cmd+\(macOS)是垂直拆分(左右并排)的稳定路径,它直接触发 Terminal: Split in Active Workspace,方向固定,不依赖鼠标位置。
Ctrl+Shift+5(Win/Linux)或 Cmd+Shift+5(macOS)是水平拆分(上下并排)的默认组合,但注意:它和系统截图快捷键冲突时会失效,得去 VSCode 的 keybindings.json 里手动重绑,比如改成 Ctrl+Shift+6。
- 右上角「+」按钮只加标签页,不是拆分面板;拖拽标题栏到边缘也无效
- 已存在的上下布局不会因改
terminal.integrated.splitDirection设置自动重排,只影响后续新拆分 - 每个拆分出来的终端启动独立 shell 进程,但工作目录(
cwd)继承自触发拆分时焦点所在终端的当前路径,不是项目根目录
聚焦第 N 个终端面板用 Ctrl+Shift+N(N=0–9)
编号从 0 开始:Ctrl+Shift+0 聚焦第一个,Ctrl+Shift+3 就是第四个——哪怕中间关掉了 #1 和 #2,编号也不会重排。但问题在于:编号看不见,容易按错。
更可靠的替代是绑定命令 workbench.action.terminal.focusNextPane 和 workbench.action.terminal.focusPreviousPane,它们严格按 DOM 顺序切换,不依赖编号,也不受标签页干扰。
- 终端关闭后,后台进程(如
npm run dev)仍在运行,端口被占却无提示 - 想让每个新终端都从项目根目录启动?得手动配
terminal.integrated.cwd,且该设置只对「新创建」的终端生效,不影响已拆分的面板 - Windows 默认 shell 是 PowerShell,拆分后仍是 PowerShell;要换 Git Bash 或 cmd,得先在右上角下拉菜单选好,再拆分
别用 File → New Window 管理“多个终端窗口”
开多个 VSCode 主窗口(Ctrl+Shift+N)不是管理终端的正解。每个窗口只带一条终端,资源浪费,且终端状态无法聚合、共享或统一命名。
真需求是「同一窗口内多个隔离终端」,靠的是终端面板内部的拆分能力,不是靠 OS 级窗口管理。多根工作区(.code-workspace)才是跨项目协作的合理路径——它让 backend 和 frontend 共享一个终端跑 docker-compose up,还能统一搜索、跳转定义。
- 误点
Add Folder to Workspace…会导致当前上下文丢失(语言服务、任务配置全重置) - 左下角状态栏显示
[Workspace]才算多根生效;只显示文件夹名,说明还是单文件夹模式 - 分屏终端和编辑器组共用一套焦点逻辑:按
Ctrl+1/Ctrl+2切的是编辑器列,不是终端面板











