根本原因是volar未真正接管.vue文件:需禁用vetur、启用take over模式、关闭skiplibcheck,三者缺一不可;还需配置templateinterpolationservice、确保volar.server.config.json位置格式正确并重启服务器。

缺提示不是插件没装,是 Volar 没真正接管 .vue 文件,或者 TypeScript 类型服务被跳过。禁用 Vetur、启用 Take Over 模式、关掉 skipLibCheck 这三步漏一个,defineProps、ref、模板内变量补全就全崩。
为什么装了 Volar 还是没 defineProps 泛型提示?
根本原因是 VSCode 仍在用内置 TS 插件或 Vetur 解析 .vue,defineProps 根本没进 Vue SFC 模式。
- 打开命令面板(
Ctrl+Shift+P或Cmd+Shift+P),运行Volar: Switch to Take Over Mode—— 这步必须手动触发,不执行等于没配 - 禁用 VSCode 内置的
TypeScript and JavaScript Language Features:扩展面板搜@builtin typescript→ 右键 →Disable (Workspace) - 点右下角语言模式 →
Configure File Association for '.vue'→ 输入vue回车 → 再手动切一次,确保显示Vue (Volar),不是Vue HTML或空白 - 重启窗口(
Developer: Reload Window)不够,得完全退出 VSCode 再重开,否则语言服务器不重注册
模板里 {{ count }} 不提示类型、ref 不自动解包?开 experimental.templateInterpolationService
默认情况下 Volar 对 {{ }} 里的表达式不做类型检查,看着没红线,实则 IDE 失明。

