默认快捷键不推荐改动,因VSCode硬编码绑定Ctrl+B/Cmd+B到侧边栏显隐,GitLens等插件直接依赖;强行重绑会导致插件失步、协作混乱、升级失效,且终端中Ctrl+B常被tmux占用。

Ctrl+B(Windows/Linux)或 Cmd+B(macOS)是 VSCode 官方绑定的侧边栏显隐快捷键,不建议重绑;若必须改,需绕过系统级限制并承担兼容风险。
为什么默认快捷键不推荐改动
VSCode 将 workbench.action.toggleSidebarVisibility 绑定到 Ctrl+B / Cmd+B 是硬编码级行为,被 GitLens、Remote - SSH、Settings Sync 等主流插件直接依赖。强行覆盖会导致:
- 插件 UI 动作失步(比如 GitLens 的文件树展开按钮点击无响应)
- 多人协作时同事机器上快捷键失效,引发配置同步混乱
- VSCode 升级后该绑定可能被重置,而你的自定义规则因优先级冲突静默失效
更现实的问题是:你改了它,但 Ctrl+B 在终端里常被 tmux 或 screen 占用,实际使用中反而要先切出终端——等于没解决根本痛点。
真要重绑,只能走 keybindings.json + when 条件兜底
VSCode 键盘设置界面(Ctrl+K Ctrl+S)里右键“更改键绑定”对这个命令无效,它会提示“此快捷键由默认设置控制”。唯一可行路径是手动编辑 keybindings.json:
- 打开快捷键设置页,点右上角
{}图标进入 JSON 编辑 - 添加如下规则(示例改为
Ctrl+Alt+B):
[{
"key": "ctrl+alt+b",
"command": "workbench.action.toggleSidebarVisibility",
"when": "!terminalFocus && !editorFocus"
}]注意 when 条件必须排除 terminalFocus 和 editorFocus,否则在终端或编辑器内按会冲突;但加了这个条件,又意味着你无法在写代码时直接触发——本质上,它只是把快捷键挪到了一个更难按的位置。
侧边栏“看似消失”其实是窄态,不是快捷键问题
很多人以为按了 Ctrl+B 没反应,其实是侧边栏被拖拽到极窄状态(只剩图标),视觉上像隐藏了。验证方法:
- 鼠标移到窗口最左侧边缘,看是否出现左右双向箭头光标
- 按住
Alt(Windows/Linux)或Option(macOS),悬停在侧边栏区域,会临时显示宽度数值 - 此时再按一次
Ctrl+B才会真正隐藏;窄态下按快捷键只会在“窄”和“隐藏”间切换,不恢复默认宽度
这种状态对触控板用户尤其隐蔽,且无法通过重绑快捷键修复——它属于 UI 布局缓存,重启 VSCode 或重置 workbench.sideBar.visible 配置项才有效。
真正卡住的往往不是快捷键本身,而是焦点落在终端、搜索框或弹出菜单里,导致 Ctrl+B 根本没被 VSCode 主进程捕获。先按 Esc 清空所有浮层,再试一次,比重绑快十倍。


















