Ctrl+PageUp/PageDown仅在终端面板已聚焦且存在多个split pane时有效,否则不响应;切第7个终端用Ctrl+Shift+7(Win/Linux)或Cmd+Shift+7(macOS),未创建则自动新建;超10个需自定义terminal.focusAtIndex命令绑定快捷键。

Ctrl+PageUp/PageDown 为什么经常不切换终端?
这两个快捷键不是“全局轮询”,而是“当前终端面板内顺序切换”,前提非常苛刻:
必须先让终端面板获得焦点(按 Ctrl+` 或鼠标点一下终端区域)
终端面板不能被折叠或隐藏(Ctrl+` 必须已展开)
只对「集成终端」生效,Python Debug Console、Task Output、Remote-SSH Log 等不参与切换
如果当前只有 1 个终端,它们完全无反应,也不会报错
怎么快速跳到编号为 7 的终端(不管它是否已存在)?
VSCode 终端编号从 0 开始,且不随关闭重排——关掉 #3 后,原来的 #4 还是 #4。Ctrl+Shift+7(Windows/Linux)或 Cmd+Shift+7(macOS)会直接聚焦第 7 个终端:
若已存在,立即激活并把光标移入输入框
若不存在,自动新建一个并聚焦
注意:必须用主键盘区数字键,不是小键盘;中文输入法下可能失效,建议切英文状态
想切到第 15 个终端,原生快捷键不够用了怎么办?
原生只支持 0–9,但你可以通过 terminal.focusAtIndex 命令扩展:
打开快捷键设置(Ctrl+K Ctrl+S)
搜索 terminal.focusAtIndex,点击「+」添加新绑定
填入 JSON 片段(例如切到第 15 个):
[ { "key": "ctrl+alt+9", "command": "terminal.focusAtIndex", "args": { "index": 14 } } ]注意:
index 是 0 起始整数,所以 14 对应第 15 个该命令仅在终端面板已打开时有效;若面板关闭,需先按
Ctrl+`
terminal.focusNext 和 terminal.focusPrevious 到底靠不靠谱?
它们只在「已创建且未被销毁」的终端之间循环,但有严重隐性限制:
不会跳过被最小化的终端(哪怕它只是折叠在下拉菜单里)
遇到正在重启中的终端(比如刚执行 kill -9 后的残留状态),可能卡住或跳空
不感知终端类型,如果混用了 Git Bash、PowerShell、WSL,切换顺序完全由创建时间决定,无法按用途过滤
更关键的是:它们永远只在前 10 个终端内打转,即使你用 focusAtIndex 创建了第 20 个,focusNext 也永远不会到达

















