vscode变慢主因是扩展和文件监听,应禁用onstartup激活的扩展(如eslint、gitlens)、在项目级.vscode/settings.json中配置files.watcherexclude和search.exclude排除node_modules等目录、按设备启用或禁用gpu加速、清理workspacestorage缓存。

VSCode 变慢,八成不是机器问题,而是扩展和文件监听在后台悄悄吃资源——关掉几个配置、禁用一两个扩展,就能回到刚装时的丝滑感。
怎么快速定位吃内存的扩展
别猜,直接看正在跑的进程。按 Cmd+Shift+P(macOS)或 Ctrl+Shift+P(Windows/Linux),输入并执行 Developer: Show Running Extensions。这个面板只显示当前真正在后台干活的扩展,比“已启用”列表靠谱得多。
- 重点关注
Activation Events列含onStartup或*的扩展,比如ESLint、Prettier、GitLens、Python(Pylance)——它们一启动就拉起进程、扫描文件、建索引,哪怕你没开一个对应语言的文件 - 启动耗时超过
100ms的,优先考虑禁用 - 右键扩展名 → 选
Disable (Global)(全局禁用)或Disable (Workspace)(仅当前项目禁用),别直接卸载,留着备用
为什么 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
--disable-gpu 该开还是该关
这不是一刀切的事:M 系列 Mac 或独显本上,--enable-gpu 能让滚动、缩放更顺;但某些 macOS 外接显示器组合、虚拟机、旧款 Intel 核显下,--enable-gpu 反而引发渲染线程阻塞和内存泄漏。
- 完全退出 VSCode(包括菜单栏图标)
- 终端执行
code --disable-gpu启动,观察启动速度和活动监视器里的内存峰值 - 如果变快且稳定,把
"disable-hardware-acceleration": true加进~/Library/Application Support/Code/User/settings.json - 如果更卡,试试
code --enable-gpu --enable-gpu-rasterization,并确认"workbench.enableExperiments"为false
清理损坏的 WorkspaceStorage 缓存
窗口尺寸、折叠状态、终端历史这些元数据会持久化到 WorkspaceStorage 目录。一旦损坏,主进程加载时反复解析异常结构,触发内存重复分配,导致启动慢、内存居高不下。
- 关闭所有 VSCode 窗口
- 前往
~/Library/Application Support/Code/WorkspaceStorage(macOS)或对应路径(Windows/Linux) - 把这个文件夹整体移出(比如拖到桌面),**不要删除**
- 重启 VSCode,它会重建干净的缓存结构
真正容易被忽略的是:files.watcherExclude 和 search.exclude 必须写在项目级 .vscode/settings.json 里才生效;全局设置不管用。另外,禁用扩展后一定要重启 VSCode,否则改动不加载。











