ctrl+. 是vscode中触发自动导入的可靠快捷键,需将光标置于未定义标识符上(如 usestate),确保 javascript.suggest.autoimports 和 typescript.suggest.autoimports 为 true,并配置 tsconfig.json 或 jsconfig.json,重启ts服务后即可稳定使用。

Ctrl+. 是触发自动导入的核心快捷键
VSCode 没有“输入完函数名就自动加 import”的默认行为,真正稳定可用的方式是把光标停在未定义的函数名上(比如 useState 下有红色波浪线),然后按 Ctrl+.(Windows/Linux)或 Cmd+.(Mac)。这时弹出的 Quick Fix 菜单里会出现 “Import ‘useState’ from ‘react’” 选项,选中即插入完整 import 行。
别依赖输完回车——那只是 IntelliSense 的普通补全,是否带 import 前缀取决于设置是否生效、语言服务是否加载。而 Ctrl+. 是明确调用代码操作,成功率高得多。
- 必须确保光标在标识符内部(不能在行末或空格后)
- 该快捷键只在编辑器文本聚焦时生效(
when: "editorTextFocus && !editorReadonly") - 终端、设置页、Git 面板里按无效
javascript.suggest.autoImports 和 typescript.suggest.autoImports 必须为 true
这两个设置控制的是:IntelliSense 下拉列表中是否显示带 import 前缀的建议项。它们默认是 false,尤其新装 VSCode 或重置设置后极易遗漏。
打开 settings.json(Ctr+, → 右上角“打开设置(JSON)”),确认包含以下两行,且值是布尔型 true,不是字符串 "true":
"javascript.suggest.autoImports": true, "typescript.suggest.autoImports": true
- 拼写必须准确:是
autoImports,不是autoImport或autoimport - 仅当语言服务已激活时才起作用;若右下角显示
Plain Text或HTML,这些设置完全不生效 - 它们和
editor.codeActionsOnSave无关——后者管保存时整理,前者管补全时插入
项目必须有 tsconfig.json 或 jsconfig.json
没有 tsconfig.json(TS 项目)或 jsconfig.json(JS 项目),TypeScript Server 就无法建立模块索引,路径解析、符号查找全部失效。此时即使设置全开,Ctrl+. 也不会弹 import 建议。
最简配置只要一行即可启动基础服务:
{"compilerOptions": {}}
或 JS 项目用:
{"compilerOptions": {}, "checkJs": true}
- 文件必须放在项目根目录,不能嵌套在子文件夹里
- 创建后需重启 TS Server:命令面板(
Ctrl+Shift+P)→ 输入 “TypeScript: Restart TS server” - Vue 单文件组件中 template 内写
<mycomp></mycomp>不提示?除了配置文件,还要确认语言模式是vue(点右下角切换),且装的是 Volar,不是 Vue Official
Pylance 对 Python 函数自动导入同样适用
Python 用户别只盯着插件。核心是 Pylance 语言服务器 + 正确配置:python.analysis.autoImportCompletions 必须设为 true,且 python.languageServer 设为 "Pylance"。
例如输入 datetime.now() 报错时,把光标停在 datetime 上按 Ctrl+.,就能看到 “Import module ‘datetime’” 选项。
- 右下角必须显示有效的 Python 解释器路径,否则 Pylance 不加载
- 如果没反应,先运行 “Python: Restart Language Server”
- 第三方包如
requests、numpy需已安装到当前环境,且类型定义(@types/xxx)最好也装上
Ctrl+. 就能稳定工作。











