全局禁用插件必须修改用户级 settings.json,通过 "extensions.enabled": {"插件ID": false} 精确配置并执行 Developer: Reload Window 才生效,否则插件仍驻留运行。

全局禁用插件必须改用户级 settings.json,点界面按钮默认就是全局
VSCode 点击扩展面板里的“Disable”按钮,默认行为就是全局禁用——它会把插件 ID 写进你用户目录下的 settings.json,而不是工作区的 .vscode/settings.json。但很多人误以为点了就完事,结果发现插件还在后台跑,本质是没 reload 或配置被覆盖。
- 确认操作作用域:右键插件 → 选 “Disable”,不是 “Disable (Workspace)”;如果已点错,去命令面板运行
Extensions: Disable Extension并确保没勾选“仅限此工作区” - 手动编辑更可靠:打开命令面板 →
Preferences: Open Settings (JSON)→ 在顶层对象里加"extensions.enabled": { "esbenp.prettier-vscode": false } - ID 必须精确:比如
esbenp.prettier-vscode,不能简写成prettier或漏掉-vscode,VSCode 不报错但静默失效 - 禁用后不生效?大概率没执行
Developer: Reload Window—— 插件进程仍驻留内存,格式化、LSP、代码检查照常触发
extensions.enabled 是布尔映射,不是数组,语法写错就完全不生效
extensions.enabled 字段在用户级 settings.json 中必须是对象(key-value),不是数组。常见错误是把它写成 "extensions.enabled": ["!esbenp.prettier-vscode"] 或 ["esbenp.prettier-vscode"],这种写法 VSCode 直接忽略,插件照常加载。
- 正确写法:
"extensions.enabled": { "esbenp.prettier-vscode": false, "ms-python.python": false } - 启用某个插件时,同样写
"ms-python.python": true,但通常不用显式写 true,删掉对应项或设为null即可恢复默认 - 注意逗号和括号匹配:JSON 严格校验,少个逗号或多了逗号会导致整个
settings.json解析失败,VSCode 会回退到默认设置 - 别混用
extensions.disabled数组:这个字段只在工作区.vscode/settings.json里有效,用户级写它无效
禁用后插件还在运行?先查 Developer: Show Running Extensions
点了 Disable、改了 settings.json、也重载了窗口,但 CPU 还高、格式化还在发生——说明插件没真正退出。最直接的办法是运行 Developer: Show Running Extensions,看三列关键信息:
-
Start-up列为true的插件,一启动就加载,禁用后若仍出现,说明有其他配置兜底 -
CPU %持续 >5% 或Memory MB>120MB 的,基本就是罪魁,比如ms-python.python在纯前端项目里常吃资源 -
Activation Events含"*"或"onStartupFinished"的,属于“开箱即用型”,禁用优先级最高 - 查到问题插件后,除了
extensions.enabled,还要顺手搜一下settings.json里有没有它的专属开关,比如"prettier.enable": true或"eslint.enable": true,这些字段会让 VSCode 强行拉起插件来满足设置
全局禁用不等于卸载,残留快捷键和推荐会悄悄复活插件
禁用只是标记状态,插件文件还在磁盘上,而且很多配置会在你没注意时触发隐式加载。最典型的是:
-
keybindings.json里绑了插件命令,比如{ "key": "ctrl+alt+f", "command": "extension.prettier.format" }—— VSCode 启动时解析快捷键,就会顺带加载 Prettier -
settings.json里留着"editor.defaultFormatter": "esbenp.prettier-vscode",哪怕插件已禁用,VSCode 仍会尝试初始化它来满足该设置 -
.vscode/extensions.json里还有"recommendations",一打开文件夹,VSCode 就弹窗问“是否安装推荐插件”,点“是”就前功尽弃 - 想彻底隔离?用
unwantedDependencies(VSCode 1.85+),但它只支持工作区级,用户级无效;全局场景下,extensions.enabled+ 清理关联配置才是唯一稳解











