先执行developer: show running extensions定位真正在运行的扩展,重点关注activation events含onstartup/*、启动耗时超100ms的扩展(如gitlens、eslint、python),右键禁用后重启验证。

怎么快速定位拖慢启动的扩展
VSCode 启动卡在 “Activating Extensions” 阶段,八成是某个扩展在后台做重操作。别靠猜,直接看真正在跑的进程:Developer: Show Running Extensions —— 这个命令只显示当前激活中、占用资源的扩展,比“已启用”列表靠谱得多。
重点关注 Activation Events 列含 onStartup、onStartupFinished 或 * 的扩展,比如:GitLens、ESLint、Prettier、Python(Pylance)、Remote - SSH。它们一开就拉起语言服务器、扫描整个项目、甚至发网络请求。
- 右键扩展名 →
Disable (Workspace)优先试,保留全局启用备用 - 启动耗时超过 100ms 的(面板里有毫秒数),建议先禁用
- 禁用后重启 VSCode,观察冷启动时间变化——这是最直接的验证方式
为什么 node_modules 会让 VSCode 卡死
VSCode 默认用 chokidar(Linux/macOS)或 fsevents(macOS)监听整个工作区。遇到 node_modules 这种几万文件的目录,内核 inotify 句柄迅速耗尽,I/O 飙升,保存、搜索、切换标签全卡住。
必须在项目根目录的 .vscode/settings.json 中加这两段:
"files.watcherExclude": {
"**/node_modules/**": true,
"**/dist/**": true,
"**/build/**": true,
"**/.git/**": true
},
"search.exclude": {
"**/node_modules": true,
"**/dist": true,
"**/build": true
}
Linux 用户额外检查:cat /proc/sys/fs/inotify/max_user_watches,若低于 524288,运行 echo 524288 | sudo tee /proc/sys/fs/inotify/max_user_watches。
extensions.experimental.affinity 怎么设才有效
这个配置是 VSCode 1.86+ 才支持的延迟加载开关,数字 2 表示“按需加载”,不依赖插件自身是否声明 activationEvents,编辑器强制跳过初始激活。
在用户级 settings.json(不是工作区)里写:
"extensions.experimental.affinity": {
"ms-vscode.vscode-typescript-next": 2,
"esbenp.prettier-vscode": 2,
"redhat.vscode-yaml": 2
}
注意:affinity 值只接受 1(默认,立即加载)或 2(延迟加载),填其他数字无效;扩展 ID 必须准确,可在扩展详情页 URL 或 package.json 中查到。
- 别对所有扩展都设
2,像Git或GitHub Pull Requests这类基础功能可能需要立即响应 - 设了
2后,首次打开.ts文件才会加载 TypeScript 插件,此前它完全不占内存 - 如果某扩展设了
2却始终不触发,检查它是否被files.watcherExclude掩盖了文件类型匹配逻辑
GPU 加速该开还是该关
--disable-gpu 不是固定解法,得看设备和场景。M 系列 Mac 或独显本上,--enable-gpu 能让滚动、缩放更顺;但某些 macOS 外接显示器组合、虚拟机、旧款 Intel 核显下,反而引发渲染线程阻塞和内存泄漏。
实操步骤:
- 终端执行
code --disable-gpu启动,观察启动速度和活动监视器里的内存峰值 - 如果变快且稳定,把
"disable-hardware-acceleration": true加进~/Library/Application Support/Code/User/settings.json - 如果更卡,试试
code --enable-gpu --enable-gpu-rasterization,并确认"workbench.enableExperiments"为false
真正容易被忽略的是:GPU 设置影响的是渲染层,而启动慢主因是 JS 主进程初始化和扩展加载——所以先解决扩展和 watcher,再调 GPU。











