智能提示失效主因是语言服务未启动,需先确认右下角语言模式正确(非Plain Text)、安装对应扩展、配置解释器或tsconfig.json,并通过输出面板查看真实错误日志。

智能提示不工作,90% 是语言服务压根没启动——不是 VSCode 坏了,而是它根本不知道你在写什么语言、用什么环境、该加载哪个服务器。
右下角显示 Plain Text 就别折腾设置,先改语言模式
这是最常被跳过的一步。VSCode 不会“猜”你写的 .py 文件是 Python,也不会自动把 .ts 文件当 TypeScript 处理——它只看后缀 + 当前语言模式。一旦状态栏显示 Plain Text 或 JSON(而你实际在写 Vue),所有语言功能(跳转、补全、类型提示)全部失效。
- 点击右下角语言名称,选
Python/TypeScript/Vue等真实语言,不是JavaScript(Vue 单文件组件必须选Vue) - 如果点开后没有对应选项,说明扩展没装或被禁用;按
Ctrl+Shift+P输入Change Language Mode再试一次 - 对 .js 文件启用 TS 语言服务?必须有
jsconfig.json,且里面至少含"allowJs": true,否则连基础补全都没有
Python 提示失效:解释器选错比插件没装更常见
装了 ms-python.python 扩展,但右下角解释器路径显示 System Python 或路径错误,Pylance 就不会加载项目内 venv 的包,import requests 后 requests.get( 按 Ctrl+Space 依然空白。
- 点击右下角 Python 版本号,选择项目根目录下的
venv/bin/python(macOS/Linux)或venv\Scripts\python.exe(Windows) - 确认终端里
pip list能看到你用的包(比如django),VSCode 才可能索引到它们的类型定义 - 如果选对了解释器仍无提示,打开输出面板(
Ctrl+Shift+U),选Python Language Server,看是否有Failed to import module或ModuleNotFoundError
TypeScript 项目里参数没提示、跳转失效:八成是 tsconfig.json 配置残缺
空的 {}、漏掉 "moduleResolution": "node"、或者 "types" 字段写成 ["node", "jest"] 却没装 @types/jest,都会让 TS Server 放弃解析整个项目上下文——这时你看到的“any 泛滥”和“无参数提示”,其实是服务降级为“仅语法检查”模式。
- 运行
npx tsc --noEmit,终端报错就说明tsconfig.json本身不合法,VSCode 不会加载它 - 确保
compilerOptions中包含"moduleResolution": "node"和"baseUrl": "."(路径别名依赖这个) - 用
import引入第三方库却无补全?先查npm view axios types,返回undefined就得手动npm install --save-dev @types/axios
重启无效?去输出面板看 Python Language Server 或 TypeScript Server 的真实报错
界面卡住、重载窗口、换插件……这些操作都绕不开一个事实:语言服务进程可能已崩溃,但 VSCode 没弹窗告诉你。真正有效的线索藏在输出面板里。
- 按
Ctrl+Shift+U打开输出,右上角下拉菜单切换到具体服务(不是Log (Window)或Tasks) - Python 报
Cannot find module 'pyright'?说明 Pylance 没正确激活,试试命令面板运行Python: Restart Language Server - TypeScript 显示
Could not find a valid tsconfig.json or jsconfig.json?说明当前工作区根目录下确实没配置文件,或文件被.gitignore误排除 - 日志里出现大量
EACCES或permission denied?可能是项目在 Docker 共享卷或 WSL 路径下,需调整 VSCode 远程连接方式
修复的关键从来不是“多装几个插件”,而是让语言服务知道自己该读哪些文件、用哪个解释器、信任哪份配置——这些信息错一条,IntelliSense 就退回原始状态。别跳过输出面板的日志,那是唯一说真话的地方。










