vscode智能提示响应慢主因是扩展、索引范围和配置不当;关闭live server等后台扩展,tsconfig.json中exclude node_modules等目录,settings.json配files.watcherexclude,editor.suggest.delay设为100,重启ts server即可显著提速。

VSCode智能提示(IntelliSense)响应慢,90%的情况不是语言服务本身有问题,而是被扩展、索引范围或配置拖了后腿。直接关掉几个默认启用的“后台常驻型”扩展,再限制一下扫描路径,editor.suggest.delay调到100,多数项目能从卡顿变跟手。
排查哪些扩展在吃CPU和内存
很多插件名义上“按需激活”,实际一开VSCode就加载——尤其是ESLint、Prettier、GitLens这类带后台进程的扩展。它们不报错,但会让typescript.server.log反复重启、editor.suggest延迟升高。
- 用
Ctrl+Shift+P→ 输入Developer: Show Running Extensions,看列表顶部的 CPU / Memory 占用 - 重点关注:Live Server(改用终端
npx serve)、全局 ESLint(换成项目级.eslintrc.cjs+editor.codeActionsOnSave)、多语言包(如非中文用户,卸载Chinese (Simplified)) - 禁用后观察:打开一个
.ts文件,敲const a =后等补全弹出,是否从 800ms 缩短到 200ms 内
限制TS/JS语言服务只扫描必要目录
TypeScript语言服务默认会递归扫描整个工作区,遇到 node_modules 或 dist 就容易卡住。它不是“不支持大项目”,而是你没告诉它“别碰那些文件夹”。
- 在项目根目录的
tsconfig.json或jsconfig.json中加"exclude"字段:"exclude": ["node_modules", "dist", "build", "coverage"]
- 同时在
settings.json里配files.watcherExclude和search.exclude,确保 VSCode 不监听也不搜索这些路径 - 如果用了 Volar(Vue 3),务必确认状态栏右下角显示的是
Volar,不是Vetur;后者会额外触发一次冗余解析
调低建议触发延迟并关闭干扰项
默认300ms的 editor.suggest.delay 在中大型项目里就是“明显卡顿”的来源。这不是“等得更稳”,而是“等得更傻”。另外,editor.suggest.showWords 这类基于字符串匹配的补全,在类型推断场景下几乎无用,反而抢资源。
- 把
editor.suggest.delay设为100(单位毫秒) - 设
editor.suggest.showWords为false,editor.suggest.showMethods为true - 关掉
editor.parameterHints.enabled(函数参数提示)——它和 IntelliSense 共享同一套语言服务通道,开多了会排队 - 如果不用代码片段,把
editor.snippetSuggestions设为none,避免和类型建议混排
重置TS Server索引而不是重启VSCode
改完配置后,很多人习惯直接重启编辑器。但真正影响提示准确性的,是 TypeScript Server 的内存内符号索引。它不会因为你改了 tsconfig.json 就自动刷新,必须手动触发重建。
- 打开任意一个
.ts或.tsx文件 - 按
Ctrl+Shift+P→ 输入TypeScript: Restart TS server - 等待状态栏右下角出现 “TypeScript Server restarting…” → “TypeScript Server ready”
- 此时再试
import { use补全,如果仍不出现useState,说明node_modules/react没被正确识别,要检查compilerOptions.types或typeRoots
最易被忽略的一点:files.watcherExclude 和 tsconfig.json 的 exclude 必须一致。VSCode 的文件监听和 TS Server 的类型解析是两套机制,各自走各自的路径,少配一项,就可能让某个 node_modules/@types 子包悄悄拖垮整条链路。











