code --disable-extensions 是唯一真正禁用所有插件的命令行参数,它跳过整个扩展加载流程,不读取任何配置文件,也不初始化任何插件实例,适用于诊断启动问题;但无法按 ID 精准禁用单个插件,该功能仅支持配置层(如 extensions.disabledExtensions 或 unwantedDependencies)实现。

code --disable-extensions 是唯一真正禁用所有插件的命令行参数
它不是“禁用某些”,而是跳过整个扩展加载流程,不读取 settings.json、extensions.json,也不初始化任何插件实例。适用于诊断启动卡死、白屏、高 CPU 占用或某类文件(如 .log、.yaml)打开即崩溃等场景。
必须注意:--disable-extensions 必须放在命令末尾,否则会被忽略;不能和 --extensions-dir 同时使用——后者会覆盖前者效果。
- macOS:终端执行
open -n -b "com.microsoft.VSCode" --args --disable-extensions /path/to/project - Linux / Windows(PATH 已配置):终端执行
code --disable-extensions /path/to/project - Windows(无 PATH):用完整路径,例如
"C:\Users\Me\AppData\Local\Programs\Microsoft VS Code\Code.exe" --disable-extensions C:\myproject
VSCode 没有 --disable-extension=xxx 这种按 ID 禁用单个插件的命令行参数
官方未提供类似 --disable-extension=esbenp.prettier-vscode 的参数。所有“只禁某个”的需求,都得退回到配置层或工作区机制,而不是命令行。
常见误解是以为 --extensions-dir 能定向禁用——其实它只是换一个空目录当扩展根目录,VSCode 仍会尝试加载所有已安装插件(除非该目录下真没插件),且无法指定“排除某几个”。它更适合验证单个插件行为,而非精准屏蔽。
- 想临时只跑 Prettier?别用命令行参数,改用
vscode/settings.json中设"prettier.enable": false - 想让 Python 插件在纯 Markdown 工作区不启动?用
.vscode/extensions.json的unwantedDependencies字段 - 误传的
--disable-extension(少 s)或带等号写法,VSCode 会静默忽略,不报错也不生效
真正能按插件 ID 控制启用状态的,只有 settings 配置项
extensions.disabledExtensions 是唯一支持按 ID 列表禁用的配置项,但它只对用户安装的第三方插件有效,且依赖重载窗口才真正卸载运行实例。
这个配置写在 settings.json 里,不是命令行参数,所以无法通过 code --xxx 传入。它还有几个关键限制:
- 插件 ID 写错(比如写成
prettier而非esbenp.prettier-vscode)会静默失败,无提示 - 内置插件(如
github.vscode-pull-request-github)完全不响应该配置 - 即使插件被标记为 disabled,只要
editor.defaultFormatter指向它,VSCode 仍会拉起该插件执行格式化 - 禁用后必须执行
Developer: Reload Window,否则插件仍在内存中监听事件
复杂点在于:禁用 ≠ 不触发,而你常忽略 reload 这一步
很多人点了 Disable (Workspace),也改了 settings.json,但 ESLint 还在报错、Prettier 还在格式化——问题几乎总是出在没重载窗口。VSCode 的禁用是状态标记,不是实时卸载。
更隐蔽的是“配置兜底”:比如 "editor.formatOnSave": true + "editor.defaultFormatter": "esbenp.prettier-vscode",哪怕插件已被 extensions.disabledExtensions 列出,VSCode 仍会尝试加载它来完成格式化任务。
所以排查时,先确认 Developer: Show Running Extensions 里目标插件是否真的不在列表中;再检查 settings.json 是否有与该插件强绑定的功能开关被设为 true。命令行参数做不到这点,它只管“全关”,不管“选关”。


















