vscode typescript自动导入需ts语言服务加载、tsconfig.json存在且moduleresolution设为node/nodenext、typescript.suggest.autoimports设为true;右下角必须显示typescript(非plain text),否则补全逻辑不启动。

VSCode 的 TypeScript 自动导入不是“装个插件就生效”的功能,它依赖 TypeScript 语言服务 + 正确配置文件 + 明确设置三者协同。如果 useState 输完回车只留名字、Ctrl+. 没反应、右下角显示 Plain Text,那说明语言服务根本没加载——补全逻辑压根没启动。
确认 TypeScript 语言服务已加载
这是所有自动导入的前提,90% 的失效问题卡在这一步。
- 看右下角状态栏:必须显示
TypeScript(带齿轮图标),不能是Plain Text、JavaScript (Deprecated)或空状态 - 项目根目录必须存在
tsconfig.json,哪怕内容只有{"compilerOptions": {}} - 打开命令面板(
Ctrl+Shift+P),运行Developer: Toggle Developer Tools,切换到 Console 标签页,输入require('typescript')—— 若报Cannot find module 'typescript',说明 TS 服务未加载 - 运行
TypeScript: Restart TS server强制重载(改了tsconfig.json后必须做)
开启关键设置项 typescript.suggest.autoImports
这个布尔值控制「补全列表里是否出现带 import 前缀的建议项」,默认是 false,新装 VSCode 或重置设置后极易遗漏。
完整的Galileo AI平台 TypeScript/JS SDK 参考,用于评估、观察和保护 GenAI 应用。适用于构建 Node.js 或 TypeScript 项目。
- 在
settings.json中添加这一行(注意拼写是autoImports,不是autoImport):"typescript.suggest.autoImports": true - 不要写成字符串:
"typescript.suggest.autoImports": "true"是无效的 - 该设置只在语言服务激活后才起作用;它和
editor.codeActionsOnSave无关,后者管保存时整理,不管补全时插入 - 如果用多根工作区,只有「活动文件夹」下的
tsconfig.json被识别,其他子文件夹需单独配或用extends
路径别名(如 @/hooks)不生效怎么办
VSCode 完全不读 Webpack/Vite 的 resolve.alias,它只认 tsconfig.json 里的 baseUrl 和 paths,且修改后必须重启 TS Server。
- 在
tsconfig.json的compilerOptions中配置:"baseUrl": "./src",<br>"paths": {"@/*": ["*"]} -
baseUrl必须是相对于tsconfig.json的路径,不能写成"./"再配"@/*": ["src/*"] - 改完
tsconfig.json后,必须手动运行TypeScript: Restart TS server,仅重开文件或窗口无效 - 确保当前文件在
include列表内,比如"include": ["src/**/*"]漏掉了tests/目录,那里面的文件就无法解析别名
为什么 Ctrl+. 还是不弹 import?检查冲突插件
很多插件会劫持原生补全逻辑,导致 Ctrl+Space 只出代码片段、Ctrl+. 不出 import 建议。
- 禁用这些常见冲突插件:
Auto Import (wix)、ES7+ React/Redux/React-Native snippets、JavaScript (ES6) code snippets - Vue 项目额外注意:
Vetur已废弃,必须用Volar,且 .vue 文件底部要点击切换语言模式为vue(不是vue-html或html) - 如果用了
Auto Import(steoates 版),它能增强别名支持,但前提是先确保原生 TS 导入已通——别本末倒置 - 测试方法:临时禁用所有插件,只留 TypeScript 官方支持,再试
Ctrl+.
最易被忽略的是:tsconfig.json 必须在项目根目录,且 moduleResolution 推荐设为 "node" 或 "nodenext";否则即使设置了 autoImports: true,语言服务也解析不出模块路径,补全菜单里自然不会出现 import 项。










