如何防止 Vetur 和 TypeScript 在 VSCode 中同时显示打字稿警告?
Posted
技术标签:
【中文标题】如何防止 Vetur 和 TypeScript 在 VSCode 中同时显示打字稿警告?【英文标题】:How do I prevent Vetur and TypeScript from both showing typescript warnings in VSCode? 【发布时间】:2021-12-25 16:09:56 【问题描述】:我正在开发一个使用 TypeScript 的 Vue2 项目。我正在使用安装了 Vetur 和 TypeScript 扩展的 VSCode。
每当出现 TypeScript 警告时,VSCode 叠加层都会显示 TypeScript 和 Vetur 报告的相同警告。
此外,任何智能感知菜单都会显示选项两次。
我想同时安装这两个扩展。我怎样才能让他们彼此相处融洽并且只显示一次警告?
【问题讨论】:
这只是一个猜测,但可能是因为两个扩展都使用了不同版本的 TS。 Vetur 有一个 setting 来使用 TS 的工作区版本(仅来自node_modules
],我敢打赌 VS 的 TS 扩展也会有类似的东西。另请注意,Vetur 不再是官方推荐的与 Vue+TS 一起使用的工具,而是 @ 987654324@ - 从我个人的经验来看,确实更好
@MichalLevý 我也为我的 Vue 3 项目安装了 Volar,但我的旧 Vue 2 项目需要 Vetur。
@MichalLevý 我启用了use workspace dependencies
并重新启动了 Vetur vue 语言服务 (VLS),但遗憾的是,它仍然加倍突出显示。
@MichalLevý 一时兴起,我禁用了 Vuter,而 Volar 似乎已经弥补了我的 Vue 2 项目的不足。如果你想写一个正式的答案,我很乐意给你赏金。
【参考方案1】:
这可能是因为两个扩展使用不同版本的 TS。 Vetur 有一个 setting 来使用 TS 的工作区版本(仅来自 node_modules
),我敢打赌 VS 的 TS 扩展也会有类似的东西。
另外请注意,Vetur 不再是官方推荐与 Vue+TS 一起使用的工具,但 Volar 是 - 从我个人的经验来看,它确实更好,更积极地开发(甚至支持 script setup
没有完美但Options API/Composition API 和 script setup
之间相当不错的自动转换)
虽然 Volar 说它是为 Vue 3 设计的,但它仍然适用于 Vue 2 和组合 API。因此,如果您启用了 Volar,则在 VSCode 中禁用 Vetur 应该是安全的。
【讨论】:
以上是关于如何防止 Vetur 和 TypeScript 在 VSCode 中同时显示打字稿警告?的主要内容,如果未能解决你的问题,请参考以下文章
使用 Apollo 在 TypeScript 中填充常量时,对象的类型为“未知”.Vetur(2571)
带有 Vetur 的 VSCode 中带有 Typescript 的 NativeScript-Vue:在类型“void”上不存在属性“then”的警报
如何使用jsdom和typescript防止“属性'...'在'Global'类型上不存在”?