VSCode命令面板支持Extensions: Show Enabled Extensions和Extensions: Show Disabled Extensions命令,可快速筛选本地启用或禁用的插件列表,响应快且无需网络;需VSCode ≥1.70版本。

在VSCode命令面板中快速筛选已启用/禁用插件
VSCode原生不支持在插件市场视图里直接用关键词过滤“启用状态”,但命令面板(Ctrl+Shift+P / Cmd+Shift+P)能绕过这个限制,精准定位状态。
输入以下命令后回车,会直接跳转到对应状态的插件列表页:
-
Extensions: Show Enabled Extensions→ 只显示当前启用的插件 -
Extensions: Show Disabled Extensions→ 只显示当前被禁用的插件
注意:这两个命令不会打开扩展市场首页,而是直接加载过滤后的本地插件列表,响应快、无网络依赖。如果你搜不到命令,请确认 VSCode 版本 ≥ 1.70(旧版命令名略有差异,如 Extensions: Show Installed Extensions 不带状态限定)。
用扩展ID或publisher精确搜索已启用插件
当你知道某个插件的 ID(如 ms-python.python)或发布者(如 ms-python),又只想确认它是否启用,不必手动翻页。
操作步骤:
- 先执行
Extensions: Show Enabled Extensions - 再按
Ctrl+F(Windows/Linux)或Cmd+F(macOS)唤出页面内搜索框 - 输入
ms-python.python或@id:ms-python.python(VSCode 支持 ID 前缀语法)
⚠️ 坑点:直接在插件视图顶部搜索框输 @id:xxx 是无效的——该语法只在「扩展市场网页版」或「命令触发的列表页」中生效;本地启用/禁用列表页才真正解析这个前缀。
禁用插件后仍出现在“已启用”列表?检查工作区级禁用
常见现象:Extensions: Show Enabled Extensions 里能看到某插件,但实际在当前项目中没生效,甚至重启后也不加载。
原因通常是它被**工作区(Workspace)级禁用**了,而全局仍是启用状态。VSCode 的禁用有三层优先级:
- 用户级(User):影响所有工作区
- 工作区级(Workspace):仅当前文件夹下的
.vscode/extensions.json控制 - 远程容器/WSL 级:独立于本地设置
验证方式:打开命令面板 → 输入 Developer: Toggle Developer Tools → 切到 Console 标签页 → 执行 vscode.extensions.all.filter(e => e.id === 'ms-python.python')[0]?.isActive,返回 false 就说明插件加载失败,大概率是工作区禁用或依赖冲突。
批量启用/禁用插件时别忽略 settings.json 的隐式覆盖
通过 UI 点击启停插件,VSCode 会在 settings.json 中写入 "extensions.ignoreRecommendations" 或 "extensions.autoUpdate" 类配置,但更关键的是:
- 禁用插件会向
settings.json写入"extensions.disabledRecommendations"(推荐类)或"extensions.autoUpdate": false(非推荐类) - 如果该文件里已有
"extensions.autoUpdate": true,而你又在 UI 禁用了某个插件,VSCode 可能静默忽略 UI 操作,导致状态不一致 - 手动编辑
settings.json时,务必删除重复或冲突项,例如同时存在"extensions.autoUpdate": true和"extensions.disabledRecommendations": ["xxx"],后者优先级更高
最稳妥的做法:禁用插件后,打开 settings.json 检查是否有 "extensions.disabledExtensions" 数组 —— 这才是真实生效的禁用清单,UI 上看到的“已禁用”只是它的可视化映射。


















