vs code 无“全选已安装插件”按钮,需用 @installed 精准筛选;禁用须区分 workspace/global 作用域;命令行用 code --disable-extensions(须置末尾);settings.json 中 extensions.enabled 需精确匹配插件 id。

在 Extensions 视图里用 @installed 筛选后再多选
VS Code 没有“全选所有已安装插件”的按钮,但 @installed 是最可靠的筛选前缀。直接在 Extensions 视图(Ctrl+Shift+X)顶部搜索框输入 @installed python,就能精准列出所有已安装的 Python 相关扩展;输入 @installed 则显示全部已安装插件(不含推荐项)。注意:不加 @installed 会混入 Marketplace 推荐结果,导致误操作。
筛选完成后,按住 Ctrl(Windows/Linux)或 Cmd(macOS),逐个点击扩展卡片左侧的复选框(不是齿轮图标),再右键 → 选择 Disable (Workspace) 或 Enable。右键菜单里的 Disable Extension 是旧版逻辑,新版中已移除该选项,点它无效。
禁用时必须区分 Workspace 和 Global 作用域
同一个“禁用”动作,效果取决于你选的是 Disable (Workspace) 还是 Disable (Global):
-
Disable (Workspace):只写入当前项目下的.vscode/settings.json,对其他文件夹完全无影响,适合临时关闭干扰调试的格式化插件 -
Disable (Global):写入用户级settings.json,重启后依然生效,适合彻底停用长期不用的插件(如某主题、旧版语言支持) - 如果禁用后重启 VS Code 插件又回来了,大概率是你只点了工作区禁用,而用户级设置仍是启用状态
用命令行批量操作要小心参数顺序和 PATH
code 命令行工具支持脚本化管理,但前提是已将 VS Code 加入系统 PATH(安装时勾选 “Add to PATH” 即可)。执行前先验证:code --version 能输出版本号才算就绪。
批量禁用多个插件的命令格式为:
code --disable-extensions
⚠️ 这个参数必须放在命令末尾,且不能与 --extensions-dir 同时使用,否则会被静默忽略。例如:
- ✅ 有效:
code --disable-extensions /path/to/project - ❌ 无效:
code --extensions-dir ~/.vscode/extensions --disable-extensions . - Windows 用户若右键开始菜单图标启动,再拖入项目,
--disable-extensions不会生效——GUI 启动不经过命令行解析
settings.json 里配置 extensions.enabled 更精细但 ID 必须完全匹配
想按插件 ID 精确控制启停,可在 settings.json 中写:
"extensions.enabled": { "esbenp.prettier-vscode": false, "ms-python.python": false }
这个字段不接受模糊匹配,ID 必须和 Marketplace 页面 URL 最后一段完全一致。比如 prettier-vscode 或 prettier 都无效,只有 esbenp.prettier-vscode 才能命中。
常见陷阱:
- 填错 ID 时 VS Code 不报错,插件照常运行
- 该配置只对已安装插件生效;未安装的插件不会被“禁用”,也不会抑制推荐弹窗
- 禁用
ms-python.python后,Python 语言服务器可能仍在后台运行,需手动执行Developer: Reload Window才真正卸载
.vscode/settings.json 里禁用了某个插件,但用户级 settings.json 又显式启用了它,最终行为取决于 VS Code 的合并策略——通常用户级设置优先级更高,除非工作区明确覆盖。实际排查时,建议先用 Developer: Show Running Extensions 看插件真实状态,而不是只看界面灰度。











