VSCode启动慢主因是扩展同步激活或工作区全盘扫描;禁用GitLens、Python等扩展,配置files.watcherExclude排除node_modules等目录及extensions.experimental.affinity设为2,可将冷启动从4秒降至800ms。

VSCode 启动慢,八成不是电脑不行,而是扩展在启动时同步卡住,或工作区配置触发了全盘扫描。禁用 GitLens、Python 扩展,加两行 files.watcherExclude 和 extensions.experimental.affinity 配置,冷启动从 4 秒压到 800ms 很常见。
启动卡在 “Activating Extensions” 怎么定位罪魁祸首
这不是猜题,是看实时状态。启动后立刻按 Cmd+Shift+P(macOS)或 Ctrl+Shift+P(Windows/Linux),输入并执行 Developer: Show Running Extensions。列表里长期显示 Activating… 的就是真凶。
- 重点关注
gitlens、ms-python.python、esbenp.prettier-vscode、dbaeumer.vscode-eslint、Remote - SSH - 禁用后必须完全退出 VSCode(macOS 用
Cmd+Q,不能只关窗口),否则缓存会掩盖效果 - 若禁用
Remote - SSH后明显变快,说明问题不在本地,而是远程连接阻塞 UI 线程
为什么 files.watcherExclude 能立竿见影
VSCode 默认用 chokidar 监视整个工作区,一旦打开含 node_modules 或 dist 的目录,它就会尝试建立数万级 inotify 句柄(Linux)或反复轮询(macOS),直接拖垮启动和响应速度。
- 在工作区根目录的
.vscode/settings.json中添加: "files.watcherExclude": { "**/node_modules/**": true, "**/dist/**": true, "**/.git/**": true, "**/build/**": true }- macOS 用户若仍卡顿,可临时加一行:
"files.useExperimentalFileWatcher": false - 切勿把用户主目录或磁盘根目录作为工作区打开——这等于让 VSCode 扫描整个系统
extensions.experimental.affinity 怎么设才真正延迟加载
像 ms-python.python 或 esbenp.prettier-vscode 这类扩展,默认声明 onStartup 或通配符 * 激活事件,一启动就强制初始化语言服务器,但你可能只在打开 .py 文件时才需要它。
- 在用户级
settings.json(不是工作区)中添加: "extensions.experimental.affinity": { "ms-python.python": 2, "esbenp.prettier-vscode": 2 }- 数字
2表示“仅在关联文件打开或命令触发时加载”,不是启动即载入 - 该配置对旧版扩展无效,需确认扩展页的
Activation Events字段是否支持条件触发(2026 年 5 月资料确认主流扩展已适配)
命令行参数:绕过 GUI 层直接干预启动链路
设置界面改不动底层行为,命令行才是硬核入口。这些参数在桌面快捷方式或终端中直接生效,不依赖插件或 UI 状态。
-
code --disable-extensions:秒开即坐实是扩展问题;再加--disable-gpu排除渲染干扰 -
code --max-memory=2048:限制主进程内存上限,避免 OOM 杀死(推荐值 1536–3072 MB) -
code --disable-updates --disable-telemetry --disable-gpu:实测减少 1.2–2.8 秒冷启动时间 -
--no-sandbox仅限可信环境启用,可缓解 Chromium 渲染进程内存隔离导致的延迟
真正卡住的地方,往往不是你改了哪一行配置,而是没彻底退出 VSCode 就去测试、或把 files.exclude 误当 files.watcherExclude 用——前者只隐藏资源管理器,后者才真正卸下文件监听负担。


















