执行developer: startup performance生成时间线报告,重点关注“activating extension”超300ms、“waiting for language server”挂起、“blocked on require/import”三类条目,可精准定位拖慢启动的插件。

怎么看哪个插件在拖慢启动
执行 Developer: Startup Performance,它会生成带时间线的报告,直接暴露问题插件。重点关注三类条目:Activating extension 耗时 >300ms(比如老版本 GitLens 或 ESLint)、Waiting for language server 长期挂起(说明 TS/Python 服务本身卡死)、Blocked on require 或 Blocked on import(CommonJS 同步加载阻塞,常见于未升级的旧插件)。
怎么快速锁定问题插件而不瞎卸载
别一上来就禁用全部。用“二分法禁用”:在插件面板(Ctrl+Shift+X)按启用状态排序,先禁用后半部分 → 重启 → 测试输入响应和文件切换速度。如果变快,问题就在后半;否则再禁用前半。两轮就能缩到 2–3 个嫌疑插件。
更干净的验证方式是临时隔离环境:
Linux/macOS 执行:code --disable-extensions --user-data-dir=/tmp/vscode-test
Windows 执行:code --disable-extensions --user-data-dir=C:\temp\vscode-test
然后只手动启用一个待测插件,开个 .js 文件打几个字观察延迟。这个模式下所有用户设置、历史、扩展全隔离,能排除配置污染。
哪些插件最容易在启动时抢资源
它们不显眼,但 package.json 里声明了 "activationEvents": ["*"] 或 "onStartupFinished",一启动就干重活:
-
ms-vscode.js-debug:即使从不调试 JS,也会初始化完整调试服务 -
ms-vscode.vscode-typescript-next:无tsconfig.json也硬拉 TS 服务器 -
gitlens:默认开启全仓库历史扫描和符号缓存,gitlens.advanced.caching.enabled不关,内存涨几百 MB -
ms-python.python:旧版本,哪怕只打开.txt文件也会尝试初始化 Python 环境 -
Remote - SSH:连接失败时 UI 线程直接挂起,“卡住几秒没报错”
禁用前先调配置,很多“重”是默认太莽
卸载不是第一选择。多数卡顿源于默认开启了全量监听或实时索引:
- GitLens:设
"gitlens.advanced.caching.enabled": false,内存直降 - TypeScript:改
"typescript.preferences.includePackageJsonAutoImports": "auto",TSServer 启动快一倍 - ESLint:把
"eslint.run": "onSave",避免敲字时实时分析拖慢响应 - 必须写入
.vscode/settings.json(项目级)或用户settings.json,改完需关闭并重新打开工作区才生效
另外,files.watcherExclude 不配,插件再轻也白搭。务必加进设置:
"files.watcherExclude": {
"**/node_modules/**": true,
"**/.git/**": true,
"**/dist/**": true,
"**/build/**": true,
"**/__pycache__/**": true
}
**/ 是关键,漏掉斜杠或用单星号会失效;改完必须关闭并重新打开当前工作区,设置才真正加载。











