禁用默认TypeScript/JavaScript语言服务、替换为Biome、禁用实时预览类插件、用Code Spell Checker替代ESLint基础校验、慎用AI插件本地模型,可显著提升VSCode响应速度。

VSCode 本身启动快、内存占用低,但插件装多了反而拖慢响应速度——这不是玄学,是真实发生的事件循环阻塞和语言服务器初始化延迟。真正能“提高开发响应速度”的插件,不是越多越好,而是要精准替换掉默认低效行为、减少手动操作、避免重复解析。
禁用或替换默认 TypeScript/JavaScript 语言服务
VSCode 自带的 TS/JS 语言功能(typescript-language-features)在大型项目中常导致输入卡顿、补全延迟、保存时 CPU 飙升。Pylance 对 Python 也有类似问题,但 JS/TS 更普遍。
- 禁用内置服务:在设置里搜索
typescript.preferences.includePackageJsonAutoImports,设为off;再关闭javascript.suggest.autoImports - 换用更轻量的替代:安装
Biome(支持 JS/TS/JSON/Markdown 格式化+检查),它启动快、内存占用低,且不依赖 Node.js 运行时 - 若必须用 TS 服务,确保 workspace 级别配置了
"typescript.preferences.useAliasesForRenames": true,可显著减少重命名卡顿
避免实时预览类插件在编辑时触发重载
像 Live Server、Auto Rename Tag、Highlight Matching Tag 这类插件,会在你敲每个字符时监听 DOM 变化或扫描文件树,尤其在未关闭自动刷新的 HTML/JSX 文件中,会引发高频重绘与事件绑定。
-
Live Server启动后默认开启liveSassCompile或Browser Sync的监听?关掉。只保留基础 HTTP 服务即可 -
Auto Rename Tag在 Vue/React 中容易与框架自身 diff 机制冲突,建议仅对纯 HTML 文件启用:在 settings.json 中加"auto-rename-tag.activationOnLanguage": ["html"] - 禁用
Highlight Matching Tag的实时高亮(设"highlight-matching-tag.highlightTagOnCursorMoveOnly": true),否则光标一动就全文件扫描标签对
用 Code Spell Checker 替代 ESLint 做基础词法校验
ESLint 是语义级检查工具,每次保存都要跑 AST 解析 + 规则遍历,而拼写错误、变量名 typo、import 路径错字等低级问题,占日常报错的 60% 以上,却完全可以用轻量词典方式拦截。
-
Code Spell Checker启动即生效,无延迟,支持自定义词典(如项目专有名词),且可配合editor.quickSuggestions实时提示 - 把 ESLint 从
editor.codeActionsOnSave移出,改为仅在 commit 前用 husky + lint-staged 触发 - 若必须保存时检查,改用
eslint-plugin-react-perf或eslint-plugin-no-only-tests这类单点规则子集,而非全量规则
慎用 AI 补全插件的本地模型加载
GitHub Copilot 和 Tabnine 默认启用本地大模型(如 Tabnine 的 tabnine-cpp),首次启动会加载数百 MB 模型到内存,并持续监听所有编辑器事件。在 16GB 内存机器上,它可能吃掉 2–3GB 常驻内存,直接导致窗口切换卡顿。
- 关闭本地模型:Tabnine 设置中禁用
tabnine.experimental.localModel;Copilot 暂无此选项,但可在设置中关闭github.copilot.enableInlineSuggestion,仅保留侧边栏建议 - 限定作用域:在 settings.json 中加
"github.copilot.advanced": { "disableLanguage": ["markdown", "json", "yaml"] },排除非代码文件干扰 - 观察进程:打开 VSCode 的
Developer: Toggle Developer Tools→ Performance 标签页,录制 5 秒编辑操作,看哪个插件贡献了最多setTimeout或Promise.then堆栈
响应速度的瓶颈往往不在“有没有插件”,而在“插件是否在不该运行的时候运行”。最有效的提速,常常是删掉一个默认启用的插件,或关掉某个默认开启的监听开关——而不是再装一个“加速插件”。


















