VSCode自动补全失效主因是editor.quickSuggestions未正确配置为对象(如{"other":true,"strings":true,"comments":false})、editor.suggestOnTriggerCharacters关闭、语言模式错误或语言服务器未匹配。

补全不弹、弹得晚、弹错地方——不是插件没装,而是几个关键配置没对齐。
editor.quickSuggestions 配置必须用对象形式
只写 "editor.quickSuggestions": true 是无效的。VSCode 要求它必须是对象,否则在字符串、注释等上下文中会退化为关闭状态。
-
"other": true控制普通代码区(如函数体、if 条件)是否触发补全,这是最常被忽略的开关 -
"strings": true才能让import './'或require('./')里出现路径补全 -
"comments": false通常保持关闭,避免注释里误出变量名干扰阅读
推荐最小可用配置:{"editor.quickSuggestions": {"other": true, "comments": false, "strings": true}}
editor.suggestOnTriggerCharacters 必须显式开启
很多用户敲 console. 没反应,不是语言服务器挂了,而是这个开关默认关着——它控制 .、[、( 等符号后是否主动拉起建议列表。
- 设为
true后,arr.、obj[、fn(都能立刻触发语义补全 - 若关闭,只能靠
Ctrl+Space手动唤出,且无法感知点号后的上下文 - 该设置对 Python、JS/TS、Rust 等依赖 LSP 的语言是刚需,对 JSON/YAML 无效(它们走语法树,不走 LSP)
语言模式和语言服务器必须匹配
右下角显示 Plain Text 却指望 requests. 补全?补全根本不会启动。语言模式决定加载哪个语言服务器。
- Python:必须安装
ms-python.python,且python.languageServer设为"Pylance"(不是"Jedi") - JS/TS:项目根目录必须有
jsconfig.json或tsconfig.json,否则import后模块方法不出现 - Vue/Svelte:需额外安装对应语言插件(如
Vue Language Features (Volar)),否则@click="|"不触发事件补全
检查方式:打开一个真实文件(不能是未保存的 Untitled-1),按 Ctrl+Shift+P 输入 Developer: Toggle Developer Tools,看 Console 是否报 Pylance 或 tsserver 连接失败。
路径补全依赖 strings + 配置文件双重生效
import '@/components/ 不出提示?问题不在插件,而在 VSCode 不知道 @ 指向哪,也不在字符串里开补全。
- 先确保
"strings": true,否则引号内直接不弹任何建议 - 再配
jsconfig.json的compilerOptions.baseUrl和paths,例如:{"baseUrl": ".", "paths": {"@/*": ["src/*"]}} - 改完配置必须重启 TS 服务:按
Ctrl+Shift+P→ 输入TypeScript: Restart TS server - 别名补全只在 import/from/require 中生效,
console.log('@/')不触发
最容易被跳过的环节是:改了 jsconfig.json 但没重启 TS server,看着配置对了,补全就是不动。











