VSCode终端快捷键默认为Ctrl+K清屏、Ctrl+L滚动到顶部,所谓“重置”实为修复用户自定义冲突、扩展劫持或输入法干扰;可通过键盘快捷键JSON排查覆盖项、使用命令面板执行Terminal: Clear兜底,或清空keybindings.json恢复默认。

VSCode终端快捷键本身没有“被重置”的概念——它默认就是Ctrl+K清屏、Ctrl+L滚动到顶部,不需额外配置;所谓“重置”,实际是修复你手动改坏的绑定、或绕过被扩展/输入法劫持的组合键。
为什么Ctrl+K突然不清屏了
这不是终端功能坏了,而是你的keybindings.json里加了一条覆盖规则,或者某个扩展偷偷绑定了相同组合键。VSCode 终端清屏命令叫terminal.clear,它默认绑定在Ctrl+K上,但这条绑定优先级低于用户自定义项。
- 打开命令面板(
Ctrl+Shift+P),执行Preferences: Open Keyboard Shortcuts (JSON) - 搜索
"key": "ctrl+k",看是否出现非terminal.clear的命令(比如editor.action.deleteLines) - 如果有,删掉那条,或加个
"when": "terminalFocus"限定只在终端生效 - 检查是否有扩展贡献了冲突键位:执行
Developer: Toggle Keybinding Troubleshooter,再按Ctrl+K,看日志里列出哪些命令响应了
想把Ctrl+L改成真正清屏,而不是滚动
Ctrl+L在 VSCode 里默认是workbench.action.terminal.scrollToTop,不是清屏。你可以把它重绑成terminal.clear,但必须显式覆盖原绑定。
- 按
Ctrl+K Ctrl+S打开快捷键编辑器 - 右上角点「+」,搜索
terminal.clear - 双击“按键”栏,按下
Ctrl+L,确认提示“已有命令绑定”,选“重映射” - 保存后,该绑定仅作用于 VSCode 终端,不影响你在 iTerm 或 PowerShell 中的
Ctrl+L行为 - 注意:
Ctrl+L在中文输入法下常被劫持,建议先切英文输入法再试
Terminal: Clear命令比快捷键更可靠
当快捷键失灵时,Terminal: Clear是跨平台兜底方案——它由 VSCode 主进程直接调用,不经过 shell 解析,bash/zsh/powershell/cmd 全部兼容。
- 聚焦终端后,按
Ctrl+Shift+P→ 输入Terminal: Clear→ 回车 - 它清的是可视区 + 滚动缓冲区,光标归首行,旧日志不可滚回,但当前进程(如
npm run dev)完全不受影响 - 别指望
reset或cls命令替代它:reset会重置 xterm.js 渲染状态,可能让颜色/退格键异常;cls在 PowerShell 中有时只清屏不重置缓冲区 - 如果连
Terminal: Clear都无响应,终端大概率已假死,直接关 tab 重建更省时间
重置所有终端相关快捷键的最简方式
不是删整个keybindings.json,而是精准移除终端干扰项——因为多数问题来自局部覆盖,而非全局混乱。
- 执行
Preferences: Open Keyboard Shortcuts (JSON),把文件内容替换成空数组[]并保存 - 重启 VSCode,此时所有终端快捷键回归内置默认:
Ctrl+K清屏、Ctrl+Shift+P呼出命令面板、Ctrl+`切换终端面板 - 不要只注释掉或留空对象
{}——VSCode 会把[{}]也当有效配置处理,仍可能触发when条件误匹配 - 如果之后还要自定义,务必加上
"when": "terminalFocus",避免和编辑器快捷键打架
真正难搞的从来不是快捷键本身,而是when条件写错、扩展静默抢占、或输入法底层劫持——这些不会报错,只会让你反复按Ctrl+K却看到光标闪一下就停住。











