Volar 是 Vue 的 VS Code 插件,也是 Vue 的官方 IDE/TS 支持工具,除了集成 Vetur 的相关功能,如高亮、语法提示等之外,还包含一些独有功能。
为 Vite 和 Nuxt 3 Preview 实现了 Goto Code 和 Highlight Selection Dom Elements
实现了 Component Preview
新增 format.initialIndent 设置以指定 SFC blocks 的初始缩进
实现了 Web IDE 支持
不再内置支持 <template lang='pug'>
(在 v1.0 需要安装 @volar/vue-language-plugin-pug)
预设不再需要 'jsx': 'preserve',并且不会与 @types/react 冲突(除非明确启用 vueCompilerOptions.jsxTemplates)
预设总是以 defineComponent () 包装 Component Options
不再以警告色显示未知 Component Tag
改进 JS 组件中的 Template TypeScript 支持
减少对阅读 README 的依赖,现在会自动检测常见的项目设置问题(例如错误地设置 vueCompilerOptions.target),发现问题时会在状态栏提示
启用 Takeover mode 不再弹出提示
更快的 'Reload Project' 命令代替 'Restart Vue server'
新的 'Show Virtual Scripts' 命令代替 'Write Virtual Files'
增量更新过去的诊断结果防止烦人的闪烁问题
支持在不重启服务器的情况下添加或切换工作区
简化 Name casing tool 在状态栏的显示方式,并且现在也支持 Prop name casing 转换
支持了 vue-tsc --watch
支持了 Inlay Hints
支持 Find File References
支持了 JavaScript and TypeScript Nightly
解决了无法在 Template 引用类型的问题
新增 vueCompilerOptions.strictTemplates 选项支持更严格的 Template type checking,在使用未知的 Component Tag 和 Props 时报告错误
显著改进 SourceMap mapping 性能
实现 SFC AST 和 Template AST 的增量更新
简化 Template 生成的代码以降低了每个 Vue 文件产生的内存占用
为 Monorepo 多个 TS project 共用 TS SourceFile 实例
移植了 tsserver 自动导入的缓存逻辑加快自动完成
移植了 tsserver 基于 Named Pipe 的 Cancellation Token 实现以解决了 LSP 请求阻塞
优化 Bundle 降低包大小,并且插件启动速度更快
<template>
使用的 formatter 改为 Prettier。@volar/vue-typescript 为 prettier-plugin-organize-imports 公开了 organizeImports API;
@volar/vue-language-core 为 VSCode 以外的 IDE 公开了 vue-tsconfig.schema.json;
实现了 vue-component-meta 用于 UI Library 文档生成。
文档网站
改进 Bug report 流程
支持全局安装 LangaugeServicePlugin
基于 Bun 的 Language Server
增量更新 template codegen
探索 TypeScript 和 LSP 源代码中的性能改进
联系客服