IntelliSense失效主因是语言服务未加载、配置被覆盖或VSCode未识别语言;先检查右下角是否为Plain Text,手动切换正确语言模式,确认文件已保存、后缀匹配、quickSuggestions和tabCompletion已启用,并重启对应语言服务器。

IntelliSense 失效不是“功能坏了”,而是语言服务没加载、配置被覆盖,或 VSCode 根本没认出你在写什么语言——90% 的问题,三分钟内能定位到根因。
右下角显示 Plain Text 怎么办
这是最常见也最容易被忽略的起点。VSCode 不知道当前文件属于哪种语言,就不会启动任何语言服务器,IntelliSense 完全静默。
- 点击右下角状态栏中显示的
Plain Text或Unknown,手动选成JavaScript、TypeScript、Python等正确语言模式 - 未保存的临时文件(如
Untitled-1)默认就是Plain Text,务必先保存为带后缀的文件(如index.ts)再测试 - 检查
files.associations配置是否误配:比如"*.js": "typescript"会让 JS 文件走 TS 解析,类型校验错乱、补全降级
editor.quickSuggestions 和 editor.tabCompletion 没开
这两个设置控制补全“弹不弹”和“Tab 键管不管用”,它们默认在部分语言里是关闭的,并非 bug。
- 打开设置(
Ctrl + ,),搜quick suggestions,确保editor.quickSuggestions在other、strings、comments三项都设为true;特别注意strings必须为true,否则import路径、HTMLsrc属性里不提示 - 搜
tabCompletion,把editor.tabCompletion设为"onlySnippets"(推荐)或"on";设成"off"时,Tab 只缩进,不触发补全 - 这些开关在 UI 设置界面改,只影响当前工作区;要全局生效,得确认
settings.json里有对应项,且没被 workspace 配置覆盖
TypeScript/JavaScript 语言服务卡死或没加载
tsserver 进程可能因内存泄漏、路径错误或配置异常而崩溃,导致补全空白、悬停无类型、跳转定义失效。
- 按
Ctrl + Shift + P,输入并执行TypeScript: Restart TS server;等待右下角 TypeScript 图标闪烁后恢复常亮 - 若仍无效,运行
Developer: Restart Language Server(对 JS/TS 即重启tsserver) - 打开开发者工具(
Ctrl + Shift + I→ Console 标签页),查找tsserver process exited或Failed to load project类报错 - 检查项目根目录是否存在有效的
tsconfig.json或jsconfig.json;若存在,确认"include"覆盖源码路径,且"exclude"没误删src
Python 补全空白或只有变量名
Python 的 IntelliSense 主要靠 Pylance,它不兼容旧版扩展或错误解释器路径。
- 卸载所有非
ms-python.python的 Python 扩展(尤其tht13.python这类已停更多年的) - 确认
python.languageServer的值是"Pylance"(不是"Jedi") - 用命令面板运行
Python: Select Interpreter,指向你项目虚拟环境里的venv/bin/python(macOS/Linux)或venv\Scripts\python.exe(Windows) - 没选对解释器,
Pylance就读不到site-packages,pip install requests后输requests.就是一片空白
真正难修复的不是单点配置,而是多层叠加:语言模式错 + 缓存损坏 + 扩展劫持 + tsconfig.json 路径写死 —— 这种情况必须逐层剥离,从 --disable-extensions 启动开始验证,否则永远在猜。


















