必须添加"javascript.suggest.autoImports": true和"typescript.suggest.autoImports": true两行;二者控制补全时是否显示带import的建议项,需写入用户级settings.json并配合正确语言模式、tsconfig.json/jsconfig.json及重启TS服务才能生效。

settings.json 里必须加哪两行才能全局生效
只在 UI 设置里勾选“Auto Imports”不够,VSCode 的 JavaScript/TypeScript 自动导入依赖两个布尔值开关,且必须写进 settings.json 才能真正全局启用:javascript.suggest.autoImports 和 typescript.suggest.autoImports。它们控制的是「补全下拉列表中是否显示带 import 前缀的建议项」,默认是 false,新装或重置后极易遗漏。
打开设置(Ctrl+,)→ 右上角点“打开设置(JSON)” → 确保包含以下两行(注意:值是 true,不是字符串 "true"):
"javascript.suggest.autoImports": true, "typescript.suggest.autoImports": true
这两项不区分工作区,写进用户级 settings.json 就对所有项目生效。别和 editor.codeActionsOnSave 混淆——后者管保存时整理,前者才是补全时插入 import 的前提。
为什么加了还是不提示?先看右下角语言模式
自动导入根本不会启动,如果 VSCode 没把当前文件识别为 JavaScript 或 TypeScript 上下文。最直接的判断依据是编辑器右下角状态栏:必须显示 TypeScript 或 JavaScript,且旁边有齿轮图标;若显示 Plain Text、HTML 或 Vue (Deprecated),说明语言服务压根没加载。
- 点击右下角语言名称,手动切换为
TypeScript或JavaScript - Vue 单文件(
.vue)需确保安装 Volar,并将语言模式设为vue(不是html) - 新建的
.ts文件若仍显示 Plain Text,大概率是项目根目录缺tsconfig.json
没有 tsconfig.json/jsconfig.json,自动导入一定失效
VSCode 的语言服务需要 tsconfig.json(TS 项目)或 jsconfig.json(JS 项目)来解析模块路径、索引第三方库、支持路径别名。没有它,连 useState 这种基础 API 都无法被识别来源,更别说自动插入 import。
哪怕内容最简,也得在项目根目录创建一个:
{"compilerOptions": {}}
对于 JS 项目,推荐加 "checkJs": true;TS 项目建议补上 "moduleResolution": "node" 和 "allowSyntheticDefaultImports": true。改完后务必运行命令面板(Ctrl+Shift+P)→ 输入 TypeScript: Restart TS server 重启服务,否则配置不生效。
路径别名(如 @/hooks)导入失败,不是插件问题
Webpack/Vite 的 resolve.alias 对 VSCode 完全无效。它只认 tsconfig.json 里的 baseUrl 和 paths。比如你想让 import { useX } from '@/hooks' 被自动识别,必须显式配置:
"compilerOptions": {
"baseUrl": "./",
"paths": {
"@/*": ["src/*"],
"@hooks/*": ["src/hooks/*"]
}
}
配置完不重启 TS Server,VSCode 依然用相对路径生成 import。另外注意 include 字段是否覆盖了你实际写代码的目录(如漏掉 pages/),否则那些文件里的路径别名也不会被解析。
自动导入不是“开个开关就一劳永逸”的功能,它卡在语言服务、配置文件、路径声明三者的交界处。最容易被忽略的是:状态栏语言模式不对 + 缺配置文件 + 没重启服务,这三者同时满足,autoImports 设置才真正起作用。











