vscode智能补全需同时满足语言模式正确、语言服务器已加载、项目具备类型/路径上下文三条件;右下角language mode错误或服务器未启动将导致补全完全失效。

VSCode 的智能补全(IntelliSense)不是开关一开就全局生效的功能,它必须满足三个硬性条件:当前文件被正确识别为对应语言、对应语言服务器已加载并接管、项目具备可解析的类型或路径上下文。缺任何一个,os. 不出方法、axios.get 没参数提示、@/components 按 . 没响应,都是必然结果。
确认右下角 language mode 是否正确
VSCode 不靠文件后缀判断语言,而是依赖右下角状态栏显示的 language mode。显示 Plain Text 或 Unknown 时,哪怕你在编辑 .py 文件,editor.quickSuggestions 设成 true 也完全无效。
- 常见现象:
console.没提示、import os后os.只列__name__等基础属性 - Vue 单文件组件中
<script></script>块默认可能被识别为HTML,需点击右下角手动切为JavaScript或TypeScript - 按
Ctrl+Shift+P→ 输入Change Language Mode→ 选对语言(尤其注意.jsx、.vue、.pyi等易错配后缀) - 写一行明显报错的代码快速验证:TypeScript 中输
const a: number = 'hello';,没红色波浪线?说明 TS Server 没启动
确保语言服务器已加载并启用 Pylance / TS Server
Python 补全失效,90% 是 Pylance 没跑起来;JS/TS 补全跨文件失败,大概率是 jsconfig.json 或 tsconfig.json 缺失。
- Python 必须用
ms-python.python(微软官方扩展),且python.languageServer设置值必须为"Pylance"(不是"Jedi",也不是空) - 打开命令面板 →
Python: Select Interpreter→ 选一个真实存在的 Python 环境(路径不能为空或指向已删环境) - JS/TS 项目根目录必须有
jsconfig.json(JS)或tsconfig.json(TS),最简内容至少含:{"compilerOptions": {"module": "nodenext", "target": "es2020", "allowJs": true, "checkJs": true, "moduleResolution": "nodenext"}} - 用了路径别名(如
@/utils)?必须在配置中加baseUrl和paths,改完立即执行Developer: Restart TS Server
检查关键设置项是否匹配上下文
editor.quickSuggestions 和 editor.suggestOnTriggerCharacters 这两个设置必须同时生效,补全才“跟手”。
-
editor.quickSuggestions必须按语言上下文设,例如:{"other": true, "comments": false, "strings": false};直接设true会导致在 JSON 或 Markdown 中误触发 -
editor.suggestOnTriggerCharacters必须为true,否则输入.、(、:不会自动拉建议框 - 按
Ctrl+Space可强制唤出建议框——这是验证补全引擎是否就绪的最快方式 - 路径补全(如
import后的相对路径)依赖Path Intellisense插件,但只在import/require()、HTMLsrc属性等明确语义位置生效,const p = './'这类赋值不会触发
IntelliCode AI 补全需要额外激活
普通 IntelliSense 是规则+类型推断,IntelliCode 是在此基础上叠加 AI 模型。它不会自动开启,必须手动确认集成状态。
- 打开一个
.py文件,右下角应显示Pylance (IntelliCode);若只有Pylance,说明 AI 模型未接管 - 按
Ctrl+Shift+P→ 输入IntelliCode: Configure IntelliCode Model→ 选语言(如TypeScript)→ 选模型类型(Team model或Project-specific model) - VSCode 会在工作区生成
.vscode/intellicode.json并开始下载模型缓存;首次加载可能需数秒到数十秒,期间补全无 AI 加成属正常 - AI 补全效果高度依赖项目已有代码风格——新项目或空项目里,它和基础 IntelliSense 差别不大
最容易被忽略的是:语言模式错误和语言服务器未加载,这两点会直接让所有后续配置归零。与其反复调设置,不如先看右下角、再输一行报错代码、最后查输出面板日志——把这三个动作养成条件反射,90% 的补全失效问题当场就能定位。











