插件冲突是多个扩展争抢同一控制权导致的资源内耗;执行code --disable-extensions若秒开且功能正常,则100%为插件冲突,再通过developer: show running extensions查看activation time超1000ms或activation failed的插件定位真凶。

插件冲突不是性能问题的表象,而是多个扩展争抢同一控制权导致的资源内耗——比如两个格式化插件同时监听保存事件,结果互相覆盖、重复解析、CPU狂转。
怎么看是不是扩展在打架
别靠猜。终端执行 code --disable-extensions,秒开且功能正常,就 100% 是扩展惹的祸。接着立刻按 Ctrl+Shift+P(Win/Linux)或 Cmd+Shift+P(macOS),运行 Developer: Show Running Extensions,重点关注:
-
Activation Time (ms)超过 1000 的插件,基本等于开机就卡主线程 - 状态长期是
Activating或Activation failed,说明它卡住但没报错 - 控制台(
Ctrl+Shift+I)里反复出现Command 'xxx' is already registered或Conflict detected
怎么快速定位“真凶”而不是瞎禁用
二分法比一个个试快得多:
- 先全部禁用:
Ctrl+Shift+X→ 右上角⋯→Disable All Installed Extensions - 重启 VSCode,确认干净环境
- 按功能分组启用:语言支持 → 格式化 → Lint → AI 补全 → UI 增强
- 每组启用后,打开对应文件(如
.py或.ts),编辑、保存、跳转实测 2–3 分钟 - 一旦复现问题,就在刚启用的这组里继续二分——比如同时启用了
esbenp.prettier-vscode和dbaeumer.vscode-eslint,那就只留一个再试
常见冲突组合和必须改的配置项
以下几类组合在 2026 年仍高频引发卡顿、补全失效、保存乱码等问题,优先检查:
-
Prettier + ESLint + EditorConfig:三者都可能在保存时介入。必须设"editor.defaultFormatter": "esbenp.prettier-vscode",并关掉 ESLint 的格式能力:"eslint.format.enable": false -
Volar + Vetur:Vue3 项目中争抢语言服务。禁用Vetur,加配置"vue.preferences.useVolarForVue3": true - 多个 AI 补全插件(如
GitHub.copilot+Alibaba.aliyun-lingma):它们会同时响应onType事件,导致提示抖动或光标跳。只留一个,其余卸载 -
GitLens + ESLint:都默认开启全量符号缓存和实时诊断。关"gitlens.advanced.caching.enabled": false,把 ESLint 改为"eslint.run": "onSave"
files.watcherExclude 不配,所有优化都白搭
VSCode 的文件监听器(chokidar)一旦被 node_modules、.git、dist 这类目录拖住,所有插件的触发逻辑都会变慢——哪怕你只装了一个轻量插件。
必须加进 settings.json:
"files.watcherExclude": {
"**/node_modules/**": true,
"**/.git/**": true,
"**/dist/**": true,
"**/build/**": true,
"**/__pycache__/**": true
}
**/ 是关键,单星号 */ 或漏斜杠会失效;改完后必须关闭并重新打开工作区,设置才真正加载。
真正容易被忽略的是:某些插件(比如旧版 ms-python.python)即使被禁用,也可能残留初始化逻辑。若怀疑是它,直接删扩展目录更彻底:rm -rf ~/.vscode/extensions/ms-python.python-*(Linux/macOS)。











