直接禁用或卸载无用扩展是最有效优化手段;用developer: open process explorer查内存超200mb的扩展,developer: show running extensions看启动加载项;禁用后须完全退出vscode才能释放资源。

直接禁用或卸载无用扩展是最有效、最立竿见影的优化手段——它能立刻释放内存、缩短启动时间、消除后台文件监听和语言服务争抢,而不是等“下次优化”。
怎么看哪些扩展真正在吃资源
别靠印象判断,VSCode 自带诊断工具足够准:
- 按
Cmd+Shift+P(macOS)或Ctrl+Shift+P(Windows/Linux),输入并执行Developer: Open Process Explorer,看Extension Host下各子进程的Memory (RSS)列,长期 > 200MB 的基本就是主力消耗源 - 再执行
Developer: Show Running Extensions,重点关注Activation Time和Startup标记——含onStartup或*的扩展,一开编辑器就加载,哪怕你只打开一个.txt文件 - 临时全禁用:命令面板中运行
Extensions: Disable All Installed Extensions,重启 VSCode,若卡顿消失,再逐个启用定位问题插件
禁用比卸载更安全,但必须分清作用域
禁用操作本身不删除数据,但作用范围选错会导致功能意外失效:
- 右键扩展 → 选
Disable (Global):全局停用,所有工作区都生效;适合 GitLens、Live Server 这类你几乎不用的插件 - 右键扩展 → 选
Disable (Workspace):仅当前项目停用;适合 Python、Rust Analyzer 这类只在特定项目才需要的语言服务器 - 千万别只点“禁用”就完事——必须完全退出 VSCode(不是关窗口),否则旧 Extension Host 进程仍驻留,内存不会释放
- 卸载(
Uninstall)适用于确认永久不用的插件,比如过时的 Chinese (Simplified) 语言包、已弃用的 TSLint
settings.json 里加 affinity 能让懒加载更可靠
extensions.experimental.affinity 不是万能开关,但对部分扩展(尤其是微软官方出品)能真正推迟加载时机:
- 在
settings.json中添加类似配置:{"extensions.experimental.affinity": {"ms-vscode.vscode-typescript-next": 5}},数字5表示“仅当打开.ts或.tsx文件时激活”,而非一启动就拉起 TS 语言服务 - 该配置对
ms-python.python、ms-vscode.vscode-markdown等也有效,但对第三方扩展支持不一,建议先查其文档是否声明支持activationEvents - 不要盲目设为
0或负数——0表示强制立即加载,反而加重启动负担
容易被忽略的关键点:禁用 ≠ 停止监听
很多扩展即使被禁用,只要没重启 VSCode,其注册的文件监听器(watcher)可能仍在内核中运行,持续占用 inotify 句柄。尤其当你刚禁用 GitLens 或 ESLint 后仍感觉搜索变慢,大概率是这个原因。务必记住:改完设置、禁用扩展、删掉 node_modules 监听配置后,一定要彻底退出 VSCode 再重开,否则所有优化都白做。











