近日,Vue 官方语言工具发布了 2.0 版本,该版本已经将 VS Code 插件名称由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
和已弃用的API
-
-
language-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。
希望能尽快修复这个问题,目前看起来影响还是挺大的。
喜欢的话点点赞收藏一下谢谢