vscode 1.85+ 支持通过 workbench.activitybar.visibleentries 数组精确控制活动栏图标顺序与可见性,需手动编辑 settings.json,填入完整视图 id(如 "workbench.view.explorer"),遗漏即隐藏,修改后需重载窗口生效。

VSCode 1.85+ 才支持真正可控的活动栏图标顺序自定义;旧版本只能右键拖拽临时调整,重启后失效。
怎么用 workbench.activityBar.visibleEntries 固定图标顺序
这个配置项是目前唯一能持久化控制活动栏图标排列方式的方法,它直接覆盖 VSCode 默认顺序,按数组顺序逐个渲染图标。
- 必须手动编辑
.vscode/settings.json(工作区级)或用户settings.json(全局级) - 先在命令面板运行
Developer: Generate Default Activity Bar Entries,获取当前环境下的有效视图 ID 列表 - 填入的每个字符串必须是完整 ID,比如
"workbench.view.explorer",拼错或遗漏会导致图标消失 - 没写进数组的视图 ID(如
"workbench.view.remote")会自动隐藏,相当于“禁用”该图标 - 修改后需重启窗口或重载窗口(
Developer: Reload Window)才生效
右键拖拽活动栏图标为什么有时不生效
看似能拖,但实际只是临时 UI 反馈 —— 这是 VSCode 的常见误解点。拖拽行为只在当前会话中改变视觉顺序,关闭再打开项目就恢复默认。
- 仅当启用了
workbench.activityBar.visibleEntries配置时,右键拖拽才可能被识别为“自定义意图”,否则纯属无效操作 - 某些扩展(如 Remote-SSH、GitHub Pull Requests)注入的图标 ID 不在标准列表里,拖拽后无法保存,也查不到对应配置项
- 如果拖完发现图标“跳回原位”,大概率是配置未启用,或你拖的是某个扩展的非内置视图
隐藏图标和删除图标不是一回事
很多人以为右键选 “Hide” 就是永久移除,其实只是临时从活动栏移出,图标 ID 仍在内存里,重启即恢复。
- 想彻底不出现,必须用
workbench.activityBar.visibleEntries排除对应 ID - 某些图标(如 Timeline、Ports)没有独立视图 ID,也无法通过该配置隐藏,只能靠禁用相关扩展来间接移除
- 误删了关键项(如漏掉
"workbench.view.explorer"),会导致资源管理器图标消失且无法通过右键恢复 —— 此时只能手动补回配置
最易忽略的是:活动栏图标的显示逻辑和侧边栏视图的展开状态解耦。即使你把 debug 图标从活动栏移除了,只要存在 launch.json,调试功能依然可用,只是少了个快捷入口。顺序定制不是为了“好看”,而是让高频操作路径更确定、更少依赖记忆或悬停识别。











