VSCode侧边栏无智能隐藏功能,必须通过三个控制点精准管理:activityBar.visible控制活动栏显隐,workbench.view.visibility(如"scm":false)彻底禁用指定视图及图标,workbench.sideBar.hidden控制侧边栏内容区域可见性;三者互不替代且叠加时易干扰。

VSCode 侧边栏没有“智能隐藏”或“按使用频率自动折叠”的原生能力,所有所谓“自定义隐藏策略”都必须落在三个明确控制点上:活动栏图标显隐、侧边栏内容区域收起、以及视图本身的启用开关。想靠设置一个选项就让 Git 图标在没 .git 目录时自动消失?做不到。
怎么用 workbench.view.visibility 彻底禁用某个图标和对应功能
右键活动栏图标选“隐藏”,只是临时折叠——下次按 Ctrl+Shift+G,Git 图标会弹出来,面板也跟着打开。真要让它彻底消失且无法唤出,必须改用户级 settings.json:
-
scm是 Git 面板的内部 ID,不是git或source control,拼错就无效 - 设为
false后,图标从活动栏移除,Ctrl+Shift+G也不再响应 - 常见 view ID 包括:
explorer(资源管理器)、search(搜索)、debug(调试)、extensions(扩展)、remoteExplorer(远程资源管理器) - 配置必须写在用户 settings.json 中;工作区级设置可能覆盖它,导致你以为没生效
Ctrl+B 到底控制什么,为什么有时只收内容、有时连图标都消失
Ctrl+B 绑定的是 workbench.action.toggleSidebarVisibility,但它行为不固定,取决于当前 activityBar.visible 状态:
- 若
workbench.activityBar.visible为true(默认),Ctrl+B会同时收起活动栏 + 资源管理器内容 - 若已设
"workbench.activityBar.visible": false,Ctrl+B就只控制侧边栏内容区域(即资源管理器、搜索等面板)的显隐 - 不存在“只隐藏图标、保留侧边栏内容”的组合;活动栏和侧边栏内容是强耦合的,没有图标入口,面板就无法被激活
为什么右键隐藏了图标,重启后又回来了
这不是 bug,而是配置作用域和加载优先级的问题:
- 你在远程窗口(SSH/WSL/Container)中右键隐藏,该设置只存于远程环境,本地窗口不受影响
- 项目根目录下有
.vscode/settings.json,其中设置了"workbench.view.visibility"或启用了某扩展,会覆盖用户级配置 - 某些 UI 增强插件(如
Customize UI)会劫持活动栏渲染逻辑,导致隐藏操作不持久 - 误点了活动栏最右侧的
⋯→ “重置视图位置”,这会把所有面板恢复默认状态
真正可靠的“极简”不是靠猜快捷键或依赖插件,而是明确知道每个设置项的作用边界:workbench.view.visibility 控制功能入口,workbench.activityBar.visible 控制左侧图标栏存在与否,workbench.sideBar.hidden 控制右侧内容区域是否可见——三者互不替代,但叠加使用时容易互相干扰。改一个之前,最好先确认另外两个的状态。


















