今天打开vue项目的时候,弹出警告 The "TypeScript Vue Plugin (Volar)" extension is no longer needed in version 2.0. Please uninstall it.
然后发现vue插件前几天更新了,翻译过来记录一下,原文链接:
特性
-
混合模式
- Takeover 模式已弃用。扩展现在默认具有与 Takeover 模式相同的性能。
- 将 TypeScript 语言支持从 Vue 语言服务器移至 TypeScript 插件 (#3788)
- 集成了所有 TypeScript 编辑器功能
- 当内部 TypeScript 扩展被禁用或安装了 "TypeScript Vue Plugin" 扩展时发出警告
- 使用 TypeScript LanguageService 迁移到命名管道服务器 (#3908, #3916)
- 不再报告
typescript.tsdk
重复注册错误 - language-service: 在 TypeScript 插件中重新实现了组件标签语义令牌 (#3915)
- language-service: 在 TypeScript 插件中重新实现了自动导入补丁 (#3917)
- language-service: 在请求自动插入
.value
时确保 tsserver 准备就绪 (#3914)
-
升级到 Volar 2.0 和 2.1 (#3736, #3906)
-
vscode: 扩展现在兼容 Volar Labs v2
-
vscode: 移除了
volar.format.initialIndent
选项,替换为 3 个新选项:vue.format.template.initialIndent
vue.format.script.initialIndent
vue.format.style.initialIndent
-
language-server: 不再支持
ignoreTriggerCharacters
、reverseConfigFilePriority
和fullCompletionList
选项
-
-
支持组件拖放导入 (#3692)
-
tsc: 支持
vueCompilerOptions.extensions
选项 (#3800) -
language-core: 实现了与 Vue 3.4 类型变更的兼容 (#3860)
修复
- vscode: 防止在非 VS Code 编辑器中读取未定义的属性 (#3836)
- vscode: 防止使用 TS 文件激活扩展
- vscode: 更正了跟踪服务器 ID
- language-core: 为 defineModel 实现了 emit 代码生成 (#3895)
- language-core: 解决了与 Vue 2.7.16 过渡类型不兼容的问题 (#3882)
- language-core: 在 Angular 绑定中排除了 vue 指令语法注入 (#3891)
- component-type-helpers: 解决了 Vue 3.4.20 函数组件的推断问题
重构
- 将 "Volar Language Features (Volar)" 扩展重命名为 "Vue - Official"
- "TypeScript Vue Plugin" 扩展已弃用
- 将源脚本从
src
移至lib
(#3913) - 将
typescript/lib/tsserverlibrary
导入替换为typescript
- language-core: 基于 Generator 实现了代码生成 (#3778)
- language-core: 在单个虚拟文件中生成全局类型 (#3803)
- language-core: 实现了插件 API v2 (#3918)
- language-core: 在 markdown 文件中忽略嵌套代码块 (#3839)
- language-core: 移除了
experimentalAdditionalLanguageModules
和已弃用的 API (#3907) - language-service: 使服务插件独立于项目上下文
- language-server: 不再支持
volar.config.js
- component-meta: 重命名了 API
- typescript-plugin: 将包重命名为
@vue/typescript-plugin
(#3910) - tsc: 基于第一方 TS API 重写,不再依赖 TypeScript 模块 (#3795)
- tsc: 弃用了钩子 API (#3793)
个人总结
这次改动对于使用 Volar 开发 Vue 应用的开发者来说影响颇大。首先,混合模式的引入和 Takeover 模式的弃用意味着开发者无需特别设置即可获得最佳性能,简化了配置过程。将 TypeScript 支持移到插件中,加上对 TypeScript 特性的全面集成,让开发者在使用 Vue 时能更流畅地使用 TypeScript,提高了开发效率。
Volar 升级到 2.0 和 2.1,带来的兼容性改进和新的格式化选项,使得代码的编写和维护变得更加便捷。特别是对于格式化配置的更新,现在开发的时候可以更细致地控制 Vue 文件中不同部分的格式化行为。另外,对组件拖放导入的支持,以及对 Vue 3.4 类型变化的兼容,都是针对现代 Vue 开发的实际需求做出的优化,提高了开发体验。
总的来说,这次更新让 Volar 在功能、性能和用户体验上都有了显著提升,对于 Vue 开发者来说是一次值得开心的改进。