Ctrl+Shift+`不生效是因为终端面板未激活或焦点不在终端区域,它仅在已展开的终端面板中新建标签页,不会自动展开隐藏面板。

Ctrl+Shift+` 新建终端为什么有时不生效?
这个快捷键本质是触发 terminal.new 命令,但前提是终端面板必须已激活(即焦点在终端区域)。如果当前光标还在编辑器里,按了也只会新建一个隐藏的终端实例——你根本看不到它。
- 先按
Ctrl+`(或Cmd+`)确保终端面板展开并获得焦点 - 再按
Ctrl+Shift+`(Win/Linux)或Cmd+Shift+`(macOS),才能稳定新增一个可见终端 - 如果终端面板被最小化(底部面板收起),
Ctrl+Shift+`会静默创建,但不会自动展开——得再按一次Ctrl+` - 某些键盘布局下反引号 ` 键位置异常(比如法语/德语键盘),可改用命令面板执行
Terminal: Create New Terminal
垂直/水平拆分终端该用哪组快捷键?
VSCode 的「拆分」不是视觉拖拽,而是创建新面板(pane),方向由快捷键严格决定,且不可后期调整方向。
- 垂直拆分(左右并排):聚焦终端后按
Ctrl+\(Win/Linux)或Cmd+\(macOS)——这是最稳的默认路径 - 水平拆分(上下并排):用
Ctrl+Shift+5(Win/Linux)或Cmd+Shift+5(macOS);若冲突(比如触发系统截图),需进keybindings.json手动重绑 - 别点右上角
+按钮——它只新建标签页(tab),不是面板(pane),无法用编号快捷键切换 - 已存在的面板方向不会因修改
terminal.integrated.splitDirection配置而改变,该配置仅影响后续新拆分
怎么快速跳到第 7 个终端?编号规则容易踩坑
VSCode 终端编号从 0 开始,且关闭后不重排:关掉 #2 和 #3,#4 依然叫 #4。但编号不显示,全靠记忆极易出错。
- 用
Ctrl+Shift+N(N=0–9)跳转时,如果目标编号不存在,VSCode 会自动新建一个——不是报错,而是悄悄创建 - 超过 10 个终端?必须用命令
terminal.focusAtIndex,参数{"index": 6}对应第 7 个(索引从 0 起) - 右键终端标签 →
Rename Terminal,起名如dev-server或db-migrate,比数编号靠谱得多 - 安装 Vim 插件后,
Ctrl+PageUp/PageDown常被劫持,建议直接绑定workbench.action.terminal.focusNextPane替代
终端工作目录(cwd)为什么总“串”?
新终端默认继承当前活动终端的 cwd,不是实时同步,而是启动时复制路径。看似联动,实为一次性快照。
- 想统一初始路径,配
"terminal.integrated.cwd": "${workspaceFolder}"到settings.json - 临时切换目录不影响其他终端,但
cd ..后再新建终端,新终端仍基于原路径启动,不是当前cd后的位置 - 不同终端可运行不同 shell(
bash、zsh、powershell),但 cwd 独立——一个终端cd /tmp不会影响另一个 - 后台进程残留(如
npm run dev卡住)会导致终端无法正常关闭,得右键选Kill Terminal,而非只点×


















