vscode智能补全需同时满足语言服务器加载、语言模式正确、项目有类型上下文三条件;缺一则os.仅显基础属性、axios.get无参数提示、@/components无响应。

VSCode 智能补全(IntelliSense)不是装完插件就自动满血生效的,它必须同时满足语言服务器加载成功、文件语言模式正确、项目有可解析的类型上下文这三个硬性条件;缺一个,os. 就只列 __name__,axios.get 就没参数提示,@/components 按 . 也没反应。
确认右下角语言模式和语言服务器已接管
VSCode 不靠后缀猜语言,而是看右下角状态栏显示的 language mode。如果显示 Plain Text 或 HTML,哪怕你编辑的是 .py 或 .ts 文件,补全也完全不会启动。
- 按
Ctrl+Shift+P→ 输入Change Language Mode→ 手动选对语言(特别注意.vue的<script></script>块常被识别为 HTML,得切到TypeScript或JavaScript) - 写一行明显报错的代码测试:TypeScript 中输
const a: number = 'x';,没红色波浪线?说明 TS Server 没加载;Python 中输np.arra不提示array?大概率 Pylance 没跑起来 - 打开输出面板(
Ctrl+Shift+U),切换到Python或TypeScript Server日志,搜Starting或error看是否正常启动
Python 补全必须用 ms-python.python + Pylance
装十几个“Python”扩展没用,真正起作用的是 ms-python.python(微软官方),且必须确保其内置的 Pylance 已激活。用 Jedi 会导致 import os 后 os. 只出基础属性,无参数提示、无类型推断。
- 卸载所有非
ms-python.python的 Python 相关扩展(尤其停更的tht13.python) - 打开
settings.json(Ctrl+Shift+P→Preferences: Open Settings (JSON)),确认"python.languageServer": "Pylance" - 按
Ctrl+Shift+P→Python: Select Interpreter,选一个真实存在的 Python 环境(路径不能为空或无效) - 重启 VSCode,开
.py文件输pathlib.Path().,看是否列出完整方法列表
JS/TS 补全不跨文件?缺 jsconfig.json 或 tsconfig.json
没有 jsconfig.json(JS 项目)或 tsconfig.json(TS 项目),VSCode 就把整个项目当单个记事本处理:import utils from './utils' 后 utils. 不出函数,不是插件问题,是项目“没身份”。
- 在项目根目录新建
jsconfig.json,最简内容至少含:{"compilerOptions": {"module": "nodenext", "target": "es2020", "allowJs": true, "checkJs": true, "moduleResolution": "nodenext"}} - 要用别名(如
@/components)?必须加baseUrl和paths,例如:"@/*": ["src/*"] - 改完立刻执行
Ctrl+Shift+P→TypeScript: Restart TS Server,不重启等于没改
editor.suggestOnTriggerCharacters 关了,. 就不会自动拉框
这个设置控制是否在输入 .、:、(、[ 等符号后自动触发建议。很多人只调 editor.quickSuggestions,却忽略了它——结果就是敲完 console. 没反应。
- 检查
settings.json中是否设为true:"editor.suggestOnTriggerCharacters": true -
editor.quickSuggestions也要配对设置,比如:"editor.quickSuggestions": { "other": true, "comments": false, "strings": false } - 若仅想在 JS/TS 中启用,可细化为:
"editor.quickSuggestions": { "javascript": true, "typescript": true }
最容易被忽略的是:改了 jsconfig.json 或 tsconfig.json 后没重启 TS Server,或者 Python 环境选错但没验证 np.array 是否可提示——这些环节一卡,补全就退化成“基础字符串匹配”,再装十个 AI 插件也救不回来。











