VS Code 1.85+ 中需用 workbench.activityBar.visibleEntries 精确控制活动栏图标顺序与可见性,该数组定义从上到下的显示顺序,仅在用户级 settings.json 中生效;右键 Hide 仅为临时隐藏,重启即恢复,非持久配置。

怎么用 workbench.activityBar.visibleEntries 精确控制图标顺序
VSCode 1.85+ 版本起,workbench.activityBar.visibleEntries 是唯一能持久、显式定义活动栏图标顺序和可见性的配置项。它不支持拖拽,也不响应右键 Hide —— 那只是临时隐藏,重启即恢复。
操作前先在命令面板运行 Developer: Generate Default Activity Bar Entries,它会输出当前环境所有已注册的视图 ID 列表(比如 workbench.view.explorer、workbench.view.scm)。注意:scm 对应 Git 图标,不是 git;remoteExplorer 是 Remote-SSH 扩展注册的 ID,不是 remote。
- 必须写在用户级
settings.json中才全局生效;工作区级配置优先级更高,容易误判“没生效” - 列表中未出现的 ID(如漏掉
workbench.view.remote)= 该图标被隐藏 - 顺序即显示顺序,从上到下对应活动栏从上到下的位置
- 若装了多个远程扩展(Remote-SSH + Remote-Containers),它们共用
remoteExplorer,删掉这个条目会让所有远程相关图标消失
为什么右键 Hide 不生效或重启后恢复
右键点击活动栏图标 → Hide,本质是触发一个临时 UI 状态切换,不修改任何配置。它只在当前窗口生命周期内有效,关闭 VSCode 再重开,所有被 Hide 的图标都会回来。
- 这是最常被误认为“设置失败”的原因:你以为关掉了,其实只是临时收起
- 如果想彻底移除某个图标,必须禁用对应扩展(如关掉 GitHub Pull Requests 扩展,GitHub 图标就没了),或在
workbench.activityBar.visibleEntries中剔除其 ID - 某些扩展注册的 view ID 是自定义的(非官方标准),需打开开发者工具(
Developer: Toggle Developer Tools),在 Console 中执行vscode.workspace.getConfiguration('workbench').get('view.visibility')查看真实注册名
workbench.activityBar.visibleEntries 常见 ID 列表与陷阱
以下是最常用内置视图的标准 ID,直接复制进 settings.json 即可使用。但注意几个关键差异:
-
workbench.view.explorer→ 资源管理器(不是explorer) -
workbench.view.search→ 搜索 -
workbench.view.scm→ 源代码管理(Git 图标,不是git) -
workbench.view.debug→ 运行和调试 -
workbench.view.extensions→ 扩展 -
timeline→ Timeline 面板(ID 就是timeline,无前缀) -
remoteExplorer→ Remote-SSH / Remote-Containers(无workbench.view.前缀)
混淆 ID 是最常见配置错误。比如把 scm 写成 git,VSCode 不报错,但该图标不会出现 —— 它只是默默忽略未知 ID。
整个活动栏要不要隐藏?别只盯图标顺序
如果你真正想要的是更干净的编辑空间,而不是微调图标顺序,直接禁用整个活动栏可能更合理。设置 "workbench.activityBar.visible": false 后,所有图标消失,但功能不受影响:Ctrl+Shift+E 仍唤出资源管理器,Ctrl+Shift+G 仍打开 Git 视图,命令面板里也能搜到所有视图命令。
- 这个设置写在用户
settings.json中即可,无需重启,保存后立即生效 - 和
workbench.activityBar.visibleEntries不冲突,后者仅在活动栏启用时才起作用 - 容易被忽略的一点:活动栏隐藏后,鼠标悬停底部分隔线点击展开的方式失效 —— 因为分隔线本身也消失了


















