最稳妥的解法是在项目根目录放置 tsconfig.json 或 jsconfig.json;Vetur 仅识别工作区根目录下的这两个文件,不向上递归查找,且需确保 VSCode 打开的是含 package.json 的真实项目根目录。

直接在项目根目录放一个 tsconfig.json 或 jsconfig.json,是最稳妥的解法。Vetur 不会往上层目录递归查找,只认你当前打开的「工作区根目录」下的这两个文件。
确认 VSCode 打开的是真正的项目根目录
Vetur 的查找路径完全取决于你点击「文件 → 打开文件夹」时选中的那个文件夹。如果误点了父级空壳文件夹(比如 projects/),而实际 Vue 项目在 projects/my-vue-app/ 里,那 tsconfig.json 就算存在也找不到。
- 关闭所有已打开的文件夹
- 重新执行「打开文件夹」,精准选中含
package.json和预期配置文件的那个目录 - 检查 VSCode 窗口左下角显示的路径是否和
tsconfig.json所在路径一致
没有 tsconfig.json 但用的是 JavaScript 项目
Vue CLI 创建的 JS 项目默认不生成 jsconfig.json,但 Vetur 0.31.0+ 版本会主动检查它。此时手动补一个最轻量:
{
"include": ["./src/**/*"]
}
这个文件必须放在项目根目录,内容只需 include 字段指向源码路径即可。不需要完整 TypeScript 配置,jsconfig.json 就够用。
不想改项目结构或加配置文件
可以关掉 Vetur 的提示,但注意:这仅隐藏警告,不恢复类型推导和模板内 `<script>` 的智能提示能力。</script>
- 打开 VSCode 设置(
Ctrl + ,) - 搜索
vetur.ignoreProjectWarning - 勾选它,或在
settings.json中添加:"vetur.ignoreProjectWarning": true - 重启 VSCode
别踩这些坑
很多人试了各种方法还是失败,问题常出在几个隐蔽点:
-
tsconfig.json放在子目录(如src/tsconfig.json)——Vetur 不认 - 同时装了
Vetur和Volar—— 官方明确建议禁用 Vetur,二者冲突会导致提示失效 - 用了 Vue 3 + TypeScript 项目却只建了
jsconfig.json—— 应优先建tsconfig.json,否则 Vetur 可能跳过类型服务 - 文件编码不是 UTF-8 无 BOM,或文件名拼错(比如
tsconfig..json多了个点)
真正影响开发体验的,从来不是警告弹窗本身,而是它背后缺失的类型支持和跨文件跳转能力。所以优先补配置文件,而不是关提示。











