Vue vscode 插件版本更新:写TS不需要装两个插件了

今天打开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: 不再支持 ignoreTriggerCharactersreverseConfigFilePriorityfullCompletionList 选项

  • 支持组件拖放导入 (#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 开发者来说是一次值得开心的改进。

相关推荐
爪洼守门员4 分钟前
前端性能优化
开发语言·前端·javascript·笔记·性能优化
TOYOAUTOMATON9 分钟前
GTH系列模组介绍
前端·目标检测·自动化
2022.11.7始学前端14 分钟前
n8n第十节 把Markdown格式的会议纪要发到企微
前端·chrome·n8n
fruge41 分钟前
Lodash 源码精读:防抖节流的实现细节与边界场景
前端
yuzhiboyouye42 分钟前
怎么熟悉一个web前端项目的业务呢?
前端
GISer_Jing44 分钟前
AI在前端营销和用户增长领域应用(待补充)
前端·人工智能
橘子海全栈攻城狮1 小时前
【最新源码】基于springboot的会议室预订系统设计与实现 014
java·开发语言·前端·spring boot·后端·spring·自动化
1024肥宅1 小时前
前端常用模式:提升代码质量的四大核心模式
前端·javascript·设计模式
哆啦A梦15881 小时前
商城后台管理系统 04,商品添加-清空列表
javascript·vue.js·elementui
哆啦A梦15881 小时前
商城后台管理系统 06,类目选择实现
javascript·vue.js·elementui