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 开发者来说是一次值得开心的改进。

相关推荐
掘金安东尼1 分钟前
前端周刊第421期(2025年7月1日–7月6日)
前端·面试·github
摸鱼仙人~4 分钟前
深入理解 classnames:React 动态类名管理的最佳实践
前端·react.js·前端框架
未来之窗软件服务6 分钟前
chrome webdrive异常处理-session not created falled opening key——仙盟创梦IDE
前端·人工智能·chrome·仙盟创梦ide·东方仙盟·数据调式
kymjs张涛6 分钟前
零一开源|前沿技术周报 #6
前端·ios·harmonyos
玲小珑10 分钟前
Next.js 教程系列(十)getStaticPaths 与动态路由的静态生成
前端·next.js
天天鸭16 分钟前
写个vite插件自动处理系统权限,降低99%重复工作
前端·javascript·vite
蓝婷儿20 分钟前
每天一个前端小知识 Day 23 - PWA 渐进式 Web 应用开发
前端
无奈何杨30 分钟前
CoolGuard风控中新增移动距离和移动速度指标
前端·后端
恋猫de小郭37 分钟前
Google I/O Extended :2025 Flutter 的现状与未来
android·前端·flutter
江城开朗的豌豆41 分钟前
Vue-router方法大全:让页面跳转随心所欲!
前端·javascript·vue.js