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

VSCode 代码补全不是装个插件就自动好用的,它必须满足语言服务器已加载、文件语言模式正确、项目有可解析的上下文这三要素;缺一个,os. 就只出 __name__,axios.get 就没参数提示,@/components/ 按点毫无反应。
确认语言服务器是否真正加载
右下角状态栏显示的不是“Python”或“TypeScript”,而是“Plain Text”或“JavaScript React”?那补全根本不会启动。很多 .vue 或 .jsx 文件因后缀被错误识别为 HTML,console. 就永远不提示。
- 按
Ctrl+Shift+P→ 输入Change Language Mode→ 手动选对语言(尤其注意.pyi、.ts、.vue) - 写一行明显报错的代码测试:TypeScript 中输
const a: number = 'hello';,没红色波浪线?说明 TS Server 没接管;Python 中输np.arra不提示array?大概率Pylance没加载 - 打开输出面板(
Ctrl+Shift+U),切换到Python或TypeScript Server日志,搜Starting或error
检查 Python 补全是否依赖 Pylance 而非 Jedi
微软官方 ms-python.python 插件默认捆绑 Pylance,但很多人手动在 settings.json 里写了 "python.languageServer": "Jedi",结果参数提示消失、中文文档不显示、响应变慢。
- 打开
settings.json(Ctrl+Shift+P→Preferences: Open Settings (JSON)),确认没有"python.languageServer": "Jedi"这行;应为"python.languageServer": "Pylance"(新版默认值) - 右下角状态栏看有没有
Pylance字样;没有就去扩展页搜Pylance,确保已安装且启用 - 卸载所有非
ms-python.python的 Python 扩展(特别是已停更的tht13.python),它们会干扰符号索引
路径与环境没配对,补全直接失效
VS Code 不继承终端的 PATH 或虚拟环境状态。import numpy 后 numpy. 没方法列表?不是插件坏了,是解释器路径错了。
- 按
Ctrl+Shift+P→ 输入Python: Select Interpreter→ 手动指向venv/bin/python(macOS/Linux)或venv\Scripts\python.exe(Windows) - Poetry 用户必须先运行
poetry install,再重选 interpreter;否则poetry add requests后仍不提示requests.get - 检查
settings.json是否硬编码了系统 Python 路径,比如"python.defaultInterpreterPath": "/usr/bin/python3"—— 这会让 Pylance 始终索引错环境
JS/TS 补全卡在基础级别?缺 jsconfig.json 或 tsconfig.json
没有 jsconfig.json(JS 项目)或 tsconfig.json(TS 项目),VS Code 就把整个项目当单个记事本处理:import utils from './utils' 后 utils. 不出函数,不是插件问题,是项目“没身份”。
- 在项目根目录新建
jsconfig.json,至少包含:{ "compilerOptions": { "baseUrl": ".", "paths": { "@/*": ["src/*"] } }, "include": ["src/**/*"], "exclude": ["node_modules"] } - 删掉这个文件,补全立刻退化——这就是它在起作用的证据
- 别名补全(如
@/components/)必须靠baseUrl+paths配置,VS Code 不会猜
最容易被忽略的是:补全延迟 2–3 秒是正常现象,尤其首次加载中文文档或大型项目,别急着重装;真正的问题往往藏在解释器路径、语言模式、配置文件这三层里,而不是插件本身。











