ctrl+.没反应主因是语言服务未就绪或光标未落在报错token上;需检查右下角语言模式、重启语言服务器、确保autoimports等设置为true,并确认库已安装且路径可索引。

为什么 Ctrl+. 按了没反应?先看语言服务是否就位
VSCode 的自动导入不是靠插件“硬塞”,而是由语言服务器(TypeScript Server、Pylance 等)驱动的。如果 Ctrl+. 按下后菜单空白或不弹出“Import …”选项,大概率是语言服务根本没加载成功。
检查右下角状态栏:必须显示 TypeScript、JavaScript 或 Python,且旁边不能有感叹号或写着 Plain Text。若显示 Python (Jedi),点击它手动切换为 Python (Pylance);若显示 JavaScript React 却没反应,说明文件类型识别错,右键 → “Change Language Mode” → 选 TypeScript 或 JavaScript。
- 打开命令面板(
Ctrl+Shift+P),运行TypeScript: Restart TS server或Python: Restart Language Server - 确认项目根目录存在
tsconfig.json(TS/JS)或pyproject.toml/setup.py(Python),否则语言服务器无法索引第三方库路径 - 终端里运行
npm list lodash或pip show requests,确保库已真实安装——没装的包,再智能也导不出来
typescript.suggest.autoImports 和 javascript.suggest.autoImports 必须设为 true
这两个设置控制的是:你在代码里输入 useMemo 时,IntelliSense 下拉列表里会不会出现带 import { useMemo } from 'react' 前缀的建议项。默认值是 false,尤其重装 VSCode 后极易被关掉。
打开 settings.json(Ctrl+, → 右上角“打开设置(JSON)”),确保包含:
{ "typescript.suggest.autoImports": true, "javascript.suggest.autoImports": true }
注意:autoImports 不是 autoImport,拼错就失效。Vue 项目还需额外加一行:"vetur.validation.script": false,否则 Vetur 会拦截 Pylance/TS 的建议。
Python 用户绕不开 python.analysis.autoImportCompletions
Python 的自动导入完全依赖 Pylance,且仅当 python.analysis.autoImportCompletions 为 true 时才生效。光在 UI 设置里勾选“Auto Import Completions”不够,必须写进 settings.json 且值是布尔型 true,不是字符串 "true"。
同时要开 editor.quickSuggestions.other,否则输 pathlib. 根本不触发补全:
{ "python.languageServer": "Pylance", "python.analysis.autoImportCompletions": true, "editor.quickSuggestions": { "other": true } }
- 第三方库如
requests、numpy需已安装,且最好有类型定义(pip install types-requests) - 本地模块(比如
utils.py)若不在工作区根目录下,Pylance 可能索引不到,导致无法自动导入 - 输入
np.后按Ctrl+Space,若补全项带小灯泡图标,选中即插入import numpy as np
保存时自动增删 import:用 source.organizeImports
即使你手写了 import,也可能漏删未使用项或顺序混乱。"source.organizeImports" 能在保存瞬间完成增删 + 排序,但它只对当前文件生效,不跨文件扫描。
在 settings.json 中加入:
{ "editor.codeActionsOnSave": { "source.organizeImports": true } }
注意:该配置不会帮你从 lodash 里智能拆出 debounce,只整理已存在的 import 块。若想全局修复(比如整个项目补全缺失 import),得配 ESLint + eslint.codeAction.onSave.fixAll。
最常被忽略的一点:这个动作只在你真正“保存文件”时触发,改完代码但没按 Ctrl+S,它就不会动。











