VSCode IntelliSense 失效主因是语言服务未启动、配置被覆盖或缓存异常;需检查语言模式识别、文件关联、扩展启用状态、jsconfig/tsconfig 配置、重启语言服务器及查看详细日志定位根因。

VSCode 的 IntelliSense 失效,通常不是“坏了”,而是语言服务没起来、配置被覆盖、或缓存卡住了——先别急着重装插件。
检查当前文件是否被正确识别为对应语言
IntelliSense 依赖 VSCode 知道你在写什么语言。右下角状态栏显示的 Plain Text 或 Unknown 是典型信号。
- 点击右下角语言模式(如
Plain Text),选择对应语言(例如JavaScript、Python、TypeScript) - 确认文件后缀是否匹配:比如
.ts文件没被识别成 TypeScript,可能因文件关联被手动改过 - 检查
settings.json中是否有误配的"files.associations"覆盖了默认行为
确认对应语言扩展已启用且未被禁用
官方 Python 扩展、TypeScript 自带支持、ESLint 插件等都可能影响补全链路;禁用或冲突会直接切断 IntelliSense。
- 打开扩展面板(
Ctrl+Shift+X),搜索Python/JavaScript and TypeScript Nightly/ESLint,确认状态为「启用」 - 临时禁用所有第三方扩展,只留官方语言包,测试是否恢复——常见冲突来自
Prettier、Auto Rename Tag或老旧的Path Intellisense - 某些项目里
jsconfig.json或tsconfig.json缺失/路径错误,会导致 TS/JS 语言服务降级为基础模式,补全变弱
重启语言服务器或清除缓存
语言服务器(如 tsserver、Pylance)卡死或加载失败时,UI 上没报错,但补全就是不动。
- 命令面板(
Ctrl+Shift+P)运行:Developer: Restart Language Server(部分扩展支持) - 更彻底的做法:关闭 VSCode → 删除
$HOME/.vscode/extensions/.../out下缓存目录(如ms-python.pylance-*的dist或out),再重启 - Windows 用户注意:杀掉后台残留的
node.exe进程(特别是多个tsserver占满 CPU 时)
验证 typescript.tsserver.log 或 python.analysis.logLevel
日志是唯一能确认“服务到底卡在哪”的依据。补全失效时,90% 的真实原因藏在日志里,而不是设置项中。
- 对 TypeScript/JS:设
"typescript.tsserver.log": "verbose",重启后查看输出面板 → 选TypeScript Server Log - 对 Python:设
"python.analysis.logLevel": "Trace",然后看输出面板 →Python Language Server - 常见日志线索:
Cannot read property 'map' of undefined(插件兼容问题)、Failed to load project(tsconfig.json路径错误)、ENOENT: no such file(工作区根路径识别错)
真正难排查的,往往不是“没开补全”,而是语言服务启动了却加载了错误的项目上下文——比如多根工作区里某个文件夹没配 jsconfig.json,它就退化成无类型补全,看起来像“失效”。









