IntelliSense 不工作主因是 VSCode 未正确识别语言模式、语言服务器异常、配置错误或缓存问题;需检查右下角语言标识、修正文件关联、重启服务、配置 jsconfig/tsconfig、排查扩展冲突及日志。

IntelliSense 不工作,90% 的情况不是插件坏了,而是 VSCode 没“认出你在写什么”——语言模式错、服务没起来、配置被覆盖,或缓存卡住了。
确认语言模式和文件关联是否正确
右下角显示 Plain Text 或 Unknown 是最常见信号。VSCode 不知道你正在编辑 JavaScript 还是 Python,自然不会加载对应语言服务器。
- 点击右下角语言标识(如
JavaScript),手动选对语言;.js文件别选成JavaScript (Legacy),.py别误设为Python (Jedi)(Pylance 才是当前主力) - 检查
settings.json中有没有错误的"files.associations",比如把"*.ts"映射成了"typescriptreact"却漏配tsconfig.json,会导致类型服务降级 - 用命令面板(
Ctrl+Shift+P)运行Change Language Mode,输入语言名快速切换,比点右下角更可靠
重启语言服务器或重载窗口
语言服务(如 tsserver、Pylance)可能卡死、内存泄漏或未初始化完成,界面毫无提示,但补全就是不动。
- 先试
Developer: Reload Window—— 80% 的临时卡顿靠它恢复 - 再试针对性命令:
TypeScript: Restart TS Server(JS/TS 项目)、Python: Restart Language Server(Python 项目) - Windows 用户若发现 CPU 长期满载,打开任务管理器杀掉残留的
node.exe进程(特别是多个tsserver实例)
检查 jsconfig.json / tsconfig.json 是否缺失或路径错误
没有 jsconfig.json(JS 项目)或 tsconfig.json(TS 项目),IntelliSense 就只能做基础语法提示,无法跳转 node_modules、识别 @/components 别名、推断第三方库类型。
- 在项目根目录新建
jsconfig.json,至少包含:{ "compilerOptions": { "baseUrl": ".", "paths": { "@/*": ["src/*"] } }, "include": ["src/**/*"], "exclude": ["node_modules"] } - 确保文件保存后等待几秒——状态栏会短暂显示
Initializing JS language features...,完成后才生效 - 如果项目有多个子包(如 monorepo),
tsconfig.json必须放在真正的工作区根目录,而不是某个 package 内;否则tsserver会找不到入口
排查扩展冲突与日志线索
禁用所有扩展后 IntelliSense 恢复?那问题一定出在某个插件上。但别急着卸载,先看日志——它是唯一能告诉你“为什么失败”的证据。
- 临时禁用非必要扩展:特别是
Prettier、Auto Rename Tag、老旧的Path Intellisense,它们常劫持补全链路 - 开启详细日志:
"typescript.tsserver.log": "verbose"或"python.analysis.logLevel": "Trace",然后去输出面板(Ctrl+Shift+U)选对应服务,搜索关键词:ENOENT(路径错)、Failed to load project(配置文件读取失败)、Cannot read property 'map' of undefined(插件兼容问题) - 日志里出现
Cannot find global type 'Promise'?说明lib配置缺失,需在tsconfig.json的compilerOptions中加"lib": ["ES2016", "DOM"]
最易被忽略的一点:IntelliSense 对动态代码天然无能为力——obj[variable]、eval()、运行时生成的属性,再好的配置也补不出来。这不是 bug,是设计使然;遇到这类场景,该加 JSDoc 就加,该写类型断言就写,别指望自动推导。










