VS Code无原生“悬停展开”或“空闲自动隐藏”功能;所谓自动隐藏实为组合策略:默认设侧边栏为折叠态(仅占24px),靠快捷键Ctrl+B切换、workbench.view.visibility禁用指定图标、配合延迟执行命令模拟效果。

VS Code 没有“悬停展开”或“空闲自动隐藏”的原生功能,所谓“自动隐藏”只能靠组合策略模拟效果,核心是让侧边栏默认处于折叠态(仅留 24px 活动栏图标列),不挤压编辑器宽度。
为什么 settings.json 里设 workbench.sideBar.hidden 或 workbench.sidebar.location 都无效
这两个配置项常被误用:workbench.sideBar.hidden 在 VS Code 1.86+ 已被标记为只读,写入后静默忽略;workbench.sidebar.location 只接受 "left" 或 "right",填 "hidden" 或数字会直接失效。真正影响编辑区宽度的,不是“是否隐藏”,而是侧边栏当前是否处于“展开内容”状态——只有折叠态(点击资源管理器顶部箭头收起)才能释放空间。
让侧边栏启动即折叠:靠命令 + 延迟执行,不是纯配置
settings.json 不支持启动时执行命令,所以无法靠一行配置实现“一打开就折叠”。可行路径只有两种:
- 在
keybindings.json中绑定workbench.action.closeSidebar到快捷键(如Ctrl+Shift+B),每次手动按一次完成折叠 - 使用插件(如 Auto Run Command)或自定义脚本,在窗口就绪后自动运行该命令——但需额外安装、维护,且部分远程环境(WSL/SSH)不兼容
- 更轻量的做法:在用户级
settings.json顶部加注释提醒自己,启动后顺手按Ctrl+B再按一次,即可回到折叠态(因为Ctrl+B默认先展开再收起)
Ctrl+B 行为不稳定?检查 activityBar.visible 和当前状态
很多人发现 Ctrl+B 有时只收内容、有时连图标都消失,根本原因是它实际触发的是 workbench.action.toggleSidebarVisibility,行为取决于两个前提:
- 若
"workbench.activityBar.visible": true(默认),Ctrl+B会联动活动栏与内容区:第一次收全部,第二次展全部 - 若已设
"workbench.activityBar.visible": false,Ctrl+B就只控制内容区(资源管理器/搜索等),活动栏本身已不可见 - 若活动栏可见但所有视图都已折叠(比如点了资源管理器顶部箭头),
Ctrl+B会先展开最近使用的面板,再按一次才收起
所以“自动隐藏”的错觉,本质是养成「启动后立即 Ctrl+B → Ctrl+B」两下习惯,把侧边栏稳在折叠态。
彻底移除不常用图标:用 workbench.view.visibility,别信右键“隐藏”
右键活动栏图标选「隐藏」只是临时折叠,重启或切换工作区后极易恢复。要真正减负,必须编辑用户级 settings.json:
- 填对内部 ID:
"scm"对应 Git,"extensions"对应扩展,"debug"对应调试,拼错无效 - 设为
false后,图标消失且Ctrl+Shift+G等快捷键也不再响应 - 工作区级
.vscode/settings.json会覆盖用户设置,调试时优先检查Ctrl+,打开的“用户设置”而非“工作区设置”
最易被忽略的一点:没有“自动”这回事——所有看似自动的行为,背后都是状态记忆(折叠态)、快捷键触发(Ctrl+B)、或配置叠加(workbench.view.visibility + activityBar.visible)。你得清楚每一层控制什么,否则改了十次设置,侧边栏还是照常弹出来。


















