补全失效主因是语言服务未连接、配置被覆盖或缓存异常;首要检查右下角是否为plain text或unknown,点击手动切换正确语言模式,并确认editor.quicksuggestions和editor.tabcompletion已启用,再排查项目配置与语言服务器状态。

补全失效不是 VSCode 坏了,而是语言服务没连上、配置被覆盖,或缓存卡住——90% 的问题三分钟内能定位,先看右下角语言模式是不是 Plain Text。
右下角显示 Plain Text 或 Unknown 怎么办
这是最常见也最容易被忽略的起点。VSCode 不知道你在写什么语言,就不会启动对应的语言服务器,IntelliSense 根本不会加载。
- 点击右下角状态栏中显示的
Plain Text或Unknown,手动选成JavaScript、TypeScript、Python、Vue等正确语言模式 - 检查文件后缀是否匹配:比如
utils.js被识别为TypeScript,可能因files.associations里写了"*.js": "typescript",这会导致类型校验错乱、补全降级 - 未保存的临时文件(如
Untitled-1)默认是Plain Text,不触发任何语言服务;可先保存为.py或.ts再测试
editor.quickSuggestions 和 editor.tabCompletion 没开
这两个设置控制补全“弹不弹”和“Tab 键管不管用”,它们默认在部分语言里是关闭的,并非 bug。
- 打开设置(
Ctrl + ,),搜quick suggestions,确保editor.quickSuggestions在other、strings、comments三项都设为true - 搜
tabCompletion,把editor.tabCompletion设为"onlySnippets"(推荐)或"on";设成"off"时,Tab 只缩进,不触发补全 - 注意:这些开关在 UI 设置界面改,只影响当前工作区;要全局生效,得确认
settings.json里有对应项,且没被 workspace 配置覆盖
Pylance / TypeScript Server / Intelephense 卡死或没加载
补全建议空白、悬停无类型、跳转定义失效,大概率是语言服务器进程挂了、没启动,或加载失败——日志里才有真相。
- 命令面板(
Ctrl + Shift + P)运行Developer: Restart Language Server,对 Python 是重启Pylance,对 TS/JS 是重启tsserver - 设
"python.analysis.logLevel": "Trace"或"typescript.tsserver.log": "verbose",然后看「输出」面板 → 选Python Language Server或TypeScript Server Log - 常见日志线索:
Failed to load project(tsconfig.json路径错)、ENOENT: no such file(工作区根路径识别错误)、Cannot read property 'map' of undefined(插件版本不兼容) - Windows 用户可任务管理器杀掉残留的
node.exe进程;macOS/Linux 可执行pkill -f tsserver
项目级配置缺失导致索引退化
没有 tsconfig.json、jsconfig.json 或 pyproject.toml,语言服务就只能扫描当前打开的文件,无法推断模块路径、别名、类型声明,补全自然残缺。
- TypeScript/JavaScript 项目必须有
tsconfig.json或jsconfig.json(哪怕内容只是{});否则tsserver默认不解析node_modules或@/别名 - Python 项目需确认
python.defaultInterpreterPath指向真实虚拟环境路径(如./venv/bin/python),不是系统自带的/usr/bin/python3 - CSS 类名提示依赖
css.fileExtensions显式声明后缀,如用.pcss或.module.css,就得加进配置:"css.fileExtensions": ["css","scss","less","pcss","module.css"] - Vue 3 项目若用
Volar,务必关掉旧版Vetur干扰:"vetur.validation.template": false
真正卡住人的从来不是某一行配置,而是多个环节同时松动:语言模式错、缓存坏、扩展冲突、项目配置空缺——它们叠加起来,才让补全看起来“彻底失灵”。排查时别只盯一个点,按顺序扫一遍右下角、settings.json、输出面板日志、项目根目录文件,比重装插件快得多。











