Vue 官方语言工具2.0 来了,已正式更名!
Volar Language Features (Volar) 改为了 Vue - Official,TypeScript Vue Plugin扩展也已经被弃用。下面就来看看该版本都带来了哪些更新。新功能
支持通过拖拽导入组件
混合模式:
弃用了 Takeover 模式,但扩展现在默认拥有与 Takeover 模式相当的性能。
TypeScript 语言支持已从 Vue 语言服务器迁移至 TypeScript 插件,实现了所有 TypeScript 编辑器功能的集成。若内部 TypeScript 扩展被禁用或安装了“TypeScript Vue Plugin”扩展,将发出警告。
使用 TypeScript LanguageService 将服务迁移至命名管道服务器。
在 TypeScript 插件中,重新实现了组件标签的语义令牌和自动导入修补程序,并确保了在请求自动插入
.value时,tsserver处于就绪状态。language-server:不再支持
ignoreTriggerCharacters、reverseConfigFilePriority和fullCompletionList选项。tsc:支持vueCompilerOptions.extensions选项language-core:实现了与 Vue 3.4 类型更改的兼容性
升级到了 Volar 2.1 版本,使扩展与 Volar Labs v2 兼容。在 vscode 中,移除了
volar.format.initialIndent选项,并引入了三个新选项:vue.format.template.initialIndent、vue.format.script.initialIndent和vue.format.style.initialIndent。
重构
tsc:基于官方 TypeScript API 进行了重写,不再依赖TypeScript模块。除此之外,还弃用了hooks API,以简化代码结构和提高可维护性。
language-core:
基于 Generator 实现了代码生成功能
在单个虚拟文件中生成全局类型
实现了插件 API v2
忽略了 Markdown 文件中的嵌套代码块
移除了
experimentalAdditionalLanguageModules和已弃用的APIlanguage-service:
使服务插件独立于项目上下文
不再支持
volar.config.js配置文件typescript-plugin: 将包重命名为@vue/typescript-plugin用
typescript替换了typescript/lib/tsserverlibrary的导入将源代码从
src目录移至lib目录
小插曲
在 Vue-Official 升级到 2.0 之后,不少用户反馈 2.x 版本启动后会崩溃。
尝试使用 VSCode Insiders,或者暂时降级到 1.8.27。
如果出现误报,可以尝试在工作区根目录中创建一个空的 jsconfig。
希望能尽快修复这个问题,目前看起来影响还是挺大的。