VSCode补全失效主因是右下角语言模式未手动设为对应语言,且需启用Pylance、配置jsconfig.json/tsconfig.json、开启editor.quickSuggestions与editor.suggestOnTriggerCharacters。

右下角语言模式必须手动确认
VSCode 不靠文件后缀判断语言,而是依赖右下角状态栏显示的 language mode。哪怕你打开的是 main.py,如果右下角显示 Plain Text 或 Unknown,editor.quickSuggestions 设成 true 也完全无效。
常见现象:console. 不出提示、os. 列不出方法、import numpy 后输 numpy. 一片空白。
- 按
Ctrl + Shift + P→ 输入Change Language Mode→ 手动选Python/TypeScript/JavaScript - Vue 单文件组件中
<script>块默认可能是HTML,需点击右下角切换为JavaScript或TypeScript - 写一行明显类型错误的代码(如
const a: number = 'x'),没红色波浪线?说明语言服务器根本没接管
Python 补全失效,大概率是 Pylance 没跑起来
装了十几个“Python”扩展?真正起作用的只有 ms-python.python(发布者 Microsoft),且它必须启用内置的 Pylance 语言服务器。Jedi 已停更,参数提示、类型推断、自动导入能力弱得多。
- 卸载所有非
ms-python.python的 Python 扩展(尤其tht13.python这类已停更多年旧版) - 打开命令面板 →
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.quickSuggestions 和 editor.suggestOnTriggerCharacters 必须同时开
这两个开关是补全弹窗的“总闸”。前者控制是否在输入时自动拉框,后者决定 .、:、(、[ 这些符号是否触发建议——关掉任一个,obj. 都不会弹。
- 打开设置(
Ctrl + ,),搜quick suggestions,确保other项为true(JSON 视图里应有:"editor.quickSuggestions": {"other": true, "comments": false, "strings": false}) - 同样搜
suggest on trigger characters,确认开关是开启状态(对应设置项为editor.suggestOnTriggerCharacters: true) - 注意:UI 界面勾选有时只作用于当前工作区;直接改
settings.json是全局生效的底线
editor.suggestOnTriggerCharacters 这个名字太长、常被跳过的开关。


















