根本原因是语言服务未加载或关键配置被关闭;需先确认右下角语言模式正确(如Vue文件选Vue Volar、TS文件选TypeScript React),再检查tsconfig.json/jsconfig.json是否存在、typescript.suggest.autoImports等设置是否为布尔true,并重启对应语言服务器。

VSCode 自动导入提示不显示,绝大多数情况不是插件没装、也不是 VSCode 坏了,而是语言服务根本没加载,或者关键开关被关着——补全逻辑压根没启动。
右下角状态栏显示 Plain Text 或 HTML?先切对语言模式
自动导入是语言服务(TypeScript Server、Pylance、Volar 等)驱动的语义行为,不是通用文本补全。如果状态栏显示 Plain Text、HTML 或 Vue (Vetur),说明当前文件没被识别为有效上下文。
- 点击右下角语言标识,手动选成
TypeScript、TypeScript React、Vue (Volar)或Python - .vue 文件必须是
Vue (Volar),不是HTML;.tsx 必须是TypeScript React,不是纯TypeScript - 检查
settings.json中是否误配了files.associations,比如把"*.vue"映射成了"html"
tsconfig.json 或 jsconfig.json 缺失?补一个空配置也管用
TypeScript/JavaScript 语言服务启动依赖项目级配置文件。没有 tsconfig.json(TS 项目)或 jsconfig.json(JS 项目),服务会静默失败,连 require('typescript') 都报错。
- 在项目根目录新建
tsconfig.json,内容只需:{ "compilerOptions": {} } - JS 项目可用
jsconfig.json,加"checkJs": true更稳妥 - Vue/Nuxt 项目还必须确保
include字段覆盖src/**/*.vue,否则组件类型不进索引 - 改完后务必执行命令:
TypeScript: Restart TS server(仅 Reload Window 不够)
autoImports 设置是 false 或写成字符串?检查拼写和类型
typescript.suggest.autoImports 和 javascript.suggest.autoImports 默认就是 false,新装或重置设置后极易遗漏。它们控制的是「IntelliSense 下拉列表里是否显示带 import 的建议项」,不是保存时整理。
- 打开
settings.json,确认这两行存在且值是布尔true(不是"true"字符串):"typescript.suggest.autoImports": true,<br>"javascript.suggest.autoImports": true
- Vue 项目额外需要
"vetur.validation.script": false,否则 Vetur 会拦截建议 - Python 用户要开
python.analysis.indexing,并视情况调大python.analysis.packageIndexDepths(如 Django 需 depth: 3) - 别和
editor.codeActionsOnSave混淆:后者只管保存时删未用 import,不负责补全弹窗
Ctrl+. 按了没反应?可能被插件劫持或符号未解析
TS/JS 的自动导入不是“输完回车就插”,而是靠 Ctrl+.(Windows/Linux)或 Cmd+.(macOS)触发 Quick Fix。如果按了只出“Convert to async function”之类选项,说明语言服务没识别到模块路径。
- 禁用冲突插件:旧版
Auto Import (wix)、ES7+ React/Redux snippets会覆盖原生补全逻辑 - 第三方库无提示?大概率缺类型定义,运行
npm install -D @types/包名或pip install types-包名 - 路径别名(如
@/utils)不生效?VSCode 只读tsconfig.json的baseUrl和paths,Webpack/Vite 的resolve.alias它完全无视 - Vue
defineProps不提示?确认已运行Vue: Take Over and Restart,且tsconfig.json存在
最常被忽略的一点:多根工作区下,只有「活动文件夹」的 tsconfig.json 和 settings.json 生效,子项目若没单独配,路径和导入提示就断掉。











