vscode补全失效的三大原因:语言模式错误(右下角非python/js/ts)、pylance未启用或配置错误、缺少jsconfig.json/tsconfig.json项目配置,任一环节缺失都会导致补全仅显示基础属性。

editor.quickSuggestions 必须设对上下文,否则补全根本不会弹出来——这是最常被忽略的前提。
右下角语言模式不对,补全就失效
VSCode 不是靠文件后缀猜语言,而是靠右下角状态栏显示的 language mode。如果显示 Plain Text 或 Unknown,哪怕你正在编辑 .py 文件,editor.quickSuggestions 设成 true 也毫无作用。
常见现象:console. 没提示、os. 列不出方法、import 后模块名不补全。
- 按
Ctrl + Shift + P→ 输入Change Language Mode→ 手动选Python/TypeScript/JavaScript - Vue 单文件组件里
<script></script>块默认可能是HTML,需点击右下角切换为JavaScript或TypeScript - 写一行明显类型错误的代码(如
const a: number = 'x'),没红色波浪线?说明语言服务器压根没接管
Python 补全失效,大概率是 Pylance 没跑起来
装了十几个“Python”扩展?真正起作用的是 ms-python.python,且它必须启用内置的 Pylance 语言服务器。Jedi 已停更,参数提示、类型推断、自动导入都弱得多。
- 打开命令面板 →
Python: Select Interpreter→ 选一个有效 Python 环境(路径不能是空或不存在) - 检查设置中
python.languageServer值是否为"Pylance"(不是"Jedi",也不是空) - 重启 VSCode 后打开任意
.py文件,输pathlib.Path().,看是否列出完整方法;若只有__class____doc__这类基础属性,说明 Pylance 没加载成功 - 打开输出面板(
Ctrl + Shift + U)→ 切换到Python日志 → 搜Starting或error
JS/TS 补全不跨文件?缺 jsconfig.json 或 tsconfig.json
没有这个配置文件,VSCode 就把项目当单个 JS 文件处理:路径别名(如 @/utils)、import 模块、第三方库类型定义全部失效。补全是“盲猜”,跳转是“摆设”。
- 在项目根目录新建
jsconfig.json(JS 项目)或tsconfig.json(TS 项目) - 最简内容至少含:
{"compilerOptions": {"module": "nodenext", "target": "es2020", "allowJs": true, "checkJs": true, "moduleResolution": "nodenext"}} - 用别名(如
@/components)?必须加baseUrl和paths,例如:"@/*": ["src/*"] - 改完立刻执行
Ctrl + Shift + P→TypeScript: Restart TS server,不重启等于没改
editor.suggestOnTriggerCharacters 关了,. ( 就不会自动拉框
这个开关控制是否在输入 .、:、(、[ 等符号后自动触发建议。很多人只调 quickSuggestions,却忘了它。
- 确保
editor.suggestOnTriggerCharacters是true(默认是true,但可能被覆盖) -
editor.quickSuggestions推荐设为对象形式:{"other": true, "comments": false, "strings": false}—— 字符串里补全容易误触,普通代码块必须开 - 快捷键
Ctrl + Space可强制唤出建议框,用来快速验证补全引擎是否就绪 - 想让
iffor这类关键词进补全列表?得开"editor.suggest.showKeywords": true(GUI 设置里找不到,必须写进settings.json)
jsconfig.json 都没建。











