vscode 启动慢、内存高主因是扩展和文件监听,禁用非必要扩展(尤其onstartup激活的)、排除node_modules等目录监听、按设备调整gpu设置、清理workspacestorage可显著优化。

VSCode 启动慢、内存高,90% 是扩展和文件监听在拖后腿,不是机器不行,也不是必须换编辑器。
禁用非必要扩展,尤其是那些 onStartup 激活的
很多扩展一启动就加载,哪怕你根本没打开对应语言的文件。ESLint、Prettier、GitLens、Python 这类语言服务或增强工具,常驻内存且启动即激活。它们不光吃内存,还会触发文件扫描、语法解析、自动补全等后台任务。
- 按
Cmd+Shift+X打开扩展面板,搜索@installed查看全部已装扩展 - 点进每个扩展详情页,重点看
Activation Events字段:含onStartup或*的,基本就是冷启动时的“罪魁” - 对非当前项目必需的,右键选择
Disable (Global);若只在某项目用,选Disable (Workspace) - 重启 VSCode 后,用
Cmd+Shift+P→Developer: Show Running Extensions确认哪些还在后台跑
关闭 node_modules 和构建目录的文件监听
VSCode 默认用 chokidar(Linux/macOS)或 fsevents(macOS)监听整个工作区文件变更。一旦项目里有 node_modules 这种几万文件的目录,监听器会迅速占满内核句柄、触发 I/O 飙升,直接卡死保存、搜索、甚至窗口切换。
- 在项目根目录的
.vscode/settings.json中添加: "files.watcherExclude": { "**/node_modules/**": true, "**/dist/**": true, "**/build/**": 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
禁用硬件加速或强制启用 GPU 渲染,取决于你的设备
这看似矛盾,但真实存在:某些 macOS 外接显示器组合、虚拟机环境、旧款 Intel 核显下,--enable-gpu 反而引发渲染线程阻塞和内存泄漏;而 M 系列 Mac 或高性能独显本上,关掉 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 主进程每次加载都要反复解析、重建、重分配内存,导致启动时间翻倍、内存驻留居高不下。
- 完全退出 VSCode(包括菜单栏图标)
- 前往
~/Library/Application Support/Code/WorkspaceStorage(macOS),或%AppData%\Code\WorkspaceStorage(Windows) - 把整个
WorkspaceStorage文件夹拖到桌面暂存(别删),再启动 VSCode —— 它会自动生成干净的新结构 - 如果问题依旧,再顺手清空
Cache目录(同级路径下)
真正卡住你的,往往不是“哪个设置没开”,而是多个小配置叠加后的隐性冲突——比如 files.watcherExclude 漏写斜杠、argv.json 里参数格式错位、或者某个扩展悄悄覆盖了你的禁用策略。动手前先做一次 code --disable-extensions --disable-gpu 极简启动,确认基线是否正常,再逐项加回来验证。











