vscode不支持直接按工作区禁用插件,但可通过工作区settings.json配置"extensions.disabled"数组或使用右键菜单选择Disable (Workspace)实现等效效果,优先推荐后者。

VSCode 不支持直接“按工作区禁用插件”,但可以通过 工作区设置 + 插件启用/禁用策略 实现等效效果:让插件仅在指定工作区生效,其他地方不加载。
方法一:在工作区设置中禁用插件(推荐)
这是最常用、最可靠的方式。VSCode 允许你在 .vscode/settings.json 中为当前工作区单独配置插件的启用状态。
- 打开你的项目文件夹(即工作区),确保已打开该文件夹而非单个文件
- 按
Ctrl+Shift+P(windows/linux)或Cmd+Shift+P(mac),输入 Preferences: Open Workspace Settings (JSON) 并回车 - 在打开的
settings.json中添加如下结构:
{ “extensions.ignoreRecommendations”: true, “extensions.autoUpdate”: false, "extensions.experimental.affinity": { “esbenp.prettier-vscode“: 1, “ms-python.python”: 1 } }
⚠️ 注意:"extensions.experimental.affinity" 是 VSCode 内部机制,值为 1 表示“仅在此工作区启用”,值为 0 表示“禁用”。但该字段不被官方文档公开支持,稳定性有限。
✅ 更稳妥的做法是:在工作区 settings.json 中显式禁用不需要的插件:
{ "extensions.disabled": [ “bradlc.vscode-tailwindcss“, “redhat.vscode-yaml” ] }
这样,这些插件在该工作区会被禁用;而在其他工作区或用户全局设置中仍保持启用。
方法二:使用多根工作区 + 设置继承控制
如果你有多个关联项目(比如前端 + 后端),可创建一个 多根工作区(.code-workspace),并在其设置中统一管理插件开关。
- 菜单栏选择 File → Add Folder to Workspace… 添加多个文件夹
- 再选 File → Save Workspace As… 保存为
myproject.code-workspace - 打开该文件,编辑 JSON,在
"settings"字段下加入"extensions.disabled"或按需启用
多根工作区的设置会覆盖用户级设置,适合团队统一规范或复杂项目组合。
方法三:区分用户级与工作区级插件安装(手动隔离)
VSCode 本身不提供“按工作区安装插件”的 ui,但你可以通过以下方式模拟:
- 先在用户级别安装通用插件(如 gitLens、Prettier)
- 对特定项目需要的插件(如 docker、kubernetes),只在该工作区的
settings.json中启用,并配合"extensions.disabled"在其他工作区禁用 - 或者——更彻底地:使用 VSCode 的 Portable Mode(便携模式),为不同项目配独立的 VSCode 实例和插件目录(适合高级用户)
小贴士:快速切换插件状态
无需改 JSON,也能临时控制:
- 打开命令面板(
Ctrl+Shift+P),输入 Extensions: Show Enabled Extensions 或 Show Disabled Extensions - 右键某个插件 → 选择 Disable (Workspace),即可仅在当前工作区禁用
- 同理,右键已禁用插件 → Enable (Workspace) 可恢复
这个操作会自动写入工作区 settings.json,比手写更安全直观。
基本上就这些。核心逻辑是:VSCode 的插件启用状态可按“用户”和“工作区”两级控制,利用好 extensions.disabled 和右键菜单中的 Workspace 选项,就能精准实现“只在特定工作区启用”。