Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

vue-tsc

vuejs5.7mMIT2.2.0TypeScript support: included

null

readme

Vue Language Tools

⚡ High-performance Vue language tooling based-on Volar.js

💬 #language-tools on our Discord Server

Packages

Community Integration

yaegassy/coc-volar ⚡ 🤝 🅿️ \ Vue language client for coc.nvim

neovim/nvim-lspconfig ⚡ 🤝 \ Vue language server configuration for Neovim

<summary>How to configure vue language server with neovim and lsp?</summary>

Hybrid mode configuration (Requires @vue/language-server version ^2.0.0)

Note: The "Take Over" mode has been discontinued. Instead, a new "Hybrid" mode has been introduced. In this mode, the Vue Language Server exclusively manages the CSS/HTML sections. As a result, you must run @vue/language-server in conjunction with a TypeScript server that employs @vue/typescript-plugin. Below is a streamlined configuration for Neovim's LSP, updated to accommodate the language server following the upgrade to version 2.0.0.

For nvim-lspconfig versions below v1.0.0 use tsserver instead of ts_ls, e.g. lspconfig.ts_ls.setup

-- If you are using mason.nvim, you can get the ts_plugin_path like this
-- local mason_registry = require('mason-registry')
-- local vue_language_server_path = mason_registry.get_package('vue-language-server'):get_install_path() .. '/node_modules/@vue/language-server'

local vue_language_server_path = '/path/to/@vue/language-server'

local lspconfig = require('lspconfig')

lspconfig.ts_ls.setup {
  init_options = {
    plugins = {
      {
        name = '@vue/typescript-plugin',
        location = vue_language_server_path,
        languages = { 'vue' },
      },
    },
  },
  filetypes = { 'typescript', 'javascript', 'javascriptreact', 'typescriptreact', 'vue' },
}

-- No need to set `hybridMode` to `true` as it's the default value
lspconfig.volar.setup {}

Non-Hybrid mode(similar to takeover mode) configuration (Requires @vue/language-server version ^2.0.7)

Note: If hybridMode is set to false Volar will run embedded ts_ls therefore there is no need to run it separately.

For more information see #4119

Make sure you have typescript installed globally or pass the location to volar

Use volar for all .{vue,js,ts,tsx,jsx} files.

local lspconfig = require('lspconfig')

-- lspconfig.ts_ls.setup {} 
lspconfig.volar.setup {
  filetypes = { 'typescript', 'javascript', 'javascriptreact', 'typescriptreact', 'vue' },
  init_options = {
    vue = {
      hybridMode = false,
    },
  },
}

Use volar for only .vue files and ts_ls for .ts and .js files.

local lspconfig = require('lspconfig')

lspconfig.ts_ls.setup {
  init_options = {
    plugins = {
      {
        name = '@vue/typescript-plugin',
        location = '/path/to/@vue/language-server',
        languages = { 'vue' },
      },
    },
  },
}

lspconfig.volar.setup {
  init_options = {
    vue = {
      hybridMode = false,
    },
  },
}

nvim-cmp integration

Check out this discussion

mattn/vim-lsp-settings ⚡ \ Vue language server auto configuration for vim-lsp

sublimelsp/LSP-volar 🤝 \ Vue language client for Sublime

kabiaa/atom-ide-volar \ Vue language client for Atom

emacs-lsp/lsp-mode (jadestrong/lsp-volar) ⚡ 🤝 \ Vue language client for Emacs

tommasongr/nova-vue \ Vue language client for Nova

xiaoxin-sky/lapce-vue \ Vue language client for Lapce

Kingwl/monaco-volar \ Vue language support for Monaco on Browser

WebStorm \ Built-in integration for @vue/language-server

Eclipse WildWebDeveloper \ Vue language server configuration for Eclipse

* ⚡ support multiple servers \ * 🤝 support take over mode \ * 🅿️ support extra preview features

Contribution Guide

If you want to work on the volar extension follow these commands to set up your local development environment.

🔎 Note that you will need pnpm - you can download it here: https://pnpm.io/installation.

git clone https://github.com/vuejs/language-tools.git
cd language-tools
pnpm install
pnpm run build

The recommended way to develop the volar extension is to use the Debug Tools provided by VSCode. Alternatively, you can run one of the scripts defined in the package.json file.

❗ You should always use the debug launch configs or package.json scripts defined in the root of the project.

Additional info for contributing to open source projects can be found here: https://docs.github.com/en/get-started/quickstart/contributing-to-projects

To develop with upstream Volar.js modules, you can setup workspace with https://github.com/volarjs/workspace.


Full-time Support by


Boot a fresh environment in milliseconds.


changelog

Changelog

Join the Insiders Program for more exclusive features and updates.

2.2.0 official, 2.2.1 insiders (2024-12-24)

Features

  • feat(language-core): support @vue-generic (#4971) - Thanks to @KazariEX!
  • feat(vscode): add configuration for skipping automatic detection of Hybrid Mode (#5046) - Thanks to @KazariEX!
  • feat(language-service): crawl html data of data-allow-mismatch - Thanks to @KazariEX!
  • feat(language-core): type support of $attrs (#5076) - Thanks to @KazariEX!
  • feat(language-core): type support of useSlots and $slots (#5055) - Thanks to @KazariEX!
  • feat(language-core): type support of v-model modifiers (#5061) - Thanks to @KazariEX!
  • feat(language-service): process references data at runtime to reduce bundle size (#5054) - Thanks to @KazariEX!
  • feat(language-core): support the use of sfc root comment to configure vueCompilerOptions (#4987) - Thanks to @KazariEX!
  • feat(vscode): add timeout logic for insiders fetching (#5048) - Thanks to @KazariEX!
  • feat(vscode): add examples to inlay hints configuration (#5068) - Thanks to @KazariEX!

Performance

  • perf(typescript-plugin): use named pipe servers more efficiently (#5070)

Bug Fixes

  • fix(language-core): generate script setup starting from last leading comment without @ts-check - Thanks to @KazariEX!
  • fix(language-core): make model modifiers optional (#4978) - Thanks to @stafyniaksacha!
  • fix(language-core): always report missing props on <slot> (#4982) - Thanks to @KazariEX!
  • fix(language-core): avoid unchecked index access when parsing defineEmits (#5028) - Thanks to @KazariEX!
  • fix(language-service): handle text edit of special closing tags completion correctly (#5016) - Thanks to @KazariEX!
  • fix(language-core): don't generate variable access of template refs using useTemplateRef (#5032) - Thanks to @KazariEX!
  • fix(vscode): update enabledHybridMode before activate extension (#5019) - Thanks to @nieyuyao!
  • fix(tsc): point to shimmed tsc entry point to support ts 5.7 (#5020) - Thanks to @davidmatter!
  • fix(vscode): add GitHub.copilot-chat to hybrid mode compatible list (#5047) - Thanks to @KazariEX!
  • fix(language-core): generate generics normally when useTemplateRef has no parameters (#5051) - Thanks to @KazariEX!
  • fix(language-core): avoid clipping prop name using .prop or .attr on v-model - Thanks to @KazariEX!
  • fix(language-core): handle named default import of components correctly (#5066) - Thanks to @KazariEX!
  • fix(language-core): disable navigation feature on non-binding prop values (#5040) - Thanks to @KazariEX!
  • fix(language-core): do not generate useTemplateRef parameter repeatedly (#5009)
  • fix(language-core): generate macros after script setup content (#5071) - Thanks to @KazariEX!
  • fix(language-core): correct type and completion support of vue: event (#4969) - Thanks to @KazariEX!
  • fix(language-core): prevent visiting functional components for parseScriptSetupRanges (#5049) - Thanks to @zhiyuanzmj!
  • fix(language-service): don't provide modifier completion for @ and : (#5052) - Thanks to @KazariEX!
  • fix(language-core): consistent interpolation behavior of shorthand binding (#4975) - Thanks to @KazariEX!
  • fix(language-core): resolve components with various name cases correctly (#5067) - Thanks to @KazariEX!
  • fix(language-core): map v-slot correctly to report error when missing default slot - Thanks to @KazariEX!
  • fix(language-core): map component loc to instance variable for verification - Thanks to @KazariEX!

Other Changes

  • refactor: improve code consistency (#4976) - Thanks to @KazariEX!
  • docs: update nvim guide (#4984) - Thanks to @zeromask1337!
  • docs: fix broken marketplace page (#5004) - Thanks to @rioj7!
  • chore: upgrade reactive-vscode to v0.2.7 (#4997) - Thanks to @KermanX!
  • refactor(language-service): consistent style of source and virtual code operation (#5053) - Thanks to @KazariEX!
  • refactor(language-core): remove unnecessary linked code mappings of defineProp (#5058) - Thanks to @KazariEX!
  • refactor(language-core): simplify current component info passing (#5078) - Thanks to @KazariEX!
  • Upgraded Volar from v2.4.8 to v2.4.11:

2.1.10 official, 2.1.11 insiders (2024-10-31)

Features

  • language-service: auto insert const props = with props completion (#4942) - Thanks to @KazariEX!

Bug Fixes

  • language-core: revert #4902
  • language-core: inject as assertion of useCssModule into correct location (#4952) - Thanks to @KazariEX!
  • language-core: hold prev track id correctly (#4961) - Thanks to @KazariEX!
  • language-core: generate style modules type as needed (#4953) - Thanks to @KazariEX!
  • language-core: reference global types file with relative path (#4966)

Refactors

  • vscode: rewrite with Reactive VSCode (#4945) - Thanks to @KazariEX, @KermanX!

2.1.8 official, 2.1.9 insiders (2024-10-26)

Features

  • vscode: reactions visualization now identifies more use cases Insiders
  • language-core: auto infer $el type (#4805) - Thanks to @KazariEX!
  • language-core: typed directive arg and modifiers (#4813) - Thanks to @KazariEX!

Bug Fixes

  • language-core: avoid generic type loss due to destructured props (#4821) - Thanks to @KazariEX!
  • language-core: handle v-for with v-once correctly (#4830) - Thanks to @KazariEX!
  • language-core: avoid generating zero-length mappings for interpolation edges
  • language-core: don't assign this to __VLS_ctx (#4845) - Thanks to @KazariEX!
  • language-service: initialize scope with null prototype object (#4855) - Thanks to @KazariEX!
  • language-core: inlay hints for <component :is> and <slot :name> (#4661) - Thanks to @KazariEX, @so1ve!
  • language-core: should error when invalid syntax at script end (#4692) - Thanks to @KazariEX!
  • language-core: correct type inference of defineModel & defineEmits in generic (#4823) - Thanks to @KazariEX!
  • language-core: inject generics of useTemplateRef into correct location (#4829) - Thanks to @KazariEX!
  • language-core: prevent the generation of generics in JS (#4836) - Thanks to @KazariEX, @zhiyuanzmj!
  • language-core: generate correct reference for v-on on <slot> (#4864) - Thanks to @KazariEX!
  • language-core: match classname before ) (#4887) - Thanks to @KazariEX!
  • language-service: handle internal item key with leading slash correctly (#4894) - Thanks to @KazariEX!
  • language-core: correctly obtain the index of style modules (#4907) - Thanks to @KazariEX!
  • language-core: refer absolute path of global types file (#4924) - Thanks to @depressedX!
  • component-meta: error when signatures is undefined (#4930) - Thanks to @Hannesrasmussen!
  • language-core: intersect props of generic component with attrs (#4886) - Thanks to @KazariEX!
  • language-core: fix incorrect syntax for class component virtual code
  • language-core: generate value instead of model name into tuple (#4892) - Thanks to @KazariEX!
  • language-core: infer template ref's type of native elements with v-for correctly (#4933) - Thanks to @KazariEX!
  • language-core: should wrap item with Reactive on v-for (#4902) - Thanks to @KazariEX!

Performance

  • language-service: find destructured props only with enabled setting (#4815) - Thanks to @KazariEX!

Other Changes

  • Upgraded Volar from v2.4.1 to v2.4.8:
    • Changing vue files causes internal state to desync in Sublime Text (#4909) - Thanks to @rchl!
    • The syntax highlighting is not applied when destructuring props (#4811)
  • chore: fix nvim config snippet in README (#4881) - Thanks to @LiamEderzeel!
  • chore: remove side effects (#4871) - Thanks to @vikingair!
  • chore: remove importsNotUsedAsValues (#4897) - Thanks to @KazariEX!
  • chore(vscode): switch to "module": "CommonJS" (#4944) - Thanks to @KazariEX!
  • test: fix incorrect default value (#4934) - Thanks to @jh-leong!
  • test(tsc): add a test case for class component

2.1.6 official, 2.1.7 insiders (2024-09-05)

Features

  • language-plugin-pug: support initial indentation (#4774)
  • language-service: JSDoc display support when typing props on component template (#4796) - Thanks to @joy-yu!
  • language-core: typed directives in template (#4807) - Thanks to @KazariEX!

Bug Fixes

  • language-core: wrap template refs with unref in interpolation (#4777) - Thanks to @KazariEX!
  • language-core: ensure to pass tsc on inline global types (#4782) - Thanks to @KazariEX!
  • language-core: infer native template ref as build-in element interface (#4786) - Thanks to @KazariEX!
  • language-core: generate __VLS_StyleModules after template (#4790) - Thanks to @KazariEX!
  • language-core: make expose of non-generic template ref required (#4795) - Thanks to @zhiyuanzmj!
  • language-core: avoid using __typeProps with runtime props (#4800) - Thanks to @KazariEX!
  • language-core: ignore unknown attrs error when strictTemplates is not enabled (#4785)
  • language-core: prevent append globalTypes to virtual file (#4806) - Thanks to @zhiyuanzmj!
  • language-core: prevent type error when use defineSlots and non-template (#4809) - Thanks to @zhiyuanzmj!
  • typescript-plugin: disconnect socket on error (#4672)

Performance

  • language-core: don't emit event lnlayhint when content is none (#4776) - Thanks to @Gehbt!

Other Changes

  • language-core: split __VLS_templateResult (#4781) - Thanks to @KazariEX!
  • language-core: wrap template virtual code into a function (#4784)
  • language-core: move templateRef into composables (#4791) - Thanks to @KazariEX!
  • language-core: generate global types for the first parsed Vue component if cannot write global types file

Tests

  • language-server: add renaming case for template ref() (#4794) - Thanks to @KazariEX!
  • tsc: update to Vue 3.5 (#4725)
  • tsc: unknown props on non-strict generic component (#4792)

2.1.4 official, 2.1.5 insiders (2024-09-01)

Features

  • typescript-plugin, language-server: generate global types file into node_modules/.vue-global-types (#4752) - Thanks to @KazariEX!
  • language-core: navigation support for template-ref (#4726) - Thanks to @KazariEX!

Bug Fixes

  • language-core, typescript-plugin, language-server: apply snake case on globalTypes filename (#4749) - Thanks to @KazariEX!
  • language-core: hoist $refs type (#4763)
  • language-core: disable lib check on global types file (#4767) - Thanks to @KazariEX!
  • language-core: prevent circular reference of templateRef (#4768) - Thanks to @zhiyuanzmj!
  • language-core: using interface merging for GlobalComponents
  • language-core: fallthroughAttributes causes global components to be self-referential (#4761)
  • language-core: auto-completion for the last line of template block (#4771) - Thanks to @zhiyuanzmj!
  • language-core: update ast correctly on repeated v-for modifications (#4772) - Thanks to @KazariEX!
  • language-server: leaking named pipes (#4672)
  • typescript-plugin: compatible with Yarn PnP (#4751)
  • vscode: whitelist ms-dynamics-smb.al extension for Vue Hybrid Mode. (#4765) - Thanks to @kyleweishaupt!

Other Changes

  • Add optional "dependencies" textarea to issue template (#4758) - Thanks to @davidmatter!

2.1.2 official, 2.1.3 insiders (2024-08-29)

Bug Fixes

  • language-core, typescript-plugin, language-server: write globalTypes into dist for correct export (#4740) (#4737) (#4738) (#4739) - Thanks to @KazariEX!
  • language-core: don't default vueCompilerOptions.lib to @vue/runtime-dom for Vue 2

2.1.0 official, 2.1.1 insiders (2024-08-29)

Features

  • language-core: inlay hints for destructured props (#4634) - Thanks to @KazariEX!
  • language-core: typed fallthrough attributes (#4103) - Thanks to @A5rocks, @so1ve!
  • language-core: document links for classname within :class (#4642) - Thanks to @KazariEX!
  • language-core: auto infer type for $refs & useTemplateRef (#4644) - Thanks to @zhiyuanzmj!
  • language-core: type support for CSS Modules API (#4674) - Thanks to @KazariEX!
  • language-service: better completion for directives (#4640) - Thanks to @KazariEX!
  • language-service: better sorting & filtering of completion (#4671) - Thanks to @KazariEX!
  • language-service: add style scoped and module completion (#4705) - Thanks to @runyasak!

Bug Fixes

  • vscode: type of vue.server.hybridMode config (#4703) - Thanks to @KermanX!
  • language-core: dependency on vulnerable version of vue-template-compiler (#4613) - Thanks to @yyx990803!
  • language-core: support parse method to access ctx var in object (#4609) - Thanks to @linghaoSu!
  • language-core: escape \ and ' in className avoid type error (#4619) - Thanks to @linghaoSu!
  • language-core: semantic highlight of the end tag of namespaced elements (#4623) - Thanks to @KermanX!
  • language-core: nullable modelvalues (#4648) - Thanks to @davidmatter!
  • language-core: should try casting dynamic slot name into constant (#4669) - Thanks to @KermanX!
  • language-core: local name support for prop using runtime api (#4650) - Thanks to @KazariEX!
  • language-core: optimize matching of scoped class and v-bind() (#4679) - Thanks to @KazariEX!
  • language-core: should preserve generic info in directive (#4686) - Thanks to @KermanX!
  • language-core: generate ref as identifier instead of interpolation (#4688) - Thanks to @KazariEX!
  • language-core: correct type narrowing from script to template (#4689) - Thanks to @KazariEX!
  • language-core: should camelize prop name in experimentalModelPropName (#4691) - Thanks to @KermanX!
  • language-core: drop duplicate hints on incomplete tag (#4696) - Thanks to @KazariEX!
  • language-core: correct inlay hints for v-bind with modifier (#4721) - Thanks to @KazariEX!
  • language-core: transform range of file-md correctly (#4735) - Thanks to @KazariEX!
  • language-plugin-pug: should cache proxyed object (#4626) - Thanks to @KermanX!
  • language-plugin-pug: compute offset correctly of pug class (#4652) - Thanks to @KazariEX!
  • language-service: completion documentations for binding attributes (#4667) - Thanks to @KazariEX!
  • language-service: avoid converting internal id of special tags (#4643) - Thanks to @KazariEX!
  • language-service: reinstate the completion for modifiers (#4639) - Thanks to @KazariEX!
  • language-service: consistent data from provider for sfc completion (#4645) - Thanks to @KazariEX!
  • typescript-plugin: unknown request type warning (#4715) - Thanks to @davidmatter!

Refactors

  • language-core: extract SFC root tags to separate virtual code
  • language-core: removed __hint trick from codegen
  • language-core: rewrite a part of confusing codegen code
  • language-core: reduce virtual code generated by component tags (#4714)
  • language-core: do not wrap template virtual code with function (#4731)
  • language-core: write real files to FS for shared global types (#4736)
  • component-meta: remove deprecated createComponentMetaCheckerByJsonConfig, createComponentMetaChecker api

Other Changes

  • Upgraded Volar from v2.4.0-alpha.18 to v2.4.1:
    • Ensure unopened files are synced to project (#4711) (#4632) - Thanks to @davidmatter!
  • ci: integrated pkg.pr.new
  • tsc: test all typecheck cases in one tsconfig (#4723)
  • tsc: add test for TS-next (#4724)
  • tsc: add tests for for #3779, #3820 (#3838) - Thanks to @so1ve!
  • vscode: add grammar test (#3861) - Thanks to @so1ve!
  • language-service: migrate tests to @volar/test-utils (#4719)
  • language-core: add scoped classes renaming case (#4727) - Thanks to @KazariEX!

2.0.28 official, 2.0.29 insiders (2024-07-22)

Features

  • vscode: focus mode Insiders (https://github.com/volarjs/insiders/pull/24)
  • language-core: Plugin API 2.1
    • Added plugin hooks: getLanguageId, isValidFile, parseSFC2
    • Improve backward compatibility (#4585) - Thanks @zhiyuanzmj
  • language-core: support default prop when using __typeProps (#4602) - Thanks @zhiyuanzmj
  • language-core: improve nested plugins (#4581) - Thanks @zhiyuanzmj
  • language-service: remove v-bind code action (#4601)
  • vscode: add empty pattern to codeblock attributes scope (#4590) - Thanks @KermanX

Bug Fixes

  • tsc: errors should be thrown instead of being console.log printed
  • language-server: observe named pipes changes when server startup (#4292)
  • language-core: infer define model type from options type (#4545) - Thanks @davidmatter
  • language-core: type-checking not working with hyphen in slot name with JS (#4478) - Thanks @KermanX
  • language-core: add type check for v-model without argument (#4598) - Thanks @zhiyuanzmj
  • language-service: filter special tags (#4596) - Thanks @so1ve
  • typescript-plugin: improve named pipes reliability (#4603)
  • language-core: property access is incorrectly identified as compound expression (#4600)
  • language-core: fix compatibility of generic component virtual code with TS 5.5 (#4577)
  • tsc: TS4082 not reported for functional component (#4569)

Other Changes

  • Upgraded Volar from v2.4.0-alpha.15 to v2.4.0-alpha.18:
    • Fix VS Code IntelliSense will be lost in new created files (#4424)
    • Add workspace symbols support in Hybrid Mode (#4595)
    • Add workspace addMissingImports action support in Hybrid Mode (#4586)
  • Fix yarn 4 compatibility (#4587)
  • Add vue vine to hybrid mode compatible list (#4543) - Thanks @so1ve
  • Add global components prop validation test (#4542) - Thanks @davidmatter

2.0.26 official, 2.0.27 insiders (2024-07-04)

Features

  • language-service: Support auto-complete for more preprocessing languages.
  • language-core: Improve type compatibility with Vue 3.5. (#4474) - Thanks, @zhiyuanzmj.

Bug Fixes

  • vscode: Fix insider version display condition. Insiders
  • language-service: Fix vue-twoslash-queries not working in LSP mode.
  • language-service: Add null handling for script tag completion items. (#4520)
  • language-core: Fix any in templates if the first checked file was not root. (#4526) - Thanks, @daniluk4000.

Other Changes

  • Upgraded Volar from v2.4.0-alpha.2 to v2.4.0-alpha.15:
    • Fixed an issue where, when Hybrid Mode is disabled, TS support for Vue files not included in tsconfig may be missing.
    • Improved the consistency of vue-tsc and tsc behavior. (#3526)
    • Fixed the --clean flag support for vue-tsc.
  • Updated the high-level overview mermaid diagram.
  • Added 'expected' and 'actually happening' sections to the bug report template. (#4515) - Thanks, @davidmatter.

2.0.24 official, 2.0.25 insiders (2024-06-30)

Features

  • vscode: pop message box if new insiders version available insiders
  • vscode: if insiders versions information failed to fetch from GitHub, try to fetch from CDN insiders
  • language-service: better sfc-level tag name completion (#4506) - Thanks @KermanX

Bug Fixes

  • tsc: update required volar version (#4498) - Thanks @davidmatter
  • tsc: bump peer typescript version (#4513) - Thanks @so1ve

Refactors

  • language-server: reorganize the code structure (#4507)

Other Changes

  • Upgrade Volar from v2.3.1 to v2.4.0-alpha.2.
  • docs: add nvim-cmp integration (#4463) - Thanks @RayGuo-ergou
  • docs: update mermaid
  • The following extensions have been added to Hybrid Mode’s compatibility whitelist (#4206):
    • p42ai.refactor
    • nrwl.angular-console
    • styled-components.vscode-styled-components
    • Divlo.vscode-styled-jsx-languageserver

2.1.0-insiders.14 (2024-06-22)

Download Pages: GitHub Releases, 爱发电电圈

Other Changes

2.0.22 (2024-06-22)

Bug Fixes

  • vscode: directive syntax highlighting (#4482) - Thanks @KermanX
  • language-core: move declare defineProp out of function scope (#4454) - Thanks @zhiyuanzmj
  • language-core: compatible with TS 5.5 (#4492)

Other Changes

  • Upgrade Volar from v2.3.0-alpha.14 to v2.3.1.
    • Error tolerant to contentChanges length (#4457)
  • Add feature request template (#4490) - Thanks @so1ve
  • docs: fix wrong links in CHANGELOG.md (#4475) - Thanks @KermanX

2.1.0-insiders.13 (2024-06-08)

Download Pages: GitHub Releases, 爱发电电圈

Other Changes

2.0.21 (2024-06-08)

Bug Fixes

  • fix(typescript-plugin): TS plugin cause type checking broken in .ts files (#4453)

2.1.0-insiders.12 (2024-06-08)

Download Pages: GitHub Releases, 爱发电电圈

Other Changes

2.0.20 (2024-06-08)

Features

  • feat(language-service): add localization support for zh-hk/zh-tw
  • feat(vscode): enable syntax highlighting of cue code blocks in MDX (#4425) - Thanks @remcohaszing

Bug Fixes

  • fix(vscode): fix "as"/"instanceof" expressions syntax highlight (#4412)
  • fix(language-core): ForIteratorExpression's returns property may be undefined (#4418) - Thanks @so1ve
  • fix(language-core): use defineEmits calls instead of type infer (#4430) - Thanks @zhiyuanzmj
  • fix(tsc): log catched errors to console (#4451) - Thanks @mik3ybark3r
  • fix(typescript-plugin): TS not working in template when tsconfig missing (#4452)
  • fix(language-core): use type infer instead of await import (#4436) - Thanks @zhiyuanzmj
  • feat(language-core): ignore type error for new functional component (#4445) - Thanks @zhiyuanzmj
  • fix(language-core): ignore type error for possible component name (#4446) - Thanks @zhiyuanzmj
  • fix(language-service): filter internal props in template completion
  • fix(language-service): sort component props in template completion
  • fix(language-core): duplicate completion appears at the beginning of script setup block

Other Changes

  • Upgrade Volar from v2.2.4 to v2.3.0-alpha.14.
    • LSP server performance improved
    • Language server now responds with the exact server capabilities for initialization requests
    • Auto insertion requests can now exit early in the language client
  • The following extensions have been added to Hybrid Mode’s compatibility whitelist:
    • kimuson.ts-type-expand - Thanks @zcf0508

2.1.0-insiders.11 (2024-05-16)

Download Pages: GitHub Releases, 爱发电电圈

Other Changes

2.0.19 (2024-05-16)

Bug Fixes

  • language-core: property 'xyz' does not exist on type 'abc' when using v-for (#4386)
  • language-core: avoid report error when events do not accept parameters (#4387)
  • language-core: inline dynamic event handlers should not expect commas (#4387)

2.1.0-insiders.10 (2024-05-15)

Download Pages: GitHub Releases, 爱发电电圈

Other Changes

2.0.18 (2024-05-15)

Features

  • language-core: report unknown events when strictTemplates is enabled (#3718)
  • language-core: add compileSFCScript plugin hook (#3200)
  • vscode: add coffeescript syntax highlight support

Bug Fixes

  • language-core: fix event handler type for hyphen-case event names
  • language-core: allow binding multiple events with the same name (#4369)
  • language-core: variable used in key appears as unused in v-for template tag (#329) (#3421)
  • language-core: generics with slots don't work with Vue 2.7 (#3241)
  • language-core: template language of .md files should be markdown (#4299)
  • language-core: no template class links when experimentalResolveStyleCssClasses is set to always (#4379)

Other Changes

  • Upgrade Volar from v2.2.2 to v2.2.4.
    • Fixed a few URI conversion issues
    • fix(typescript): empty items list should be valid completion result (#4368)
    • fix(typescript): path completion not working for meta files
  • Upgrade Volar services from v0.0.44 to v0.0.45.
  • The following extensions have been added to Hybrid Mode’s compatibility whitelist:
    • miaonster.vscode-tsx-arrow-definition
    • runem.lit-plugin

2.1.0-insiders.9 (2024-05-10)

Download Pages: GitHub Releases, 爱发电电圈

Other Changes

2.0.17 (2024-05-10)

Features

  • language-core: add JSDoc support for component (#2377)
  • language-core: add JSDoc support for script setup binding variables (#3409)
  • language-core: add class component support (#4354)
  • language-service: re-support scoped class links in template (#4357)
  • typescript-plugin: create script setup block when auto import if needed
  • typescript-plugin: add JSDoc support for events in template (#4365)
  • component-meta: add JSDoc tags support for events
  • language-core: support defineOptions (#4362) - Thanks @zhiyuanzmj

Bug Fixes

  • language-core: hover not working for intrinsic element event name
  • language-core: showing false declared but not used errors for functions used in v-on="{}" (#4333)
  • language-core: fix nameless event expression formatting
  • language-core: types imported in the <script setup> should not be used as a variable in template (#4353)
  • language-core: renaming classname within scoped not working (#4355)
  • language-core: <style> completions and html custom data completions not provided in some cases (#4092)
  • language-core: improve code action edits mapping fault tolerance
  • language-core: support defineModel for generic component (#4345) - Thanks @zhiyuanzmj
  • language-service: completion cannot trigger in SFC root
  • component-meta: forceUseTs options not working

Other Changes

  • Upgrade Volar from v2.2.0 to v2.2.2.
  • Upgrade Volar services from v0.0.42 to v0.0.44.
  • The following extensions have been added to Hybrid Mode’s compatibility whitelist:
    • mxsdev.typescript-explorer
  • Deprecated vueCompilerOptions.experimentalUseElementAccessInTemplate
  • Specify packageManager (#4358) - Thanks @so1ve
  • docs: emoved possibly redundant duplicate reference (#4348) - Thanks @artshade
  • language-service: temporarily remove references codeLens (#4364)

2.1.0-insiders.8 (2024/5/1)

Download Pages: GitHub Releases, 爱发电电圈

Other Changes

2.0.16 (2024/5/1)

Bug Fixes

  • language-core: virtual document language ID is not updated when changing SFC style block lang
  • language-core: correct logic for defineSlots destructuring (#4326) - Thanks @zhiyuanzmj
  • language-core: ObjectDirective does not work with defineSlots (#4327)
  • language-service: emmet not working in postcss style block (https://github.com/volarjs/volar.js/issues/169)

Other Changes

  • Upgrade to Volar 2.2
  • language-core: export VueEmbeddedCode (#4265) - Thanks @zhiyuanzmj
  • typescript-plugin: expose FileRegistry to project.program (#3963) - Thanks @zcf0508
  • vscode: remove outdated formatters section (#4243) - Thanks @BBboy01

2.1.0-insiders.7 (2024/4/30)

Download Pages: GitHub Releases, 爱发电电圈

Other Changes

2.0.15 (2024/4/30)

Features

  • Redesign additional extensions, VitePress, PetiteVue support (#4321)
    • Fix custom file extensions not working in Hybrid Mode (#4251)
  • vscode: prompt when Hybrid Mode is explicitly enabled but known incompatible extensions are installed
  • language-core: use internal options for directly exposing user props/emits types (vuejs/core#10801)
  • language-core: support defineSlots destructuring (#4312) - Thanks @zhiyuanzmj

Bug Fixes

  • vscode: when enabled VitePress support, extension not activated when opening markdown files
  • language-core: auto-complete not working in v-bind

Performance

  • language-service: emmet completion should not be blocked by TS type evaluation (#4298)
  • language-core: simplify virtual code for intrinsic elements

Other Changes

  • Upgrade Volar from v2.2.0-alpha.10 to v2.2.0-alpha.12:
    • Avoid extension crash when workspace TSDK does not exist
    • Fix template variables cannot be renamed at the first character in Hybrid Mode (#4297)
    • Fix template virtual code mapping is misaligned in Windows in Hybrid Mode (#4297)
  • Add svelte.svelte-vscode (>=108.4.0) to Hybrid Mode compatibility whitelist (sveltejs/language-tools#2317)
  • component-meta: convert source code to TS
  • language-core: export allCodeFeatures (#4320) - Thanks @zhiyuanzmj

2.1.0-insiders.6 (2024/4/25)

Download Pages: GitHub Releases, 爱发电电圈

Features

  • Check for Insiders version updates on startup
  • Support reactions visualization for TS document

Bug Fixes

  • Fixed some incorrect situations in reactions analysis

Other Changes

2.1.0-insiders.5 (2024/4/22)

Download Pages: GitHub Releases, 爱发电电圈

Other Changes

2.0.14 (2024/4/22)

Features

  • language-core: added search html tag (#4280) - Thanks @audunhov
  • language-service: added Russian, Czech localization support

Bug Fixes

  • language-core: @ts-ignore not working for slots (#4263)
  • language-core: reduce unnecessary props mapping (#4284)
  • tsc: improve regexp performance for global type removal (#4260) - Thanks @blake-newman

Other Changes

  • Upgrade Volar from v2.2.0-alpha.8 to v2.2.0-alpha.10 to fix some issues:
    • Parameter Hints not working in Hybrid Mode (#3948)
    • TS server to crash repeatedly when include large js file (#4278)
    • Randomly causing errors when renaming / find definitions in Hybrid Mode (#4257, #4281, #4282)
    • Unable to resolve Nuxt UI component type
    • Incomplete results for find refernces in Hybrid Mode
  • The following extensions have been added to Hybrid Mode’s compatibility whitelist:
    • bierner.lit-html
    • denoland.vscode-deno (When deno.enable is false)
    • jenkey2011.string-highlight
  • language-core: improve maintainability of codegen (#4276)
    • Deprecated vueCompilerOptions.nativeTags, now respects the nodeType property of template AST node.
    • Dynamic component types without v-bind:is are no longer supported.

2.0.13 (2024/4/12)

Performance

  • tsc: re-introduce global types removal check (#4245)

Other Changes

  • Upgrade Volar from v2.2.0-alpha.7 to v2.2.0-alpha.8 for a vue-tsc performance issue fixes (#4238)

2.1.0-insiders.4 (2024/4/10)

Download Pages: GitHub Releases, 爱发电电圈

Other Changes

2.0.12 (2024/4/10)

Bug Fixes

  • vscode: restart tsserver before restart vue language server (#4242)
  • tsc: remove exit early condition
  • typescript-plugin: handle named pipe server timeout
  • language-core: @vue-ignore not working for fragment v-if/v-for nodes (#4232)

Other Changes

  • Upgrade Volar from v2.2.0-alpha.6 to v2.2.0-alpha.7 for a typescript plugin bug fixes

2.1.0-insiders.3 (2024/4/7)

Download Pages: GitHub Releases, 爱发电电圈

Features

  • vscode: add vue.editor.reactionsVisualization setting (#8)

Other Changes

2.0.11 (2024/4/7)

Features

  • vscode: support for enabling/disabling typescript plugin (#4226)
    • Added typeScriptPluginOnly option for vue.server.hybridMode setting.
    • When Hybrid Mode is disabled, the Vue TypeScript Plugin will be disabled by default.
  • vscode: support for vue.format.wrapAttributes setting (#4212)
  • vscode: add vue.codeActions.askNewComponentName setting (#4217)

Bug Fixes

  • vscode: Find File References not working when hybrid mode is disabled (#4221)
  • language-core: type narrowing not working for inline event handlers (#4209)
  • language-core: @vue-ignore, @vue-expect-error not working for interpolations
  • language-core: improve reliability for @vue-ignore, @vue-expect-error (#4203)
  • language-core: duplicated items in suggestion list for prop values (#3922)
  • language-server: vueCompilerOptions not working with hybrid mode (#4211) (#3959)

Other Changes

  • Upgrade Volar from v2.2.0-alpha.5 to v2.2.0-alpha.6 for a vue-tsc bug fixes
  • test: add test for #4203 (#4207) - Thanks @tinco

2.1.0-insiders.2 (2024/4/4)

Download Pages: GitHub Releases, 爱发电电圈

Features

Other Changes

2.0.10 (2024/4/4)

Features

  • vscode: enable vue.updateImportsOnFileMove.enabled by default (#3646)
  • vscode: re-add restart server command (#4174)
  • vscode: automatically enable Hybrid Mode if possible (#4206)
  • component-meta: add typing resolution for defineModel modifiers (#4175) - Thanks @stafyniaksacha
  • language-service: drag and drop import respects tsconfig path aliases (#4184)
  • language-service: supports auto insertion of multiple cursors (#4140)

Bug Fixes

  • language-server: additionalExtensions option not working for inferred project
  • language-core: avoid interpolation indentation affecting each other
  • language-core: generate each interpolation into separate virtual code (#4165)
  • language-service: ignore html wrapAttributes format settings for vue document (#3987)
  • vscode: remove duplicate ts version status (#4167)
  • language-server: .html, .md file language id incorrect
  • typescript-plugin: formatting settings not working for ts completion
  • tsc: remove fake global types holder for composite projects compatibility (#4196) - Thanks @blake-newman

Performance

  • language-core: cache canonical root file names with string Set

Other Changes

  • Upgrade Volar from v2.1.3 to v2.2.0-alpha.5 for a few bug fixes and performance improves, please refer to CHANGELOG.md for details.
  • vscode: update required VSCode version to ^1.88.0
  • docs: update readme with neovim lspconfig setup (#4134) - Thanks @RayGuo-ergou
  • language-core: split inline css codegen into separate plugin
  • language-core: move global types codegen into separate script
  • language-core: resolve virtual code features before push code
  • test: added simple tests for vue-tsc and custom SFC extensions. (#4181) - Thanks @cabal95

2.1.0-insiders.1

Download Pages: GitHub Releases, 爱发电电圈

Features

Reactions visualization (PR: https://github.com/volarjs/insiders/pull/5)

Template interpolation decorators (PR: https://github.com/volarjs/insiders/pull/4)

To disable this feature, uncheck vue.editor.templateInterpolationDecorators in VSCode settings.

Other Changes

2.0.7 (2024/3/20)

[!NOTE] Hybrid Mode is now disabled by default, you need to enable vue.server.hybridMode in settings to enable it explicitly.

Features

  • language-server: reintroducing full TS support and disable Hybrid Mode by default (#4119)
  • vscode: check outdated @vue/language-plugin-pug in doctor
  • vscode: significantly reduces the status bar space occupied

Bug Fixes

  • vscode: vueCompilerOptions no longer prompts for deprecated options
  • component-meta: defineSlots allows empty params (#4093) - thanks @Evertvdw
  • typescript-plugin: fault tolerance for named pipe servers json file (#4075) - thanks @Simon-He95
  • language-core: generate defineModel emits type on-demand (#4052) - thanks @so1ve
  • language-core: special treatment for number elements inside v-for (#3859) - thanks @so1ve
  • language-plugin-pug: semantic tokens mapping failed (#4070)

Other Changes

  • language-service update neovim lsp set up info (#4085) - thanks @CofCat456
  • lint: add tsl linter and auto fix workflow (#4100)
  • vscode: remove embedded language IDs (#4081) - thanks @remcohaszing

2.0.6 (2024/3/7)

[!IMPORTANT] If the TypeScript language server crashes since 2.0, please try using VSCode Insiders and install JavaScript and TypeScript Nightly, or temporarily downgrade to 1.8.27.\ Issue: https://github.com/vuejs/language-tools/issues/3962

If false positive errors occur, please try disabling unrelated extensions in the Vue workspace.\ Issue: https://github.com/vuejs/language-tools/issues/3942

Fixes

  • language-core: use local variables in v-bind shorthand (#4017) - thanks @so1ve
  • language-core: sfc folding end position failed to mapping (#4038) - thanks @so1ve
  • language-service: remove extraLiners option for formatting (#3943)
  • language-service: bump volar-service-typescript for fix jsx formatting (#3949)
  • language-service: bump @volar/typescript for fix 2.0.5 auto-complete performance regression (#4024)

Other Changes

  • vscode: rename vue.inlayHints.vbindShorthand setting to vue.inlayHints.vBindShorthand (#3995) - thanks @l4dybird

2.0.5 (2024/3/5)

Features

  • language-core: support v-bind shorthand (#3990) - thanks @so1ve
  • language-service: support inlay hints for v-bind shorthand (#3990) - thanks @so1ve
  • vscode: prompt to disable Svelte extension in Vue workspace to avoid conflicts

Fixes

  • typescript-plugin: fault tolerance for named pipe server data
  • language-core: avoid globalTypesHolder being specified from a node_modules file (#3990)
  • language-core: fault tolerance for plugin creation
  • language-plugin-pug: failed to load due to an invalid require path (#3930)
  • typescript-plugin: custom extensions do not work (#3977)
  • language-service: html custom data not working (#3975)

Other Changes

  • typescript-plugin add README (#3974) - thanks @WhyNotHugo
  • component-meta update demo (#3994) - thanks @zzfn

2.0.4 (2024/3/4)

Features

  • vscode: report requires TSDK version in doctor

Fixes

  • typescript-plugin: JSON parsing error when server data length > 8192 (#3961)

2.0.3 (2024/3/3)

Features

  • vscode: identify #3942 in doctor

Fixes

  • vscode: compatible with VSCode 1.87.0
  • vscode: search "TypeScript and JavaScript Language Features" with id (#3932)
  • typescript-plugin: more reliable connection to named pipe server (#3941)

Refactors

  • language-service: dependency injection typescript plugin (#3994)

2.0.2 (2024/3/2)

Fixes

  • vscode: fix random Cannot access 'i' before initialization errors
  • typescript-plugin: vue-tsp-table.json path is invalid in windows

2.0.1 (2024/3/2)

Fixes

  • npm release does not include files (#3919)

2.0.0 (2024/3/2)

Features

  • Hybrid Mode
    • Takeover Mode has been deprecated. The extension now has the same performance as Takeover Mode by default.
    • TypeScript language support has been moved from Vue language server to TypeScript plugin (#3788)
    • Integrated all TypeScript editor features
    • Warn when internal TypeScript extension is disabled or "TypeScript Vue Plugin" extension is installed
    • Migrated to named pipe server using TypeScript LanguageService (#3908, #3916)
    • typescript.tsdk duplicate registration errors are no longer reported
    • language-service: reimplemented component tag semantic tokens in TypeScript plugin (#3915)
    • language-service: reimplemented auto-import patching in TypeScript plugin (#3917)
    • language-service: ensured tsserver readiness when requesting auto insert .value (#3914)
  • Upgraded to Volar 2.0 and 2.1 (#3736, #3906)
    • vscode: extension now compatible with Volar Labs v2
    • vscode: removed volar.format.initialIndent option, replaced with 3 new options:
      • vue.format.template.initialIndent
      • vue.format.script.initialIndent
      • vue.format.style.initialIndent
    • language-server: ignoreTriggerCharacters, reverseConfigFilePriority and fullCompletionList options are no longer supported
  • Supported Component Drag and Drop Import (#3692)
  • tsc: supported vueCompilerOptions.extensions option (#3800)
  • language-core: achieved compatibility with Vue 3.4 type changes (#3860)

Fixes

  • vscode: prevented reading undefined properties in non-VS Code editors (#3836)
  • vscode: prevented extension activation with TS files
  • vscode: corrected trace server ID
  • language-core: implemented emit codegen for defineModel (#3895)
  • language-core: addressed transition type incompatibility with Vue 2.7.16 (#3882)
  • language-core: excluded vue directive syntax injection in Angular bindings (#3891)
  • component-type-helpers: resolved inference issue for Vue 3.4.20 functional component

Refactors

  • Renamed "Volar Language Features (Volar)" extension to "Vue - Official"
  • "TypeScript Vue Plugin" extension has been deprecated
  • Relocated source scripts from src to lib (#3913)
  • Replaced typescript/lib/tsserverlibrary imports with typescript
  • language-core: implemented codegen based on Generator (#3778)
  • language-core: generated global types in a single virtual file (#3803)
  • language-core: implemented plugin API v2 (#3918)
  • language-core: ignored nested codeblocks in markdown file (#3839)
  • language-core: removed experimentalAdditionalLanguageModules and deprecated APIs (#3907)
  • language-service: made service plugins independent of project context
  • language-server: volar.config.js is no longer supported
  • component-meta: renamed APIs
  • typescript-plugin: renamed package to @vue/typescript-plugin (#3910)
  • tsc: rewritten based on first-party TS API and no longer relies on TypeScript module (#3795)
  • tsc: deprecated hooks API (#3793)

1.8.27 (2023/12/26)

1.8.26 (2023/12/22)

1.8.25 (2023/12/6)

  • fix(component-type-helpers): correct type inference for FunctionalComponent (#3766) - thanks @pinguet62
  • fix(language-core): camelize props for dynamic component (#3774) - thanks @so1ve

1.8.24 (2023/11/29)

  • refactor(component-type-helpers): vue 2 types now move to vue-component-type-helpers/vue2 (#3404)
  • feat(language-core): expose defineEmits's arg and typeArg in parseScriptSetupRanges (#3710) - thanks @so1ve
  • fix(language-core): strictTemplates fails to report unknown components (#3539)
  • fix(language-core): script syntax breaks if script options does not have trailing comma (#3755)
  • fix(language-core): script syntax breaks if options are enclosed in parentheses (#3756)
  • fix(language-core): allow using as with multiple <script> blocks (#3733) - thanks @so1ve
  • fix(language-core): component type narrowing not working in template
  • fix(language-core): incremental insertion incorrect if input <script setup> tag above <script> tag (#3743) - thanks @so1ve
  • fix(language-core): don't camelize attributes for plain elements (#3750) - thanks @rchl
  • fix(vscode): syntax highlighting for .prop shorthand (#3729) - thanks @so1ve

Volar.js 1.11.1 updates:

1.8.22 (2023/10/27)

  • fix: experimentalResolveStyleCssClasses: "always" not working (#3689) - thanks @maIIady
  • fix: __VLS_Prettify missing for dts build when uses withDefaults() (#3691)

1.8.21 (2023/10/25)

Volar.js 1.10.5 updates:

1.8.20 (2023/10/23)

  • feat: added Italian integration documentation
  • feat: enforce v-bind argument to be an object (#3666) - thanks @so1ve
  • fix: JSDoc comments not emitted when using type-only defineProps macro (#3645)
  • fix: autocomplete for directive comments without a space (#3665) - thanks @so1ve
  • fix: fix slot type when using a interpolation in template string (#3657) - thanks @so1ve
  • fix: add autocomplete for v-slot parameters (#3661) - thanks @so1ve
  • fix: export correct SlotsPropertyName for vue2 (#3669) - thanks @zhiyuanzmj
  • fix(types): infer discriminated unions in child component props (#3672) - thanks @davidmatter
  • fix: access to slots directly (#3671) - thanks @so1ve
  • fix: autocomplete not working for $event (#3668) - thanks @so1ve
  • perf: remove duplicate virtual code for native tags
  • chore: rename volar to vue in diagnostics (#3667) - thanks @so1ve
  • chore: publish ts plugin to open-vsx (#3589) - thanks @brc-dd

1.8.19 (2023/10/11)

  • feat: no longer checking save time (#3650)
  • fix(ts-plugin): tsserver doesnt have updated list of external files when new vue files are added (required TS 5.3) (#3555) (#3649)
  • fix: false positive error when accessing local variables in defineProps parameter (#3643) (#3644) - thanks @so1ve

1.8.18 (2023/10/9)

Upgrade required VSCode version to 1.82.0 (#3642)

1.8.17 (2023/10/9)

  • fix: extension cannot run on vscode versions lower than 1.82.0 (#3631) (#3635)
  • fix: make defineProps work when reading a property from defineProps() (#3633) - thanks @so1ve
  • fix: avoid reading props from __VLS_ctx (#3636) - thanks @so1ve
  • fix: regression with defineExpose (#3639) - thanks @so1ve

1.8.16 (2023/10/7)

  • fix: merge default export's properties properly (#3600) - thanks @so1ve
  • fix: accurate exposed type with refs in generic component (#3604) - thanks @so1ve
  • fix: make emits type correct when user assigns emit function a custom name (#3624) - thanks @so1ve

Volar.js 1.10.3 updates:

1.8.15 (2023/9/26)

  • fix: props type missing in JS component context (#3592)
  • fix: ignore $emit return type for Vue 2 (#3596)

1.8.14 (2023/9/26)

  • feat: defineEmit now able to infer event types with more than 4 overloads (#3379) (#1855)
  • feat: more accurately distinguish component internal context and external context types (#3591) (#3517) - thanks @so1ve
  • fix: don't import alias macros (#3576) - thanks @sxzz
  • fix: make generic components' emit type compactible with Vue core types (#3569) (#3257) - thanks @so1ve
  • fix: use universal __VLS_ConstructorOverloads when emits type is not inlined (#3585) - thanks @so1ve
  • fix: inherit emits props and supports generic component emit type for JSX (#3533) (#3289) (#3476) - thanks @so1ve
  • perf: generate less TS virtual code for TS performance (#3581)

1.8.13 (2023/9/20)

  • fix: generate valid syntax when noPropertyAccessFromIndexSignature is not enabled (#3575) - thanks @so1ve

1.8.12 (2023/9/20)

  • feat: support vitepress's code snippet import (#3559) - thanks @so1ve
  • fix(component-meta): fix modules interoperability with vue-component-type-helper
  • fix: avoid losing generic types with strictTemplates: false (#3565) - thanks @so1ve
  • fix: format slots with typeannotation correctly (#3573) - thanks @so1ve

1.8.11 (2023/9/13)

  • feat: slot references codeLens counting fragment default slot (#932)
  • fix: correct message for @vue-expect-error (#3541) - thanks @so1ve
  • fix: avoid global macros conflicts with local variables (#3550) - thanks @so1ve
  • fix: script setup comments at top breaks global macros (#3549) - thanks @so1ve
  • fix(vue-tsc): prevent rebuild in incremental mode throwing error (#3556) - thanks @blake-newman

1.8.10 (2023/9/6)

  • feat: added Portuguese integration documentation (#3535)
  • feat: exposed configFileName for createParsedCommandLineByJson() function (#3456) - thanks @qmhc
  • feat: support nested plugins (#3530) - thanks @so1ve
  • feat(vscode): add vue.server.runtime setting and support for Bun runtime
  • feat(vscode): add vue.server.path setting for customize server module path
  • fix: correctly hyphen-case props (#3424) - thanks @so1ve
  • fix: generic components should respect strictTemplates (#3487) - thanks @so1ve
  • fix(vue-component-type-helpers): correctly handle generic components when using ComponentExposed (#3536) - thanks @so1ve

1.8.8 (2023/7/27)

  • fix: language server crashed due to importing unexist library (#3453) (#3454)

1.8.7 (2023/7/27)

  • feat: support auto-complete for directives (#2559)
  • feat: support extract component for options api
  • feat: re-support external component parsing (#3328)
  • feat: support function expression emit event (#3445) - thanks @lvjiaxuan
  • perf: reuse VueFile instances between monorepo packages (#3450)
  • fix: handle node next module resolution (#3159) - thanks @kalvenschraut
  • fix: generate valid code when using __VLS_PropsChildren (#3442) - thanks @so1ve
  • fix: component auto-import cannot insert import statement
  • fix: extract component cannot extract interpolations
  • fix: allow top-level await in script setup blocks with generics (#3441) - thanks @so1ve

1.8.6 (2023/7/22)

  • feat: add support for extract component code action (#2496) - thanks @zardoy
  • feat: add support for v-bind toggle code action (#2524) - thanks @zardoy
  • feat: more dull "Saving time is too long" popup
  • fix: vue.server.petiteVue.supportHtmlFile, vue.server.vitePress.supportMdFile settings not working (#3238)
  • fix: don't check element type for directives (#3140)
  • fix: @ts-nocheck cannot work from script setup (#3420) - thanks @so1ve
  • fix(ts-plugin): module resolving should be able to fallback to .d.ts (#3419)
  • fix(language-plugin-pug): @vue-ignore, @vue-skip, @vue-expected-error not working for pug template

1.8.5 (2023/7/14)

  • 🔥 feat(labs): support for TS memory usage treemap
  • 🔥 perf: properly support TS DocumentRegistry to drastically reduce memory usage in monorepo projects
  • feat(ts-plugin): re-support auto-import
  • fix: remove invalid volar.action.serverStats command (#3366) - thanks @yaegassy
  • fix: don't remove comments when comment is in the first line (#3365) - thanks @so1ve
  • fix: allow slots to have no arguments (#3376) - thanks @so1ve
  • fix: camel case components is not recognized as used (#3377) - thanks @so1ve
  • perf: hoist regexp if possible (#3378) - thanks @so1ve
  • fix: non scoped classes resolution regression (#3381) - thanks @maIIady
  • feat: don't to request reload editor when server options changed (#3393) - thanks @zardoy
  • feat: don't hide output channel on server restart (#3401) - thanks @zardoy

Breaking changes

  • Deprecate language server json.customBlockSchemaUrls option (#3398)

1.8.4 (2023/7/5)

  • feat(monaco): support for custom file system provider (https://github.com/volarjs/volar.js/pull/50)
  • feat: support auto-complete for template directive comments
  • fix: local component type should override a global component (#1886) (#3333) - thanks @so1ve
  • fix: support type narrowing for components define in script setup (#3138) (#3350) - thanks @so1ve

1.8.3 (2023/6/28)

  • fix(ts-plugin): tsserver crashes when import > 4MB .vue file (#3332)
  • fix(language-server): in specific os fileExists() throws (#3336)

1.8.2 (2023/6/27)

  • fix: should not auto closing <img> tag (#3217)
  • fix: allow passing undefined as events (#3122) (#3217) - thanks @so1ve
  • fix: fixes object literal parsing for <component :is> (#3324) (#3171) - thanks @so1ve
  • fix: symbol types are lost (#3300) (#3295) - thanks @so1ve
  • fix(ts-plugin): suppress errors when composite is enabled
  • fix(language-server): trigger characters missing on web IDE
  • perf(language-server): debounce for isCancellationRequested()
  • perf(typescript): caching getScriptFileNames() result

Breaking changes

  • no longer parse vue files outside tsconfig include option to avoid TS performance concerns (#3326)

1.8.1 (2023/6/20)

  • fix(language-server): 3 consecutive directories with the same name cause infinite recursion (#3282) - thanks @FelipeAzambuja
  • fix(language-server): diagnostics were not properly refreshed when creating files
  • fix(monaco): unrecognized relative path file
  • types: simplify __VLS_IsAny - thanks @so1ve
  • perf(ts-plugin): work without overriding language service instance to reduce half of memory usage (#3221)

1.8.0 (2023/6/17) (Release notes)

1.7.14 (2023/6/16) - pre-release

  • perf: intellisense is very slow when referencing lots of external .vue files (#3264)
  • fix: read directory infinite recursion on Darwin os (#3282)

1.7.13 (2023/6/15) - pre-release

  • feat: support Vue 3.3 defineEmits shorthand (#3169) (#3283) - thanks @so1ve
  • feat: allow trailing text for directive comments (https://github.com/vuejs/language-tools/pull/3215#issuecomment-1591397008)
  • feat: switch vue.inlayHints.optionsWrapper to disabled by default (#3147) - thanks @wenfangdu
  • feat(component-meta): expose component type (#3151) (#3286)
  • fix: can't define variables in inline event handler (#3258) (#3280) - thanks @so1ve
  • fix(vue-tsc): --emitDeclarationOnly not working since 1.7.9
  • fix(vue-tsc): @vue-expect-error, @vue-ignore not working for vue-tsc (#3284) - thanks @sapphi-red
  • fix: compatible functional component typecheck with TS 5.1.3 (#3255)

1.7.12 (2023/6/14) - pre-release

  • feat: reintroduce nativeTags (#3279)
  • fix: compatible with TS 5.1.3 (#3274) (#3277) - thanks @so1ve
  • perf(vue-tsc): addressed a performance regression since 1.5.1 by reintroducing nativeTags (#3148)

1.7.11 (2023/6/9) - pre-release

  • fix: ignore errors for statSync (#3260)

1.7.10 (2023/6/9) - pre-release

  • feat: upgrade framework to v1.7 (#3248)
  • fix: strictTemplates not working for IntrinsicElement (#3214)
  • fix: failed to load tsconfig json schema (#3224) (#3228) - thanks @tjx666
  • fix(vue-tsc): vue-tsc ignores type errors in .vue files if the incremental setting is true (#2756) (#3218) - thanks @lucasavila00
  • fix: properly merge defineModel and defineProps types (#3164)
  • fix(language-server): show component meta command not working

Breaking changes

1.7.8 (2023/5/22) - pre-release

  • fix: directive comments not working in production builds

1.7.7 (2023/5/22) - pre-release

  • feat: support for @vue-ignore, @vue-skip, @vue-expected-error directive comments (#3215)
  • refactor(language-service): removed vscode-languageserver-protocol runtime dependency
  • perf(monaco): much faster first time intellisense
  • fix: ts project not updated when virtual ts file created / deleted

1.7.6 (2023/5/19) - pre-release

  • refactor(language-service): fewer runtime dependencies
  • chore: low-level API adjustment

1.7.4 (2023/5/18) - pre-release

  • feat: more reliable intellisense for monaco
  • fix: avoid adds ".js" extension when auto importing components (#3150)

1.6.5 (2023/5/13), 1.7.3 (2023/5/13) - pre-release

  • chore: bump vue deps to 3.3 stable (#3167) - thanks @ferferga
  • fix(vue-tsc): avoid throw when composite is enabled (#2622)
  • perf(language-service): avoid request name casing from language client multiple times (#3158) - thanks @kalvenschraut
  • fix: avoid slot name report TS8013 in js component (#3121)

1.7.2 (2023/5/11) - pre-release

  • feat: compatible with the latest Labs

1.7.1 (2023/5/10) - pre-release

  • ⭐ feat: support for Volar.js Labs
  • fix(language-core): add missing peer dependency typescript (#3145) - thanks @HunYan-io
  • perf: style code change should not increase ts virtual script version
  • perf: avoid virtual file version always increase due to source map update

Breaking changes

  • Removed the VueLanguageServiceHost interface

1.7.0 (2023/5/7) - pre-release

Breaking changes

  • rename packages from @volar/vue-* to @vue/* (#3134)
  • volar.config.js specification update (base on Volar.js v1.5)

1.6.4 (2023/5/4)

  • feat: support color pickers for inline css
  • feat: support lang="vue" (#3105) - thanks @HunYan-io
  • fix: when the source type of v-for is any, the item type should be any (#3108) (#3112)
  • fix: avoid slots report error when noPropertyAccessFromIndexSignature enabled (#3106)
  • fix(component-type-helpers): import module causes tsc error (#3114)
  • fix: empty slot name auto-complete not working
  • fix: accessing an unknown slot name does not report an error
  • fix: format adds spaces to v-for if nested template element assigns type to slot props (#2750) (#2757)
  • fix: parentheses auto insert not working in template

Breaking changes

  • drop support for Vue 3.3 slots short definition (#3116)

1.6.3 (2023/5/2)

  • feat: expose custom blocks attrs (#3099) - thanks @HunYan-io
  • fix: event "@update:" syntax causes TS error (#3100)
  • fix: generic attr unexpectedly trimmed when formatting if attr value includes "<" (#3101)
  • fix: required event props always shows in missing props hint
  • fix: exclude null / undefined from v-for source type (#3102)

1.6.2 (2023/5/1)

  • fix: consume required props for events (#2468)
  • fix: support infer v-for types for generic (#2758)
  • fix: slot missing props don't report error
  • fix: cannot assign generic component to components option of defineComponent
  • fix: "TS1002: Unterminated string literal" in slots edge case (#2710)
  • fix: generic component prop with default type incorrect (#2754)

1.6.1 (2023/4/28)

  • feat: support for specify vue library name by vueCompilerOptions.lib option (#2722)
  • fix: avoid <component :is> type checking with string literal assignment (#2725)
  • fix: <slot> reporting false positive error when strictTemplates enabled (#2726) (#2723)
  • fix: error using custom directive: Expected 2 arguments, but got 1. (#2730)
  • fix: namespaced tag not working without script setup
  • fix: component intellisense not working in template if TS version < 5.0 (#2742)
  • fix: class is not assignable to generic components (#2744)
  • fix: components options is not set correctly when component name is kebab-case and auto-importing (#2745)

1.6.0 (2023/4/27)

  • feat(doctor): show warning for TS 4.9 (#2190)
  • feat: support inlayHints for vueCompilerOptions.optionsWrapper
  • fix: avoid props type-checking for VNode (#2720)
  • fix: revert "fix: trim modifiers for slot name"
  • refactor: update extension settings from volar.* to vue.*
  • refactor(language-server): remove petiteVue, vitePress from server init options

    for IDEs other than VSCode, use additionalExtensions: ['html', 'md'] instead of

Breaking changes

  • deprecated vueCompilerOptions.jsxTemplates (#2677)
  • deprecated vueCompilerOptions.nativeTags (#2685)

1.5.4 (2023/4/26) - pre-release

  • fix: defineExpose macro missing for Vue 3.3
  • fix(component-meta): meta info is empty if missing vue-component-type-helpers dependency
  • fix: don't check time for codeActions when saving multiple files

1.5.3 (2023/4/26) - pre-release

  • feat: support type-checking for dynamic components
  • feat: support element type-checking for directives
  • fix: cannot infer event type for <Transition> (#2700)
  • fix: tag / prop casing status not working
  • fix: slot name accidentally included modifiers in virtual code
  • fix: avoid always pop "Saving time is too long" edge case
  • fix: only generate JSX.ElementChildrenAttribute type when vueCompilerOptions.jsxSlots enabled (#2714)
  • fix: top level await error in SFC if two script blocks are present (#2712)
  • fix: cannot use generic components inside defineComponent (#2709)
  • fix: intellisense not working in es module project (#2661)

1.5.2 (2023/4/24) - pre-release

  • fix: cannot recognize hyphenate tag name (#2688)

1.5.1 (2023/4/23) - pre-release

  • refactor: deprecate nativeTags option (#2685)
  • fix: props type-check not working for one argument functional component (#2686)
  • fix: <Suspense> default slot reporting error (#2683)
  • fix: cannot infer slots type in vue2 project (#2682)
  • fix: static directive arg should not recognize as expression (#2678)

1.5.0 (2023/4/23) - pre-release

  • refactor: deprecate jsxTemplates option (#2677)

1.4.4 (2023/4/23)

  • fix: missing FunctionalComponent props are no longer reported in the template (#2676)

1.4.3 (2023/4/22)

  • feat: add volar.nameCasing.status setting to disable nameCasing status (#2453)
  • fix(vue-typescript): add missing peer dependency typescript (#2665) - thanks @merceyz
  • fix: slots references codeLens, renaming not working
  • fix: pug multiline attribute values are marked as error (#2413)
  • fix: incorrect extra inlay hints inside template when enabled typescript.inlayHints.parameterNames (#2670)
  • fix: failed to resolve tsdk path for "JavaScript and TypeScript Nightly" (#2663)
  • revert: "fix(vue-tsc): add throw message if composite / incremental enabled" (https://github.com/vuejs/language-tools/commit/b596a60154a0f2a6345244a90868b5cc67eb9ff8)

1.4.2 (2023/4/21)

  • fix: cannot disable auto insert .value feature
  • fix: avoid slot props reporting error if component does not have $slots type (#2646)
  • fix: prefer component constructor signature instead of call signature (#2647)
  • fix: avoid tsconfig reporting "Comments are not permitted" when takeover mode enabled (#2648)

1.4.1 (2023/4/21)

  • fix: generic slot props type not incorrect (#2639)
  • fix: third-party library components cannot accept unknown props (#2636)
  • fix: allow props less functional component (#2638)
  • fix: native tags event type become never (#2640)
  • fix: cannot resolve tsdk on windows (#2637)

1.4.0 (2023/4/21)

  • feat: support intellisense for directive arg expression (#2588)
  • feat: asking disable codeActions if saving time is too long
  • feat: file definition cross file mapping result fall back to 0:0
  • fix: fixed dynamic slot arg expression virtual code (#2586) (#2617) (#2592)
  • fix: add hack support for v-if + v-slot template (#625)
  • fix: goto definition not working for alias path without script setup (#2600)
  • fix: avoid missing prop hint for native tags (#2616)
  • fix: vue-language-plugin-pug broken with yarn (#2608)
  • fix: native tags reporting missing prop error (#2629)
  • fix(vue-tsc): add throw message if composite / incremental enabled (#2622)
  • fix: slot props are not recognized at the root component (#2554)
  • fix: missing props hint incorrect for model property for vue 2 (#2635)
  • fix: cannot show css hover message (#2634)
  • fix: duplicate ts unused reports if noUnusedLocals is enabled (#2627)

1.3.19 (2023/4/19) - pre-release

  • feat: change vue.features.codeActions.enable default value to true
  • feat: auto disable vue.features.codeActions.enable when document saving time is too long
  • feat: changing vue.features.* settings no longer requires reload vscode

1.3.18 (2023/4/18) - pre-release

Extension settings refactoring

  • codeActions disabled by default
  • updateImportsOnFileMove disable by default
  • missing props hint, event argument hint disabled by default

For more details, see #2620.

1.3.17 (2023/4/17) - pre-release

  • feat: support document links for tsconfig when takeover mode is actived (#2467)
  • fix: avoid server crash when tsconfig extends path invalid
  • fix: auto import should not appending .js (#1763) (#2518)
  • fix: inhibit unknown props error when if strictTemplates is disabled
  • fix: absolute SCSS import resolving inconsistency (#2517)
  • fix: <template> multi-line comments shift with each format (#2505)

1.3.16 (2023/4/16) - pre-release

  • feat(component-meta): expose definition location information as declarations property
  • perf: fixed TS auto import performance regression since v1.13.11 (https://github.com/volarjs/typescript-auto-import-cache/pull/2)
  • fix(language-server): show component meta command not working
  • fix: v-for item adds spaces if enabled insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets (#2571)
  • fix: when the takeover mode is enabled, json documents shows duplicate outline (#2573)

1.3.14 (2023/4/10) - pre-release

  • feat: add vue-component-type-helpers package (#2590)
  • feat(component-meta): integrated vue-component-type-helpers
  • feat: upgrade to lerna-lite 2.0 (#2597) - thanks @ghiscoding
  • feat: support prop renaming for defineModel and defineProp
  • fix: template-based slots type incorrect (#2590)
  • fix(vue-tsc): patch build info roots for TS 5.0 (#2580) - thanks @blake-newman

1.3.12 (2023/4/4) - pre-release

  • feat: Support for Vue 3.3 experimental defineModel() API (#2579)
  • feat: Support for vue-macros defineProp() API (#2579)
  • feat: support short define for defineSlots()
  • feat: new <script setup> codegen implement for DX improve (#2582) (#2421)
  • fix: falsely reports "Virtual script not found"
  • fix(vue-tsc): emit declaration throws TS4060 (#2581) - thanks @blake-newman

1.3.11 (2023/4/2) - pre-release

1.3.10 (2023/4/1) - pre-release

  • feat: support for vue 3.3 defineSlots() API (#2568)
  • feat(vue-tsc): prettify script setup props, emits type in emit
  • fix: plugins, hooks, experimentalAdditionalLanguageModules options of vueCompilerOptions not working (#2558) - thanks @rchl
  • fix(vue-tsc): fixed typescript 5 support (#2555) - thanks @blake-newman
  • fix: incorrectly incremented end offset when deleting the last text in an directive expression
  • fix: "typescript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis": true caused formatting issues with v-bind expressions (#2507)
  • fix: normalizeComponentAutoImportName not working for import statement completion (#2511)
  • fix: ignore null type for dynamic argument (#2514)
  • fix: vue-twoslash-queries plugin not working
  • fix: redo JSX.ElementChildrenAttribute implement (#2472)
  • fix(component-meta): support for functional component (#1992)
  • fix: avoid crash when chdir() (#2480)
  • fix: expand selection ranges incorrect (#2477)
  • fix: directive semanticTokens display range incorrect (#2454)
  • fix: <textarea> formatting indent incorrect
  • perf(vue-tsc): streamline virtual code to improve emit performance

1.3.8 (2023/3/27) - pre-release

  • fix: missing props type check stop working

1.3.7 (2023/3/26) - pre-release

  • feat: support normalizeComponentImportName for additionalExtensions (#2481)
  • feat: support generic component without jsxTemplates
  • feat: support slot references for anonymous default slot (#2547)
  • feat: recognize slots property with JSX.ElementChildrenAttribute (#2472)
  • feat: support slot required checking when enabled strictTemplates (#1820)
  • fix: handle edge tag name casing <xxx--yyy> (#2463)
  • fix: incremental update causes multi-line style node damage (#2519)
  • fix: formatting break multi-line attribute value indent (#2519)
  • fix: formatting break <pre> tag contents indent (#2520)
  • fix: typescript labelDetails in completions not processed (https://github.com/volarjs/plugins/issues/31) - thanks @zardoy

Breaking changes

  • deprecated volar.vueserver.textDocumentSync setting
  • deprecated narrowingTypesInInlineHandlers for vueCompilerOptions and always enabled now

1.3.6 (2023/3/25) - pre-release

  • feat: RFC 436 leaves experimental (#2545)
  • feat: auto resolve vueCompilerOptions.target by default
  • feat: auto append /** @jsxImportSource vue */ when jsxTemplates enabled and target >= 3.3 for avoid #592
  • feat(doctor): remove target check for vueCompilerOptions

1.3.4 (2023/3/20) - pre-release

1.3.3 (2023/3/19) - pre-release

  • feat: disable missingRequiredProps, eventArgumentInInlineHandlers by default
  • fix: vueCompilerOptions cannot extends from non-relative paths (#2345) - thanks @dschmidt
  • fix(vue-component-meta): exposed missing when use TS 5.0
  • perf(vue-component-meta): props, events, slots, exposed lazy calculation
  • perf: provide change range of virtual file snapshot for typescript program

1.3.2 (2023/3/14) - pre-release

1.3.0 (2023/3/10) - pre-release

  • feat: support for korean html data
  • feat(doctor): remove vue-tsc version check
  • feat(doctor): rename setting from volar.doctor.statusBarItem to volar.doctor.status
  • feat(doctor): check VSCode settings emmet.includeLanguages, files.associations (#2487)
  • feat(doctor): check plugins version for volar.config.js
  • feat: add description link for $event => hint (#2445)
  • feat(language-server): support for ServerMode.PartialSemantic
  • fix: Show Component Meta command not working
  • fix: name casing status do not update with changed settings (#2460)
  • fix: component auto import not working with kebab case (#2458)
  • fix: missing props hints do not recognize @xxx (#4568)
  • fix: code action document version incorrect (https://github.com/yaegassy/coc-volar/issues/254)

Breaking changes

  • Remove built-in web intellisense support and recommended TypeScript IntelliSense for Web instead of (#2475)
  • Upgrade required version of @volar-plugins/* to >= 2.0.0
    • After upgrade, you need to access default property with require('@volar-plugins/xxx').default in volar.config.js
  • Upgrade build target from ES2016 to ES2021 (#2489)

1.2.0 (2023/2/25)

  • feat: compatible with upstream monaco integration (https://github.com/volarjs/volar.js/pull/10)
  • feat: support array extends for tsconfig (#2344)
  • feat: make cursor inside quotes when insert missing required props edit (#2414)
  • feat: support mixin child nodes for pug (#2447)
  • fix: ignore native tags for missing required props hint
  • fix: ignore methods for missing required props hint (#2443)
  • fix: SFC outline not show child nodes (#2446)

1.1.7 (2023/2/22)

  • fix: document symbols request crash with arrow function declaration (#2438)
  • fix: document symbols child node range incorrect
  • fix: SFC document symbols tree incorrect

1.1.6 (2023/2/22)

  • fix: template comments were trimmed with formatting in production mode (#2435)
  • fix: inaccurate outline view of script content
  • fix: takeover mode causes IDE to get stuck in large .ts files due to a long list in the outline view

1.1.5 (2023/2/21)

  • feat: prettify type for css module $style
  • fix: only generate component with function type when use generic attribute
  • fix: document links feature broken (#2426)
  • fix: missing props inlay hints not working for namespace components
  • fix: component tags type-check not working
  • fix: pug template reporting TS2339 when strictTemplates enabled (#2431)
  • fix: pug tag completion not working at empty lines

1.1.4 (2023/2/20)

  • feat: support for script src path intellisense (#2331)
  • feat: support name casing setting for component auto import (#2362)
  • feat: add volar.vueserver.fullCompletionList setting (#2422)
  • perf: filter completion items in language server for better performance (#2306)
  • fix: strictTemplates did not check for unknown components (#2291)
  • fix: duplicate document links in the template
  • fix: completion not working for namespace components (#2382)
  • fix: html comments and js template strings format indent incorrect (#2420)
  • fix: do not correspond v-model to checked prop for checkbox and radio input tags (#2415)

1.1.3 (2023/2/18)

  • feat: visualize event argument in inline handlers
  • feat: add description for model modifiers (#2405)
  • fix: remove deprecated preview commands (#2402)
  • fix: missing required props hint not working with v-model (#2407)
  • fix: cannot collapse code in .js / .ts files with takeover mode (#2408)
  • fix: symbols view stopped working for .js / .ts files with takeover mode (#2404)
  • fix: cannot rename html tags (#2410)
  • fix: cannot display rename fail message
  • fix: format on type cannot working for code blocks that enabled volar.format.initialIndent (#2401)
  • fix: vue-tsc crashes in watch mode when file changed (#2403)
  • fix: prop type definition inaccurate for v-model directive on native input (#2399)

1.1.2 (2023/2/17)

  • fix: format adding unnecessary newline to CRLF document (#2385)
  • fix: incidentally inserting indents when inserting new lines when if editor.formatOnType (#2394)
  • fix: template formatting last line indent incorrect (#2393)
  • fix: template start tag got deleting if first line is comment (#2390)
  • fix: takeover mode status incorrect in display (#2389)
  • fix: diff window's document was unexpectedly diagnosed (#2391)
  • fix: emmet completions appear inside open tag (#1329)
  • fix: opencc is depended on by language server (#2388)

1.1.0 (2023/2/16)

  • feat: support initialIndent for pug and sass
  • feat: add description for built-in directives, attributes, component, and elements
  • feat: support localization for event modifiers and props modifiers
  • feat: missing required props inlay hints (needs enabled volar.inlayHints.missingRequiredProps)
  • feat: show (takeover) instead of (vue) in status bar for takeover mode (#2365)
  • feat: more reliable formatting edits combine
  • fix(doctor): update source code link (#2307)
  • fix(ts-plugin): tsserver multiple initializations lead to infinite loop (https://github.com/microsoft/vscode/issues/171591)
  • fix: syntactic features not working for untitled vue document
  • fix: spaces removed from ternary operator inside {{ }} (#2305)
  • fix: source.addMissingImports accidentally made imports for properties used the template (#2304)
  • fix: code action auto import should not append to the same line with the script tag (#916)
  • fix: multi-line interpolation last line indent incorrect
  • fix: declaring empty emits like defineEmits<{}>() would fail the type-checking process (#2370)
  • fix: ignore name prop / attr for slot (#2308)

Breaking changes

  • Removed pug convert tool
  • Removed script setup convert tool
  • Unsupported tracing for vue-tsc (#2378)
  • Extract Vite, Nuxt and component preview features to Vue and Nuxt Preview
    • feat: support vite-plugin-vue-component-preview for nuxt 3.2
    • feat: add vue-preview.root setting for Nuxt component preview
    • fix: prevent random creation of multiple preview terminals
    • fix: support nuxt preview without vite serving allow list (#2287)

1.0.24 (2023/1/8)

  • feat: add vueCompilerOptions.macros setting for vue-macros plugins
  • feat(framework): expose FileCapabilities.full, FileRangeCapabilities.full, MirrorBehaviorCapabilities.full
  • feat: renamed normalizeComponentAutoImportName setting to normalizeComponentImportName
  • feat: support normalize component name for import statement completion (#2286)
  • feat: normalize Index to folder name when normalizeComponentImportName enabled (https://github.com/vuejs/language-tools/issues/2071#issuecomment-1373701277)
  • feat: support update imports on multiple files move
  • fix(ts-plugin): fixed Projects must list all files or use an 'include' pattern error (#2271)
  • fix: language client sending parseSfc requests when not a vue document changed
  • fix: typescript actions not working for codeActionsOnSave setting (#2188)
  • fix: fixed c is not iterable error edge case (#2282)
  • fix: cannot select workspace tsdk on status bar with takeover mode
  • fix(plugin-api): cannot catch errors for getEmbeddedFileNames(), resolveEmbeddedFile()
  • fix(component-meta): cannot detection of slots in script-less SFC (#2113)
  • perf(component-meta): resolve schema on demand (#2288)

1.0.22 (2023/1/5)

  • fix: document folding ranges not working in .ts

1.0.21 (2023/1/5)

  • fix: cannot jump to .vue definition from .ts with takeover mode
  • fix: cannot detect @volar/vue-language-plugin-pug installed (#2272)
  • fix: ignore incremental update for v-for expression (#2266)
  • fix: auto insert spaces for {{}} not working
  • fix: completion in template inserts stray leading dot (#2155)
  • fix: if source document EOL is \r\n, virtual document mapping decorations range incorrect

1.0.20 (2023/1/4)

  • feat: support browser navigation for embedded preview
  • feat: released pug extension (#2274)
  • feat: add volar.takeOverMode.extension setting for choice extension that takeover *.ts language support
  • fix(typescript-vue-plugin): can't always get latest status of .vue files (#2271)
  • fix: multi-line template interpolation formatting indentation incorrect
  • refactor(framework): simplify LanguageServerPlugin api and dependency injection connection (#2273)
  • refactor(framework): combine createLanguageService and createDocumentService

1.0.19 (2022/12/31)

  • feat: add experimentalAdditionalLanguageModules option for vueCompilerOptions (#2267)
  • fix: TS typescript/javascript.preferences.autoImportFileExcludePatterns setting not working
  • fix: formatting not working for extra vue file extensions (#2263)
  • fix(doctor): accidentally report @vue/compiler-dom warning (#2262)
  • fix(vue-component-meta): required property incorrect (#2256)
  • fix(preview): cannot start preview if project never start run vite server (#2223)
  • fix: references codeLens not working

1.0.18 (2022/12/26)

  • feat: check deprecated properties for vueCompilerOptions in tsconfig
  • fix: auto add spaces for {{}} not working if template block not at the top
  • fix: remove duplicate file watchers for .vue files
  • fix: auto complete randomly report [TS Error] { } and failed (#2190)
  • fix: cross-file renaming cannot be performed consecutively
  • fix: should not report unknown tag error without strictTemplates enabled (#2255)

1.0.17 (2022/12/26)

  • feat: support syntax highlighting for lang="json5" (#2244)
  • feat: support for generating virtual file from multiple sources (#2253)
  • feat: display mapping data on hover for virtual document
  • feat: re-support component semantic token (#2252)
  • fix(vue-tsc): cannot resolve hook path from extends options
  • fix: fixed workspace configs caching not working edge case (#2062)
  • fix: cannot find volar.config.js for sub folder tsconfig project
  • fix: emmet abbreviation suggestion keeps disappearing every third letter (#2240)
  • fix: {{ }} colorizedBracketPairs not working (#1759)
  • fix: fixed volar-base language servers executePluginCommand duplicate registration error
  • fix: avoid throw on un-exist workspace folder (#2039)
  • fix: ignore class, style attrs when v-bind exist (#2166)
  • fix: functional component type check not working when return type includes props property (#2206)
  • fix: v-slot error when noPropertyAccessFromIndexSignature is enabled (#2236)
  • fix: skipTemplateCodegen should ignore template slots emit (#2237)
  • fix: recursive closing of html tag edge cases (#2238) (#2247)
  • fix: double quotes not allowed in attribute value (#2250)
  • perf: embedded files on demand calculation not working

1.0.16 (2022/12/20)

  • feat(component-meta): make schema.ignore accept functions (#2232)
  • feat: add volar.icon.splitEditors setting (#2163)
  • feat: support twoslash queries in .ts when using takeover mode
  • fix: fixed typescript-vue-plugin performance regression (#2228)
  • fix: deleting space for {{ |}} become {{ | }} (#2222)
  • fix: dynamic slot name type <slot :name="(name as 'a' | 'b')" /> not working (#2233)
  • fix: typed template slots missing when template only exist dynamic slots (#2233)
  • fix: fixed template Type 'void' has no call signatures errors (#2225)
  • fix(vue-tsc): shim vue-tsc/out/proxy.js for vite-plugin-checker (https://github.com/fi3ework/vite-plugin-checker/issues/193)
  • perf: rewrite typescript-vue-plugin for much better performance and fixed path resolve edge case (#2137)

1.0.14 (2022/12/18)

  • feat: add angular language server example (#2215)
  • feat(vue-tsc): support for hook api (#2217)
  • feat: add vue-tsc-eslint-hook module to support use eslint in vue-tsc (#2220)
  • feat: add setting volar.vueserver.maxFileSize (#2186)
  • feat: add setting volar.doctor.checkVueTsc and disable by default (#2186)
  • feat: add setting volar.vueserver.configFilePath (#2078)
  • feat: auto add space between double curly brackets (#2088)
  • feat: support formatting for style v-bind (#2105)
  • fix: virtual code mapping ignored offset 0 (#2052)
  • fix: auto complete ref value with '.value' not working (#2203)
  • fix: template AST broken by slot name incremental update (#2207)
  • fix: preview not working for Vite v4 (#2198)

1.0.13 (2022/12/12)

  • feat(web-ide): show loading file at status bar
  • feat(web-ide): support node_modules types via CDN
  • feat(web-ide): support locale typescript diagnostic messages
  • fix(web-ide): cannot use default typescript lib types
  • fix(web-ide): cannot found match tsconfig
  • fix: volar.config.js plugins dirty cache between different tsconfig projects

1.0.12 (2022/12/9)

  • feat: added @volar/vscode-language-client package (#2181)
  • fix: document content messed up randomly (#1807)
  • fix: "Show Virtual Files" mapping background color unclear with light theme (#2147) (#2170)
  • fix: props type checking not working for Element Plus components (#2176) (#2180)
  • fix: attribute values being wrapped in parentheses while typing (#2182)
  • fix: formatting crashes (#2077)
  • fix: cannot emit component type with DefineComponent when template has slots (#2161)

1.0.11 (2022/12/3)

  • fix(vue-tsc): dts emit do not generated DefineComponent type (#2161)
  • fix: global components types loss in vue 2 projects (#2157)
  • fix: Vite / Nuxt app preview crash when template includes <html> tag

1.0.10 (2022/11/29)

  • feat: add volar.vueserver.json.customBlockSchemaUrls setting to support preset json schema urls for custom blocks (#2079)
  • feat: add volar.vueserver.reverseConfigFilePriority setting to support customize tsconfig priority (#1815)
  • feat: add volar.vueserver.disableFileWatcher setting for better performance (#2027)
  • feat(vue-tsc): support for TypeScript 5.0 (#2095)
  • feat: auto insert parentheses for instanceof expressions (#2099)
  • feat: more accurate HTML attributes auto-complete
  • feat: add nativeTags instead of experimentalRuntimeMode to vueCompilerOptions for uni-app supports (#2065)
  • feat: remove split editors icon and use command instead of
  • fix: goto definition not working with nvim-lspconfig (https://github.com/vuejs/language-tools/pull/1916#issuecomment-1293166322)
  • fix(preview): more accurate script judgment (#2135)
  • fix: local components types should cover global components types (#1886)
  • fix: auto insert parentheses for AsExpressions not working
  • fix: template code mapping confusion when undo with invalid template code (#2151)
  • fix: output Server Stats through LSP API (#2050)
  • fix: vite app preview not working if project path includes spaces (https://github.com/johnsoncodehk/vite-plugin-vue-component-preview/issues/7)
  • fix: avoid component preview create multiple terminals (#2128)
  • fix: avoid folding when join split editors (#1887)
  • fix: split editors command crash with empty document (#2072)
  • fix: avoid escape &quot; (#2091)
  • fix: script setup first variable jsdoc missing (https://github.com/vuejs/language-tools/issues/1327#issuecomment-1304784005)
  • fix: document symbols of SFC blocks range incorrect (#2118)
  • fix: strictTemplates option works only bound props (#2136)
  • fix: props required warning missing when jsxTemplates option enabled (#2139)
  • fix: cannot infer events parameter type in recursive component (#2140)
  • perf: faster semantic tokens parsing (#2053) (#2056)
  • perf: avoid create file watchers in syntactic server
  • perf: cache workspace configuration in language servers (#2062)

1.0.9 (2022/10/23)

  • feat(vue-tsc): add error message for noEmitOnError (#2053)
  • feat: add support for custom file extensions (#1931)
  • feat: add support for typescript/javascript.suggest.completeFunctionCalls (#956)
  • feat: add support for JSX auto closing tags and tags commenting (#1494)
  • feat: add support for auto import component from .ts sources (#1643)
  • feat: add Server Stats command for debugging loading files
  • feat: add volar.completion.normalizeComponentAutoImportName setting to support remove Vue ending for component auto import (#82)
  • feat: add volar.vueserver.diagnosticModel setting to support pull model for diagnostic
  • feat: add experimentalUseElementAccessInTemplate setting in vueCompilerOptions for class component supports (#997)
  • feat: migrated to standard token types for support semantic tokens IDE other than VSCode
  • feat: register file watchers in language server for support IDE other than VSCode (#2037)
  • perf: load scripts on demand on inferred project
  • fix(doctor): update valid @types/node version and clarity words (#2043)
  • fix: avoid language server crash by invalid tsconfig references path (#1957)
  • fix: LanguageServicePlugin error don'ts reporting
  • fix: SCSS At-Rule autocomplete not working
  • fix: intellisense not working for files path start with . (#1147)
  • fix: avoid reporting partial diagnostic when failed to update cache range
  • fix: formatting not working for template interpolations (#2026)
  • fix: file watchers not working (#2028)
  • fix: document version of code action incorrect (#2025)
  • fix: don't filter onXxx for props autocomplete (#2034)
  • fix: import statements completion not working (https://github.com/vuejs/language-tools/issues/1983#issuecomment-1278778898)
  • fix: server throwing errors due to component auto import completion canceled (#1983)
  • fix: expand selection does not work correctly in <template> (#1465)
  • fix: component tags messes with duplicate name template properties (#2030)
  • fix: improve invalid content trimming in .md files for VitePress
  • fix: avoid language server throwing when changing built-in TS plugin activation

1.0.8 (2022/10/15)

  • feat: support for twoslash queries (https://github.com/volarjs/services/issues/9)
  • feat: support generic attribute auto-complete
  • feat: add volar.vueserver.noProjectReferences setting for support jump to source files from reference projects (#1344)
  • fix: SFC parse failed if script content including <script> (#1982)
  • fix: avoid report type error for invalid component without enable jsxTemplates (#2007)
  • fix: intrinsic tag highlight should only including open tag and close tag (#2009)
  • fix: component type should take capitalize property takes precedence over camelize property from context (#2010)
  • fix: references codeLens should not including sources on display (https://github.com/vuejs/language-tools/issues/1989#issuecomment-1277585337)

1.0.7 (2022/10/13)

  • feat(vue-language-core): support custom v-model prefix (#2004)
  • feat: allow passing attributes array for experimentalModelPropName ignore setting (#1821)
  • fix: @volar/vue-language-plugin-pug cause to doctor warns in Vue 2.7 project (#2002)
  • fix: mitigate virtual file mapping highlights dislocation
  • fix: tag hover not working when enabled jsxTemplates
  • fix: avoid convert invalid JSX type to any when enabled jsxTemplates
  • fix: component JSX type invalid when enabled jsxTemplates but template has no any slots
  • perf: try skip convert attribute value to unicode

1.0.6 (2022/10/12)

  • fix: component ast broken when use script setup with export default (#1996)
  • fix: experimentalModelPropName link invalid (#1999)
  • fix: @volar/pug-language-service crash (#2000)

1.0.5 (2022/10/12)

  • feat(doctor): report warning for @types/node version >= 18.8.1 (#1985)
  • fix: @volar-examples/svelte-tsc, @volar-examples/svelte-typescript released empty dist
  • fix: component syntax minor defect when enabled experimentalRfc436
  • fix: force use VSCode display language in language server (#1959)
  • fix: don't hoisting defineProps type arg when disabled experimentalRfc436 (#1994)

1.0.4 (2022/10/12)

  • feat: Support generic typed template slots for RFC 436 (#1987)
  • feat: add resolveTemplateCompilerOptions API for VueLanguagePlugin
  • feat: support intellisense for generic attribute (#1967)
  • feat: add Show Component Meta command for inspect vue-component-meta result
  • feat: add vueCompilerOptions.experimentalModelPropName for customize v-model binding prop for vue 2 component (#1969)
  • fix: TypeScript Vue Plugin (Volar) stop working
  • fix: change vueCompilerOptions.dataAttributes default value from ["data-*"] to [] (#1965)
  • fix: component props order should be on the top (#1972)
  • fix: @volar/vue-language-plugin-pug crash due to missing depend
  • fix: component tag highlight not working for pug template (#1977)
  • fix: references codeLens number incorrect (#1989)

Breaking changes

  • Removed experimentalTemplateCompilerOptions, experimentalTemplateCompilerOptionsRequirePath from vueCompilerOptions (#1991)

1.0.3 (2022/10/10)

1.0.2 (2022/10/9)

1.0.1 (2022/10/9)

  • feat(doctor): added more postcss syntax highliters (#1945)
  • fix(doctor): @vue/compiler-dom missing message incorrect (#1953)
  • fix: name casing tool typo (#1941)
  • fix: takeover mode document link incorrect (#1944)
  • fix: code color disordered if .ts script do not include to tsconfig (#1946)
  • fix: cannot start language server if worksapce tsdk path invalid (#1942)
  • fix: "Show Virtual Files" command not working for .md / .html
  • fix: tag autocomplete add duplicated import if the tag not use in template (#1952)
  • fix: template AST broken when input space after tag name
  • fix: don't use native event type for component (#1948) (#1951)
  • fix: command + hover @click cannot show selection range

1.0.0 (2022/10/7)

1.0.0-rc.5 (2022/10/7)

[Download]

  • fix: "Reload Project" command do not update diagnostics
  • feat: use svelte2tsx for svelte language server example (#1940)

1.0.0-rc.4 (2022/10/6)

[Download]

1.0.0-rc.3 (2022/10/5)

[Download]

  • feat: support .cjs, .mjs, .cts, .mts on takeover mode (#1928)
  • fix: multiple style attributes report false positive error (#1929)

1.0.0-rc.0 (2022/10/5)

[Download]

  • feat(vue-component-meta): add file update apis for support HMR (#1889)
  • feat: add dataAttributes, htmlAttributes options for vueCompilerOptions (#1871)
  • feat: support for typescript.autoImportFileExcludePatterns

Breaking changes

  • Some vueCompilerOptions perperties leave experimental
    • experimentalComponentOptionsWrapper -> optionsWrapper
    • experimentalAllowTypeNarrowingInInlineHandlers -> narrowingTypesInInlineHandlers
    • experimentalDowngradePropsAndEmitsToSetupReturnOnScriptSetup -> bypassDefineComponentToExposePropsAndEmitsForJsScriptSetupComponents

1.0.0-beta.6 (2022/10/4)

[Download]

  • fix: vue-language-server not release

1.0.0-beta.5 (2022/10/4)

[Download]

1.0.0-beta.4 (2022/10/4)

[Download]

  • feat: support document doctor for common problems checking (#1254)
  • feat: add "Show Virtual Files" command for debug virtual code and mapping

1.0.0-beta.3 (2022/10/3)

[Download]

  • feat: support ParseSFCRequest LSP request for parse SFC to avoid language client depend on @vue/compiler-sfc
  • feat: add VueServerInitializationOptions#cancellationPipeName option for language client cancellation token supports
  • feat: remove second semantic language server and volar.vueserver.useSecondServer setting
  • perf: cancel asynchronous request via named pipes (https://github.com/vuejs/language-tools/pull/1916#issuecomment-1264709112)
  • chore: change extension icon to Vue logo
  • chore: optimize bunding (2.2MB -> 975KB)

1.0.0-beta.2 (2022/9/30)

[Download]

Breaking changes

  • Update VueLanguagePlugin API to v1.0 (Example)
  • Update language server initializationOptions interface (#1916)

1.0.0-beta.1 (2022/9/27)

[Download]

  • feat: support autocomplete for v-model:xxx
  • feat: simplify status bar
  • feat: support prop name case conversion in the status bar
  • feat: remove "auto", "both" and add "auto-kebab", "auto-pascal" for volar.completion.preferredTagNameCase
  • fix: cannot resolve compilerOptions.types from a higher level directory in a workspace sub directory (#1764)
  • fix: should not trigger autocomplete lang attribute in templates (#1836)
  • fix: cannot trigger autocomplete end with v-xxx (#1905)
  • fix: auto insert parentheses remove $x from $x as y
  • fix: auto insert parentheses not working on props

1.0.0-beta.0 (2022/9/25)

[Download]

  • perf: reduce input files to improve performance for large project
  • fix: template incremental update not working

1.0.0-alpha.5 (2022/9/25)

[Download]

  • fix: language server crash on diagnosis <style lang="postcss"> (#1902)
  • fix: template tags selection range incorrect with definition

1.0.0-alpha.4 (2022/9/24)

[Download]

  • fix: iterating Symbol.Iterator is not correctly inferred in v-for (#1892)
  • fix: false positive error on <CustomComponent @click.stop /> (#464)
  • perf: improve for large template memory usage
  • perf: improve for monorepo project memory usage

Breaking changes

  • vueCompilerOptions property experimentalDisableTemplateSupport renamed to skipTemplateCodegen

1.0.0-alpha.3 (2022/9/21)

[Download]

  • fix: don't ignore @vue/compiler-dom compile errors for vue2 templates
  • fix: cannot start language server with @volar/vue-language-server since v1.0.0-alpha.0 (#1888)

1.0.0-alpha.2 (2022/9/21)

[Download]

  • feat: add less support for initial indent (#1883)
  • feat: use vue-template-compiler instead of @vue/compiler-dom to collect template errors for target < 3
  • fix: moving components doesn't trigger import updates (#1884)

1.0.0-alpha.1 (2022/9/17)

[Download]

  • fix: vue-tsc depends version resolve failed (#1881)

1.0.0-alpha.0 (2022/9/16)

[Download]

  • feat: framework agnostic language server (#1859)
  • feat: improve .value auto insert invalid location filting
  • feat: add vueCompilerOptions.jsxTemplates for more fault tolerant template (#1865)
  • feat: add volar.vueserver.petiteVue.processHtmlFile, volar.vueserver.vitePress.processMdFile to config language support for petite-vue, VitePress (#1878)
  • fix: template context types broken with "moduleResolution": "nodenext" (#1862)
  • fix: language server throw when use lang="js" without "allowJs": true
  • fix: auto .value failed if position immediately after another property .value access expression (#1853)
  • fix: language onEnterRules, increaseIndentPattern incorrect in <script>, <style> (#1847)
  • fix: source-map vue version inconsistent (#1874)
  • fix: fix pug tag offset (#1783)

Breaking changes

  • Remove Alpine extension (#1858)
  • No built-in support for pug template anymore, if you have use pug with vue-tsc before, please follow below changes:

package.json

{
    "devDependencies": {
-        "@volar/pug-language-service": "latest"
+        "@volar/vue-language-plugin-pug": "latest"
    }
}

tsconfig.json

{
    "vueCompilerOptions": {
        "plugins": ["@volar/vue-language-plugin-pug"]
    }
}

0.40.13 (2022/9/8)

  • fix: cycle reactive reference lead to memory leak

0.40.12 (2022/9/8)

  • perf: fix incremental template compile not working
  • perf: cache path resolve result on getScriptVersion
  • perf: faster code mapping range transform

0.40.11 (2022/9/8)

  • feat: support for typescript class/object literal method completions (#1835)
  • fix: language server crash if client did not support onDidChangeWorkspaceFolders (#1834)
  • fix: "Format Selection" embedded range incorrect with initialIndentBracket
  • fix: formatting break document with editor.formatOnPaste enabled (#1840) (#1841) (#1842) (#1843) (#1835)

0.40.10 (2022/9/7)

  • feat: improve "Format Selection" for html content
  • feat: uniquely scope attribute shorthands (#1812)
  • feat: add server name, version infos to LSP initialize response
  • fix: "Format Selection" should not format whole language block (#1833)
  • fix: formatting break document content randomly (#1827) (#1832)
  • fix: pug syntax highlighting confuses element id with interpolation (#1826)
  • fix: don't cache IDE settings if IDE do not support config change notification

0.40.9 (2022/9/6)

  • feat: improve vue document formatting
  • fix: script format loss indent (#1823)

0.40.8 (2022/9/6)

0.40.7 (2022/9/5)

  • feat: support multiple workspaces for document features
  • feat: add initializationOptions.completion.ignoreTriggerCharacters for LSP-Volar (https://github.com/sublimelsp/LSP-volar/issues/114)
  • feat: add vueCompilerOptions.experimentalComponentOptionsWrapper option for custom component options warpper (#1517)
  • fix: add missing surrounding pair "`" (#1659)
  • fix: formatting edit range incorrect edge case (#1814)
  • fix: typescript onType format do not respect typescript.format.enable
  • fix: document features stop working for script block (#1813)
  • fix: pug formatter extra spaces in {{ }} (#1784)
  • fix: template incremental parser broken when typing slot name

Breaking changes

  • vueCompilerOptions properties experimentalImplicitWrapComponentOptionsWithDefineComponent, experimentalImplicitWrapComponentOptionsWithVue2Extend replaced by experimentalComponentOptionsWrapper.

0.40.6 (2022/9/4)

  • feat: support language features for Web IDE (#612)
  • feat: update vite problemMatcher (#1801)
  • feat: add volar.vueserver.textDocumentSync option to disable incremental update (#1807)
  • fix: v-for, v-if textmate scopes incorrect (#1810)

0.40.5 (2022/8/31)

  • feat: suppor add or switch workspaces without restart server (#1574)
  • fix: sfc offset incremental update broken when input at block start
  • fix: document incremental update break document content on Sublime LSP (https://github.com/sublimelsp/LSP-volar/issues/120)
  • fix: unexpected prop types behavior with compilerOptions.exactOptionalPropertyTypes (https://github.com/vuejs/core/issues/6532)
  • fix: false positive error on <input typeof="radio" value="..."> (#1775)
  • fix: false positive style attribute inconsistent string type error (#1781)
  • fix: language server broken with outDir + rootDir + composite/incremental tsconfig options (#1782)
  • fix: json format should not trim first / end new line
  • fix: interpolation format adding redundant spaces (#1784)

0.40.4 (2022/8/29)

  • feat: respect VSCode *.format.enable settings
  • fix: template should not compile if content no change
  • fix: component preview not working on windows (#1737)

0.40.3 (2022/8/29)

  • perf: incremental update SFC blocks without full parse SFC and mitigate memory leak
  • perf: incremental update html template interpolation without recompile template
  • perf: cache ts.createSourceFile for tsx code gen
  • fix(vue-component-meta): cannot create checker with TS 4.8.2
  • fix: document features not working on Web IDE (#1479)
  • fix: avoid auto complete triggers too aggressive in Sublime (https://github.com/sublimelsp/LSP-volar/issues/114)

0.40.2 (2022/8/28)

  • feat(vue-component-meta): add createComponentMetaCheckerByJsonConfig API to support create checker without tsconfig
  • feat: move highlight dom elements ☑ codeLens to status bar (#1535)
  • feat: incremental update diagnostics cache range and avoid flicker (#1718)
  • perf: incremental update TS script snapshot (#1718)
  • perf: faster source map code mapping
  • fix: pug template tag mapping range incorrect (#1723)
  • fix: vite plugin import path incorrect on windows (#1772)
  • fix: false positive error on style attr when enabled compilerOptions.exactOptionalPropertyTypes (#1560)
  • fix: .html intellisense of petite-vue not working
  • fix: .html intellisense of alpie not working
  • fix: intellisense not working for node_modules files with takeover mode on windows (#1641)
  • fix: avoid vue-tsc type check .html, .md files (#1661)
  • fix: compilerOptions.types resolve path incorrect on multiple workspaces (#1679)
  • fix: cannot count script setup variable usage in template if disalbe jsx (#1729)
  • fix: cannot resolve indirect circular reference components types (#1708)
  • fix: cannot recognize namespace component (#1726)
  • fix: template components types break by regular SFC components option (#1731)
  • fix: indentation behavior incorrect (#1762)
  • fix: TS1308 'async' error missing when use script setup (#1753)

0.40.1 (2022/8/11)

  • fix: component context types missing in template if no script block (#1688)
  • fix: organize imports added invalid code (#1692)
  • fix: v-else template interpolation missing in virtual code (#1694)
  • fix: template interpolation formatting broken (#1697)
  • fix: inline css intellisense not working

0.40.0 (2022/8/10)

  • feat: support document highlights cross <script>, <template> (#462)
  • feat: support reference types from script setup in template (#891)
  • feat: support auto import in template (#823)
  • feat: support plugin api (#185) (#1687)
  • fix: template scope variables completion missing (#1284)
  • fix: prefer defineComponent instead of Vue.extend to wrap component options by default (#1584)
  • fix: bracket pair colorization in VSCode v1.70 (#1677)

0.39.5 (2022/8/6)

  • feat(vue-component-meta): add option to expose raw type (#1674)
  • fix(vue-component-meta): recursive schema parsing (#1660)
  • fix(vue-component-meta): parse defineProps in script setup with option (#1665)
  • fix: SFC syntax broken in vscode v1.70.0 (#1566) (#1675)
  • fix: vite app preview not working (#1668)
  • fix: diagnosis is slow on windows after v0.39.2 (#1663)
  • fix: compilerOptions.types not working since v0.39.2 (#1650)
  • fix: avoid auto-import path append .js (#1667)
  • fix: avoid variables defined after export default report TS_2454
  • perf: cache semver result on auto-complete

0.39.4 (2022/7/31)

  • feat: support ESM project (#1543)
  • fix: "Volar: Reload Project" command cannot detect node_modules change
  • fix: webview buttons show to unrelated extensions (#1611)

0.39.3 (2022/7/31)

  • feat(vue-component-meta): component schema improves (#1656)
  • feat(vue-component-meta): support options api props default (#1649)
  • feat: add "Volar: Reload Project" command (#1605)
  • fix: vue-tsc watch not working (#1647)

0.39.2 (2022/7/28)

0.39.1 (2022/7/23)

  • fix: typescript-vue-plugin break TS server (#1624)
  • fix: make takeOverMode.enabled: true behavior same with takeOverMode.enabled: 'auto'

0.39.0 (2022/7/23)

  • feat: updated vite problemMatcher (#1606)
  • feat: support Vite app preview for Vite v3 (#1616)
  • feat: support organizeImports in vue-typescript for prettier-plugin-organize-imports (#1480) (#1577)
  • feat: avoid takeover enabled with built-in TS extension do not disabled (#1622)
  • feat: expose vue-tsconfig.schema.json from @volar/vue-language-core
  • fix: fix workspaceTrust description (#1610)

Breaking changes

  • @volar/vue-typescript, @volar/vue-language-service apis refactored

0.38.9 (2022/7/20)

  • fix: path resolution incorrect in multi root workspaces on windows (#1585)
  • fix: goto definition not working for import path on windows (#1591) (#1593)
  • fix: update imports on file move not working (#1599)
  • fix: wrong check for whether jsx option is set (#1595)
  • fix: renaming .vue files breaks resolving import paths (#1125)

0.38.8 (2022/7/17)

  • feat: support for TS 4.8 (#1507)
  • feat: support --incremental flag for vue-tsc (#787)
  • fix: vue-tsc watch memory leak (#1106)
  • fix: re-fix template directives syntax highlight incorrect edge cases (#1423)

0.38.7 (2022/7/17)

  • feat: add volar.updateImportsOnFileMove.enabled option to disable file move refactoring (#1181)
  • feat: add volar.diagnostics.delay option for reduce CPU usage (#1295)
  • feat: add vueCompilerOptions.experimentalImplicitWrapComponentOptionsWithVue2Extend to support wrap component options by Vue.extend (#1337)
  • feat: support takeover mode for .cjs and .mjs (#1578)
  • fix: template syntax highlight broken if quotes missing (#761)
  • fix: self closing tag syntax highlight incorrect (#948)
  • fix: re-fix vue file import path auto-complete not working on windows (#1304)
  • fix: ts plugin stuck on empty project (#1146)
  • fix: tsconfig picking inaccurate (#1193)
  • fix: cannot resolve modules from extend tsconfg types option (#1262)
  • fix: file move refactoring unpredictable (#1273)
  • fix: avoid duplicate class attribute in pug (#1525)
  • fix: intellisense incorrect in new file (#1548)
  • fix: insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis break v-for format (#1398)
  • fix: document features not working in *.ts on takeover mode (#1563)

0.38.6 (2022/7/16)

  • fix: template syntax highlight broken (#1553, #1567, #1569, #1564, #1491)

0.38.5 (2022/7/11)

  • fix: file path resolve incorrect on windows (#1554, #1555, #1556, #1557, #1558, #1559)

0.38.4 (2022/7/11)

  • feat: add vueCompilerOptions.strictTemplates (#1418)
  • fix: don't auto close ` (#1428)
  • fix: change unknown slot type from unknown to any (#1541)
  • fix: SFC templates outline incorrect (#1531)
  • fix: slot shorthand highlighting incorrect if have not = (#1423)
  • fix: vue file import path auto-complete not working on windows (#1304)
  • fix: avoid duplicate result in html (#1552) (#1530)
  • fix: code action document edit version incorrect (#1490)

Breaking changes

  • experimentalSuppressUnknownJsxPropertyErrors, experimentalSuppressInvalidJsxElementTypeErrors is replaced by strictTemplates.

      {
          "vueCompilerOptions": {
      -        "experimentalSuppressUnknownJsxPropertyErrors": false,
      -        "experimentalSuppressInvalidJsxElementTypeErrors": false,
      +        "strictTemplates": true
          },
      }

0.38.3 (2022/7/7)

  • feat: support html, css intellisense for petite-vue (#1471)
  • fix: avoid unknown jsx property error for vue 2.7 (#1533)
  • fix: fixed GlobalComponents interface not working edge case (#1489)
  • fix: stricter slots type extracting (#1522)
  • fix: nuxt app preview not working

0.38.2 (2022/6/26)

  • feat: update support for vite-plugin-vue-component-preview v0.2
  • feat: improve component preview UX
  • feat: add --version flag for vue-language-server (#1510)
  • fix: css class name codeLens range inaccurate (#1485)

0.38.1 (2022/6/19)

  • fix: fixed isIntrinsicElement is not a function error (#1478)

0.38.0 (2022/6/19)

  • feat: support component preview for Vite + Vue 3 (#1476) \ you need to install vite-plugin-vue-component-preview manually to support this feature
  • feat: support auto insert .value for vue 2 (#1466)
  • fix: cannot define global components types with @vue/runtime-core in Vue 2 (#1469)
  • fix: cannot emit declaration with script setup on vue-tsc (#1459)
  • fix: component auto import unreliable (#1470)
  • fix: camel case scope css class name intellisense not working (#1447)
  • fix(petite-vue): cannot access script tag local variables (#1471)

0.37.9 (2022/6/16)

  • perf: only support VitePress, petite-vue when *.md, *.html explicitly added in tsconfig include property (#1463)
  • fix: respect codeAction.disabledSupport capability (#1454)
  • fix: auto import component tag name including "Vue" on import (#1461)
  • fix: don't recognize components without script blocks as js languages (#1452) (#1455)
  • fix: scope class name doesn't show underline (#1447)
  • fix: withDefaults syntax break in lang="tsx" (#1458)
  • fix: alpine-language-server bin script name incorrect (#1460)

0.37.8 (2022/6/14)

  • feat: create alpine-language-features extension for support Alpine.js via reuse petite-vue language support works
  • fix: petite-vue createApp arg range inaccurate
  • fix: vue component context properties missing in petite-vue template

0.37.7 (2022/6/13)

  • fix: cannot resolve external vue file path (#1445)
  • fix: petite-vue v-scope data type loss in inline handlers (#1442)
  • fix: petite-vue createApp() initialData type missing in template (#1444)

0.37.6 (2022/6/13)

  • fix: SFC syntax highlight broken if directives missing = sign

0.37.5 (2022/6/13)

  • feat: support petite-vue
  • fix: don't active VitePress intellisense for .md if file path in not include by tsconfig (#1430)
  • fix: cannot direct execution of fileReferences command (#1419)
  • fix: avoid "`" auto close break markdown code block input (#1428)
  • fix: component props completion info box missing in template
  • fix: false positive props type error when JS component usage in TS component (#1426)
  • fix: cannot recognize component properties in type reference in template (#1422)
  • fix: slot binding type annotation not working if parent component is <component :is> (#1425)
  • fix: patch invalid : character in tag name (#1435)
  • fix: auto closing pairs not working in template expressions (#1437)
  • perf: faster markdown content parsing for vitepress

0.37.3 (2022/6/8)

  • feat: support find file references
  • feat: improve vitepress markdown parse reliability (#1410)
  • feat: vueCompilerOptions.experimentalSuppressInvalidJsxElementTypeErrors default true (#1405)
  • fix: fixed TS error with props beginning with data* (#1413)

0.37.2 (2022/6/7)

  • feat: show deprecation message for experimentalCompatMode
  • fix: kebab case component type broken in vue 2 (#1405)

0.37.1 (2022/6/7)

  • feat: add experimentalSuppressInvalidJsxElementTypeErrors option to ignore missing component import error (#1404)
  • perf: support auto-import cache even TS version < 4.7 (#1406)
  • perf: simplify template generated tsx code

0.37.0 (2022/6/6)

  • feat: VitePress support (#1399)
  • feat: support html.autoCreateQuotes for pug
  • feat: enabled references codeLens for slots when use script setup
  • feat: detect missing component import (#1203)
  • feat: support --generateTrace for vue-tsc (#1375)
  • fix: dynamic slot name breaks template type checking (#1392)
  • fix: don't report property does not exist error for data-* and aria-*
  • fix: html selection highlight ranges incorrect (#1393)
  • fix: avoid DefineComponent type loss when use script setup (#1391)
  • fix: css module $style inconsistent between vue-tsc and vscode (#1089)
  • fix: css class name and v-bind should not active in style comments
  • fix: unused console.log to adapt vim-lsp (#1391)
  • fix: language server stuck on incomplete style variable injection expression (#1359)
  • fix: remove __VLS_ result from code actions

Breaking changes

  • vueCompilerOptions.experimentalCompatMode is renamed to vueCompilerOptions.target.

      {
          "vueCompilerOptions": {
      -        "experimentalCompatMode": 2
      +        "target": 2
          },
      }

0.36.1 (2022/6/4)

  • feat: add vueCompilerOptions.experimentalSuppressUnknownJsxPropertyErrors option for unkonwn props reporting
  • fix: template slots types missing when use export default in <script> with <script setup> (#1389)
  • fix: fixed false positive __VLS_radioBinding on radio input tag. (#1390)

0.36.0 (2022/6/3)

  • feat: support format selection (range formatting) (#1370)
  • feat: support format on type
  • feat: support @ts-check, @ts-nocheck for template (#1369)
  • feat: improve slots auto-complete (#1251)
  • feat: support jsdoc for jsx IntrinsicElement (#1212)
  • feat: experimental support for vue 2.7 with "experimentalCompatMode": 2.7
  • feat: support typed template slots for script setup (#1253)
  • fix: --extendedDiagnostics not working on vue-tsc (#1375)
  • fix: template diagnostics incomplete on vue-tsc (#1372)
  • fix: respected textDocument.completion.completionItem.insertReplaceSupport (#1373)

Breaking changes

  • feat: report error for unkonwn props (#1077) (Disabled by default in v0.36.1)

0.35.2 (2022/5/30)

  • feat: add tsc problemMatchers settings (#1277)
  • fix: cannot watch external .d.ts file changes (#1343)
  • fix: incorrect typescript error report with hgroup in template (#1340)
  • fix: style variable injection syntax highlight not working for style languages other then css (#1365)
  • fix: false positive type check for method arguments with defineExpose (#1364)
  • fix: avoid html emmet active in style block (#1358)
  • fix: unable to recognize the type of parameters as alongside <script setup> (#1324)
  • fix: component export default jsdoc loss when use <script setup> (#1327)
  • fix: false positive @ts-expect-error error in withDefaults() (#1336)

0.35.0 (2022/5/28)

  • perf: support TS auto-import cache for TS 4.7 (#1360)
    • Please use 0.34.17 for TS 4.6.4 or lower

0.34.17 (2022/5/28)

  • feat: do not show unknown tag as red (#1247)
  • feat: do not default enable editor.semanticHighlighting.enabled
  • feat: support syntax highlight for style variable injection
  • fix: auto import creates wrong identifier when dot in file name (#1335)
  • fix: avoid language server crash on TS 4.7 (#1300)
  • fix: namespaced component type-check not working

0.34.16 (2022/5/23)

  • feat: add experimental option vueCompilerOptions.experimentalRuntimeMode for adapt uni-app (#1308)
  • fix: type narrowing broken by local variable declare in template (#1312)
  • fix: cannot recognize component context on arg typeof of arrow function in template (#1326)
  • fix: emmet suggestion interrupt when input symbol (#1322)
  • fix: split editors layout not following settings volar.splitEditors.layout.* (#1330)

0.34.15 (2022/5/16)

  • feat: support auto-complete for template local variables (#1284)
  • feat: check if vetur is active on doctor panel (#1305)
  • feat: enabled experimentalImplicitWrapComponentOptionsWithDefineComponent for lang="js" by default (#1298)
  • feat: add vueCompilerOption.experimentalDowngradePropsAndEmitsToSetupReturnOnScriptSetup option to improve intellisense on script setup for lang="js" (#1192)

0.34.14 (2022/5/13)

  • feat: add setting volar.vueserver.maxOldSpaceSize to modify language server memory limit (#1299)
  • feat: add settings volar.preview.script.vite, volar.preview.script.nuxi to customize preview server command
  • feat: move takeover mode status to status bar (#1294)
  • feat: add settings to customize split editors layout (#810)
  • fix: tsconfig status and ts version status dons't show with ts file on takeover mode

0.34.13 (2022/5/12)

  • feat: list vue meetup events on preview loading
  • feat: show basic infos by doctor command (#1254)
  • fix: avoid tsconfig include .vue files outside rootDir with typescript plugin (#1276)

Breaking changes

  • Changed vueCompilerOptions property experimentalShamefullySupportOptionsApi to experimentalImplicitWrapComponentOptionsWithDefineComponent and disabled by default (#1291)

0.34.12 (2022/5/10)

  • chore: change extensions publisher (#1124)
  • feat: add "warning" option to experimentalShamefullySupportOptionsApi and make default
  • feat: allow type narrowing in inline handlers bu config "experimentalAllowTypeNarrowingInInlineHandlers": true in vueCompilerOptions (#1249)
  • fix: avoid report error with config "module": "es2015" in tsconfig (#1263)
  • fix: find references result has invalid item
  • fix: property access errors loss in template (#1264)
  • fix: cannot rename html tag in some cases (#1272)

0.34.11 (2022/4/29)

  • fix: cannnot trigger auto-complete in import statement by input space
  • fix: duplicate diagnostics in *.ts on takeover mode (#1234)
  • fix: style block has redundant html emmet result (#1244)
  • fix: language server crash with low TS version (#1242)
  • fix: directives type-check not working (#1228)
  • fix: auto-complete replace range incorrect in import statement (#1227)

0.34.10 (2022/4/24)

  • fix: template bindings error incomplete (#1205)
  • fix: avoid auto-import added on same line as <script> (#916)
  • fix: embedded html interpolations syntax highlight not working in markdown
  • fix: inlay hints not working in template
  • fix: preview broken on nuxt3 rc (#1225)
  • fix: cannot use import equals in script setup (#1223)
  • fix: directives syntax highlight display incorrect in html comment inside svg tag (#1206)

0.34.9 (2022/4/21)

  • fix: vue documents diagnostics cannot update when other drive ts file changed
  • fix: ts declaration diagnostics missing (#1222)

0.34.8 (2022/4/21)

  • feat: support inlay hints (#452)
    • if you're not using VSCode, you should config new option languageFeatures.inlayHints = true in initializationOptions to enable it
  • feat: allow disable highlight dom elements on preview (#1209)
  • feat: improve dom elements highlight display refresh
  • fix: typescript.format.semicolons should not affect text interpolation (#1210)
  • fix: vscode settings cannot update for document features (#1210)
  • fix: {{ { foo } }} object literal expression not working on text interpolations
  • fix: cannot infer event type with prop name format onFoo-bar (#1023)
  • fix: scoped class references not accurate on long document (#1059)
  • fix: cannot update unediting vue document diagnostics (#1163)
  • fix: emmet not working in style block (#1145)
  • fix: nuxt preview not working on windows (#1123)

0.34.7 (2022/4/16)

  • feat: add option experimentalShamefullySupportOptionsApi to vueCompilerOptions (#1202)
  • fix: use html renaming instead of ts renaming on tags (#1201)
  • fix: not support lowser node version (#1200)
  • fix: cannot update global components props completion list (#1196)
  • fix: svg attributes report false positive void type (#1184)
  • fix: css module types missing on template context (#1178)
  • fix: false positive error with withDefaults + "strictNullChecks": false (#1187)

Breaking changes

0.34.6 (2022/4/12)

  • feat: add prompt for "jsx": "preserve" missing
  • fix: auto-complete break language server if "jsx": "preserve" missing (#1171)
  • fix: typescript plugin extension not working (#1173)
  • fix: code action not working on *.ts with take over mode (#1169)
  • fix: object computed property name report false positive error in template (#1176)
  • fix: should count variable uses with ref attribute (#1168)

0.34.5 (2022/4/11)

  • feat: preset "jsx": "preserve" for non-tsconfig project
  • fix: avoid template report errors if "jsx": "preserve" missing (#1161)
  • fix: attrs auto-complete and tag highlight incorrect on js project (#1158)
  • fix: script setup report false positive error with defineExpose type arg (#1165)

Breaking changes

  • @volar/pug-language-service now is a optional depend on vue-tsc, you need to install it additionally to support pug template type-checking on vue-tsc (#1092)

0.34.4 (2022/4/12)

  • fix: script setup report false positive error with multi-line interpolation
  • fix: object spread assignment not working in template
  • fix: html formatting result incorrect

0.34.3 (...)

  • feat: release @volar/preview for support vite, nuxt 3 app preview features other then vscode IDEs (#1115)
  • fix: require() should not report error in template (#1161)
  • fix: template interpolations syntax broken with inline block comments (#1143)
  • fix: vue-tsc emit declaration diagnostics incomplete (#1127)
  • fix: ts plugin should not affect to non-vue project (#1144)
  • fix: object literal santax not working in directive and v-for expressions (#1160)
  • fix: shorthand property assignment santax not working in template (#1156)
  • fix: should not emit __VLS_ files file with vue-tsc --declaration --emitDeclarationOnly
  • fix: experimentalDisableTemplateSupport not working
  • fix: formatting crashes with inline v-bind on scoped v-slot (#1151)
  • fix: language server broken in js project without allowJs

Breaking changes

  • Changed experimentalResolveNonScopedCssClasses to experimentalResolveStyleCssClasses (#1121)

0.34.2 (2022/4/10)

  • fix: add missing depend for vue-tsc (#1154)
  • fix: css format should not trimmed new lines (#1155)

0.34.1 (2022/4/10)

  • fix: fixed vue-tsc broken regression

0.34.0 (2022/4/10)

  • feat: expose useConfigurationHost for external language feature plugins
  • perf: faster language server initialization
  • perf: simplify template script generation (#455)
  • perf: reduce TS language service instances (#1108)
  • fix: web bundle lead to package size greatly increased (#1084)
  • fix: undefined sortText break vim (#1118)
  • fix: template context do not update by external .ts scripts (#565)
  • fix: not respect HTML completion settings (#1139)
  • chore: default disabled volar.autoCompleteRefs for reduce CPU usage

Breaking changes

  • Not support typed template slots for now (#1108)
  • Not support emits renaming
  • Not support props renaming for Vue.extends or lang="js"
  • Changed built-in HTML formatter from prettyhtml to vscode-html-languageservice (#1078)
  • Changed built-in CSS formatter from prettier to vscode-css-languageservice (#1131)
  • Changed setting volar.lowPowerMode to volar.vueserver.useSecondServer and disabled by default
    • When disabled, language service instance reduce a half of memory usage, but auto-complete should be slower in expected
  • "jsx": "preserve" now is required for template type-checking (#1153)

0.33.10 (2022/3/27)

  • feat: support preview features on external browser
    • press Alt key to activating go to code feature
  • fix: can't open multiple preview windows

0.33.9 (2022/3/25)

  • perf: faster vue-tsc watch response
  • fix: memory leak on vue-tsc watch (#1106)
  • fix: emmet block html src path completion (#1105)

0.33.8 (2022/3/24)

  • feat: highlight selections code on preview
  • feat: add setting to disable preview icons (#1101)

0.33.7 (2022/3/23)

  • feat: support nuxt 3 app preview and goto code
  • fix: avoid click event on element when use goto code
  • fix: style codeLens references always show 0 references (#1095)

0.33.6 (2022/3/22)

  • fix: TS completion not working in interpolations (#1088)
  • fix: not respected html.autoCreateQuotes, html.autoClosingTags settings (#840)
  • fix: organize imports code action edge range incorrect (#1091)
  • fix: don't report css module $style types error on vue-tsc (#1089)
  • fix: css vars no effect on vue-tsc (#1093)

0.33.5 (2022/3/21)

  • fix: diagnostics not update (#1076)

0.33.4 (2022/3/21)

  • fix: expand selection broken since 0.33.0 (#1085)
  • fix: vueCompilerOptions typo experimentalRsolveNonScopedCssClasses -> experimentalResolveNonScopedCssClasses
  • fix: 0.33.3 release packages missing /out directory (#1086)

0.33.3 (2022/3/21)

  • feat: support attribute binding syntax :<name>.attr (#1047)
  • feat: supoprt document features for Web IDE (#612)
  • feat: add option to support intellisense for non-scoped css (#1038)
  • feat: reduce vue-tsc depends
  • fix: json schema request service not available since 0.33.0 (#243)
  • fix: remove console.log avoid vim-lsp crash (#1046)
  • fix: emmet suggestions messed up embedded language suggestions (#1039)
  • fix: missing proposals for HTML attribute value (#1072)
  • fix: vue-tsc watch not always catch vue file changes (#1082)
  • fix: previewer not working with pnpm (#1074)
  • fix: global components type not working with vue-class-component (#1061)
  • fix: goto component definition not working with some syntax (#435) (#1048)
  • fix: directives argument should be optional if argument could be undefined (#1040)

0.33.2 (2022/3/15)

  • feat: add option vueCompilerOptions.experimentalDisableTemplateSupport to disable template type-check and intellisense (#577)
  • fix: avoid props jsdoc erase by withDefaults
  • fix: sponsors svg never update

0.33.1 (2022/3/14)

  • feat: improve formatting error tolerance (#1033)
  • fix: template report unexpected errors (#1036) (#1037)
  • fix: can't extract template context in js (#1035)

0.33.0 (2022/3/13)

  • feat: reduce vue-tsc depends
  • feat: support more language features for lang="json" custom block
  • feat: support for goto implementations
    • if you're not using VSCode, you should config new option languageFeatures.implementation = true in initializationOptions to enable it
  • feat: support custom language service plugins for (#1028):
    • change built-in formatters
    • add language support for custom block with any other language yourself
  • feat: support vue-tsc watch (#1030)
  • feat: preview features not longer needed authentication
  • fix: pug formatting broken (#1002)
  • fix: vite app preview not working on windows (#1013)
  • fix: fallback event type behavior for invalid type components (#1001) (#1026)

Breaking changes

  • @volar/server renamed to @volar/vue-language-server
    • cli command vue-server changed to vue-language-server
  • vscode-vue-languageservice renamed to @volar/vue-language-service
  • vscode-typescript-languageservice renamed to @volar/typescript-language-service
  • vscode-json-languageservice renamed to @volar/json-language-service

0.32.1 (2022/3/2)

  • feat: support generic events with props (#981)
  • fix: slots references always 0 (#932)
  • fix: source.organizeImports not working in editor.codeActionsOnSave (#906)
  • fix: component type incorrect if duplicate name with current <script setup> file name (#944)
  • fix: language server broken if TS version < 4.4 (#962)
  • fix: pug outline element level incorrect (#969)
  • fix: document symbols confusion between <script> and <script setup> (#994)
  • fix: vite icon do not show with first editor

0.32.0 (2022/2/25)

  • feat: experimental webview features for vite (#208)
  • perf: bundle extension to speed up startup

0.31.4 (2022/2/14)

  • perf: faster auto-import completion (#808)

0.31.3 (2022/2/13)

  • feat: trigger event auto-complete when input @ (#949)
  • feat: add v-bind:*, v-on:* to auto-complete (#949)
  • feat: avoid auto import added in script block first line (#916)
  • fix: language features not working in symbolic link project (#914)
  • fix: language server throw in process.env.NODE_ENV === 'production' env (#915)
  • fix: component type broken by union event key type (#926)
  • fix: document symbol not working for <script setup> (#938)

0.31.2 (2022/2/6)

  • feat: improve scoped css class name references codeLens, auto-complete (#907)

0.31.1 (2022/1/22)

  • fix: support type export statements on the top in <script setup> (#886)

0.31.0 (2022/1/22)

  • feat: support generic emits (#877)
  • feat: support top level await in <script setup> without extra tsconfig setting (#538)
  • feat: fully support formatting for v-for expression
  • fix: can't ignore variable unused report by _ prefixes in v-for (#878)
  • fix: no error when definitions from <script setup> used in <script> (#766)

0.30.6 (2022/1/19)

  • fix: re-support withDefaults for props type in template (#868)
  • fix: tsconfig report schemas/tsconfig.schema.json missing (#869)
  • fix: enabled editor.semanticHighlighting.enabled by default to avoid component tag show invalid color when installed some themes
  • fix: export default expression semicolon breaks component type in script setup (#874)
  • fix: don't wrap options with defineComponent when convert to setup sugar

Breaking changes

  • When use <script setup>, ignore extra component options wrapper function (defineComponent / Vue.extends ...)

0.30.5 (2022/1/17)

  • fix: vueCompilerOptions intellisense not working on jsconfig
  • fix: vue-tsc broken on windows in 0.30.3

0.30.4 (2022/1/16)

  • fix: component tag semantic highlisht token incorrect with folding (#801)
  • fix: component type broken by withDefaults in 0.30.3

Breaking changes

  • Unsupported withDefaults for component props type

0.30.3 (2022/1/16)

  • feat: auto wrap () to as expression (v-bind="foo as string" -> v-bind="(foo as string)" (#859)
  • feat: support tsconfig properties intellisense on take over mode (#833)
  • feat: support vueCompilerOptions intellisense in tsconfig (#833)
  • fix: vue-tsc and typescript could't guaranteed found each other (#851)
  • fix: avoid vue-tsc stripped props jsdoc comments for script setup components (#799)
  • fix: string source type incorrect in v-for (#839)

Known regressions

  • component type broken by withDefaults
  • vue-tsc broken on windows

0.30.2 (2022/1/4)

  • feat: jsdoc comment suggestion (#827)
  • feat: TS directive comment suggestion
  • feat: auto insert attribute quotes
  • fix: css error range not reliable (#826)
  • fix: html, css completion trigger characters
  • fix: allow loose vue language id for markdown (#831)
  • fix: avoid auto close tag with undo (#837)

0.30.1 (2021/12/27)

  • feat: support vue 2 component slots type (#819)
  • feat: expose component public instance type by defineExpose
  • feat: support scoped class name auto-complete (#752)
  • feat: alway show commands after extension activated (#795)

Breaking changes

  • Unsupported vueCompilerOptions.experimentalExposeScriptSetupContext option

0.30.0 (2021/12/21)

  • feat: support components type-check by static components for class-base component (#753)
  • feat: support vueCompilerOptions.experimentalExposeScriptSetupContext option for jest (#805)
  • feat: support typescript.suggest.autoImports setting (#746)
  • fix: @vue/composition-api defineComponent types incorrect in template (#780)
  • fix: directives syntax highlight incorrect in svg tag (#776)
  • fix: project references ignored jsconfig (#756)
  • fix: html semantic tokens range incorrect in long template code (#801)
  • fix: typescript.preferences.importModuleSpecifier setting not working for component auto import (#793)
  • fix: Organize Imports commmand not always working (#798)
  • fix: css variable injection virtual code cannot update (#777)
  • fix: should not initializes new language service when create a new file (#802)
  • fix: new file first diagnostics incorrect

Breaking changes

  • Do not support component context types in template for export default { ... } without Vue.extend or defineComponent (#750)

0.29.8 (2021/11/30)

  • perf: cache URI.file, URI.parse results
  • fix: pug template type-check broken with omit tag name
  • fix: language server broken with tsconfig extends a non-relative path (#747) (#749)

0.29.7 (2021/11/29)

  • feat: support html, css custom data (#707)
  • feat: support extends tsconfig vueCompilerOptions (#731)
  • fix: cannot config project reference by directory path (#712)
  • fix: pug attrs type-check borken by nested tags (#721)
  • fix: import path rename result incorrect (#723)
  • fix: editor.codeActionsOnSave: ["source.organizeImports"] not working (#726)
  • fix: goto definition not working with some component import statement (#728)
  • fix: don't show volar commands in non-vue document (#733)
  • fix: vue-tsc not working with symlink (#738)

0.29.6 (2021/11/21)

  • fix: attrs show unexpected "not exist" error (#710)
  • fix: verify all scripts not working if no jsconfig / tsconfig
  • fix: organize import edit text range incorrect (#714)
  • fix: class component props type-check not working with multiple props (#705)
  • fix: emmet should not active in template interpolations
  • fix: TS semantic highlight not working

0.29.5 (2021/11/15)

  • feat: open tsconfig when click in status bar
  • feat: add experimentalTemplateCompilerOptionsRequirePath option to allow import compiler options from js file (#698)
  • fix: pug folding ranges break by empty line (#688)
  • fix: reduce the intrusiveness of template type-check hacks (#689)
  • fix: @volar/server entry files missing in npm publish (#695)
  • fix: language server immediately crashes when trigger request at incomplete TS code (#699)
  • fix: html / css path resolve incorrect on windows edge cases (#694)
  • doc: fix incorrect experimentalTemplateCompilerOptions example: "compatConfig": { "Mode": 2 } -> "compatConfig": { "MODE": 2 }

0.29.4 (2021/11/12)

  • feat: syntax highlight support for Web IDE (#612)
  • fix: semantic highlight can't update if project have no tsconfig or jsconfig (#685)

0.29.3 (2021/11/27)

  • feat: support syntax highlighting for lang="toml" (#684)
  • fix: subfolder path resolve logic cause to TS crash edge case (#679)

0.29.2 (2021/11/9)

  • fix: document server created multi time
  • fix: html hover not working in some non-VSCode clients (#678)

0.29.1 (2021/11/9)

  • fix: template AST broken by empty line in pug (#676)
  • fix: intellisense not working if project have no jsconfig / tsconfig (#680) (#681)

0.29.0 (2021/11/7)

  • feat: support namespaced component (#372)
  • feat: more strict .value auto-complete condition
  • feat: show current tsconfig on status bar
  • feat: provide public api to generate script setup type-check code (#650)
  • feat: add sass formatter
  • fix: can't exit split editors by click icon edge cases
  • fix: semantic tokens not working in pug template
  • fix: script setup component name not recognized edge cases
  • fix: ignore template language support if not html or pug (#659)
  • fix: tsconfig types paths resolve incorrect in monorepo (#661)
  • fix: can't update diagnostics on windows + atom
  • fix: project finding logic incorrect with tsconfig referencecs option (#649)
  • fix: {{ }} colorized bracket pairs not working
  • fix: documentSymbol, foldingRanges not working to some *.ts files on take over mode

Breaking changes

  • experimentalCompatMode behavior changed (#576)\ do not force config compatConfig: { Mode: 2 } to template compiler with "experimentalCompatMode": 2

0.28.10 (2021/10/28)

  • feat: improve pug folding range (#636)
  • feat: improve pug tag, attr auto-complete (#638)
  • fix: if trigger component auto-import multiple times, import edit text accumulate (#639)
  • fix: filter current component from component auto-import list
  • fix: normalize request uri for Sublime / Atom (#637)

Known regressions

  • semantic tokens not working in pug template

0.28.9 (2021/10/26)

  • feat: use VSCode 1.61 Split Editor In Group instead of create new editor (#608)
  • feat: split editors layout change from script | template | style to script + style | template
  • feat: tag name conversion work done progress
  • fix: language server broken by circular tsconfig project references (#525) (#631) (#632)
  • fix: vue-tsc can't show "incremental mode / watch mode not support" error message (#630)
  • fix: tag name kebab case -> pascal case conversion not working
  • fix: LSP workspace configuration option not supported (#626)
  • fix: no edit to components option when component auto-import (#634)

0.28.8 (2021/10/24)

  • feat: support html hover settings (#627) (#615)
  • fix: withDefaults can't narrowing props undefined (#611) (#614)
  • fix: vueCompilerOptions not working with vue-tsc --project flag (#613) (#615)
  • fix: tsconfig project references are not respected (#525)

0.28.7 (2021/10/18)

  • fix: can't access $slots, $props... in template if no script block (#601)
  • fix: defineEmit not working with type alias (#607)
  • fix: GlobalComponents working for vue2 (#609)

0.28.6 (2021/10/16)

0.28.5 (2021/10/16)

  • feat: support search workspace symbols (command / ctrl + T) (#549)
  • fix: alias path completion not working in root segment (#589)
  • fix: can't convert invalid component type to any (#594)
  • fix: <script> document symbols result inconsistent to TS

0.28.4 (2021/10/15)

  • feat: support for open *.ts to enable take over mode
  • fix: any type component should not show red color
  • fix: auto-import should not from virtual file __VLS_vue (#584)
  • fix: path auto-complete not working in template (#589)

0.28.3 (2021/10/12)

  • feat: add option to disable component auto import (#440)
  • feat: add volar.takeOverMode.enabled setting to allow enable take over mode even TS extension active
  • fix: only the last typed event of defineEmits gets recognized (#578)
  • fix: syntax highlight incorrect if event name has number
  • fix: dynamic slot syntax highlight incorrect
  • fix: interpolations syntax highlight should not active in html comment block
  • fix: multi-line event expression formatting indent incorrect (#579)

0.28.2 (2021/10/11)

  • fix: args-less events type incorrect (#575)
  • fix: @vue/composition-api events type incorrect (#576)

0.28.1 (2021/10/9)

  • fix: don't report error Its return type 'xxx' is not a valid JSX element. to invalid functional component type (#574)
  • fix: improve $emit types extract for events type-checking (#567)
  • fix: css class references not working for pug (#569)
  • fix: completion broken in Sublime (#573)

0.28.0 (2021/10/8)

  • feat: make vue-tsc version consistency to volar (vue-tsc#72)
  • feat: remove tsPlugin prompt
  • feat: remove vue-tsc version checking
  • fix: avoid noPropertyAccessFromIndexSignature effect to slots (#561)
  • fix: interpolations syntax highlight not working in html (#562)
  • fix: style attr can't end with ' (#563)
  • refactor: rewrite vue-tsc by TS

0.27.30 (2021/10/6)

  • feat: support syntax highlight for vue blocks in markdown
  • feat: support vue directives, interpolations syntax highlight for html / pug code outside vue script
  • fix: template type-checking incorrectly reports error when using pnpm
  • fix: template slots type-check broken
  • fix: allow component type that missing $props property
  • fix: slots type broken by expression-less attributes

0.27.29 (2021/10/6)

  • fix: don't pass unsupport component type to JSX (#553)
  • fix: dynamic props borken (#555)
  • fix: don't show virtual files in find references result
  • fix: directives type-check broken

Breaking changes since 0.27.27

  • If your project includes Storybook or @types/react, you need to config tsconfig types option to avoid @types/react affect to template type-checking. See #552.

0.27.28 (2021/10/3)

  • feat: support generic $slots types
  • feat: improve v-for typing (#546)
  • feat: support vue project isn't root folder (#541)
  • fix: slots type of any type component incorrect (#547)
  • fix: optional $slots type incorrect
  • fix: ignore union type component to avoid error in template (vue-tsc#80)

0.27.27 (2021/10/2)

  • feat: support slots type-checking by $slots property (#539)
  • fix: generic props type-check not working
  • fix: Map index type incorrect in v-for (#544)

0.27.26 (2021/9/28)

  • fix: variables unused report can't update in *.ts in take over mode
  • fix: when save file, next document changes diagnostics, semantic tokens incorrect

0.27.25 (2021/9/26)

  • feat: add open VSCode settings json button in takeover mode prompt
  • feat: disable code convert codeLens by default
  • perf: use VSCode's file watcher instead of TS file watcher to reduce cpu usage (#523)
  • perf: remove redundant fileExists logic
  • fix: fixed zero length TS diagnostics missing (#527)
  • fix: import statements auto-complete not working in latest VSCode

0.27.24 (2021/9/23)

  • feat: support TS annotation on v-model (#518)
  • fix: events type-check don't report errors (#516) (#517)
  • fix: hyphen events types incorrect (#515)
  • fix: find references, renaming not working to template in takeover mode (#519)
  • fix: exclude files should fallback to inferred project (#511) (#445)

0.27.23 (2021/9/20)

  • feat: support <script setup> types in template expressions
  • feat: support TS syntax highlighting in template expressions
  • perf: cpu keep high usages if node_modules contains lot of d.ts files (#507)
  • perf: lazy calculation TS plugin proxy, TS program proxy to reduce initialization time (#507)
  • fix: SFC validation broken with lang="postcss" (#508)

0.27.22 (2021/9/19)

  • feat: remove TS plugin to single extension (#501)
  • fix: v-for item type report circular reference edge case
  • fix: external file snapshot cannot update in TS plugin (#506)
  • fix: cannot extract superset DefineComponent emit option type (#495)
  • fix: sometime component props auto-complete not working in template
  • fix: should not ignore .vitepress folder (#506)
  • fix: fixed a few drive file update event logic

0.27.21 (2021/9/16)

  • feat: support css settings (#492)
  • perf: cache vscode configuration
  • fix: props auto-complete not working for hyphenate components (#487)
  • fix: inline style with line break is broken (#489)
  • fix: cannot find module 'upath' in vscode-pug-languageservice (#493)

0.27.20 (2021/9/14)

  • perf: improve template type-checking performance
  • fix: template component tags coloring range incorrect
  • fix: improve vue-tsc version checking accuracy
  • fix: language server broken when typed \ (#468)
  • fix: remove old status bar items when restart servers (#486)
  • fix: fixed emits type extract failed edge cases

0.27.19 (2021/9/13)

  • feat: support dynamic prop
  • perf: much faster template type-checking for vue-tsc

0.27.18 (2021/9/11)

  • feat: support renaming for ref="xxx" (#472)
  • feat: support bracket pair colorization
  • fix: request failed when typing import | if TS version < 4.3 (#468)
  • fix: ref attribute type incorrect (#473)
  • fix: v-bind + single quote parse failed (#474)
  • fix: tag name conversion not working (#475)
  • fix: auto import path preview not working

0.27.17 (2021/9/9)

  • 🎉 feat: take over mode (#471)
  • feat: ts plugin status bar default hide
  • feat: improve accurate style variables support (#463)
  • fix: javascript format settings not working (#466)
  • fix: semantics token not working in *.ts (#469)
  • fix: fixed formatting result broken extreme case (#470)

0.27.16 (2021/9/7)

  • feat: reuse volar.tsPlugin
  • fix: can't override events type by props
  • fix: don't report error on unknown events
  • fix: any type comoponent should not show red (#461)
  • fix: html element attrs type-check broken

0.27.15 (2021/9/6)

  • fix: template slot type-checking broken (vue-tsc#70)
  • fix: more accurate component props extract (#459)

0.27.14 (2021/9/6)

  • feat: expose @volar/server/out/index.js to volar-server command (#458)
  • fix: component type incorrect if duplicate name in props (#453)
  • fix: fixed typescript.serverPath relative path finding

0.27.13 (2021/9/4)

  • feat: support TS 4.4 (#428)

0.27.12 (2021/9/3)

  • feat: support vue2 nameless event (vue-tsc#67)
  • feat: support lsp client which unsupported workspaceFolders
  • fix: /** */ auto close not working (#446)

0.27.11 (2021/9/1)

  • feat: unused dynamic registration to adapt nvim LSP #441#issuecomment-895019036
  • fix: can't not find template context properties if <script> block missing (#437)
  • fix: import completion incorrectly append $1 (#371)
  • fix: completion should retrigger by space
  • fix: json types cannot update in *.vue on editing

0.27.10 (2021/8/31)

  • fix: <script src> unprocessed since v0.27.8 (vue-tsc#65)
  • fix: TS plugin not working since v0.27.8 (#435)
  • fix: de-ref-sugar conversion can't add missing imports
  • fix: more acurrate code action result

0.27.9 (2021/8/29)

  • feat: low power mode (#390)
  • feat: improve setup sugar conversion
  • fix: setup sugar convert failed since v0.27.8
  • fix: incorrect indentation after generic argument (#429)

0.27.8 (2021/8/29)

  • feat: consistent folding range with typescript-language-features (#414)
  • feat: support custom directives type-checking with <script setup> (#422)
  • feat: check directives used for <script setup> (#327)
  • feat: improve SFC parser (#420)
  • feat: .vscodeignore whitelist (#423)
  • feat: more loose template type-check with <script lang="js">
  • fix: specific language syntax highlighting not working with single quotes (#409)
  • fix: component should be any is no script block (#412)
  • fix: add @volar/server missing deps (LSP-volar#9)
  • fix: add @volar/transforms missing deps (#430)
  • fix: jsx / tsx syntax highlighting broken by html syntax injection (#426)
  • perf: fixed high CPU usage after switched branch (#432)

Breaking changes

  • remove tsPlugin required / unrequired prompt and volar.tsPlugin setting

0.27.7 (2021/8/22)

  • feat: check vue-tsc version on start extension (#381)
  • feat: support for non-tsconfig project (#349)
  • fix: tsconfig priority should be higher than jsconfig (#400)
  • fix: fixed hover info broken in *.ts when TS plugin enabled

0.27.6 (2021/8/21)

  • feat: support multiple v-bind(...) in single css expression
  • feat: support v-bind(...) expression syntax with quotes
  • fix: unhandled language client option: showReferencesNotification
  • fix: codeLens resolve request broken in template

0.27.5 (2021/8/21)

  • fix: language server borken when execute sugar convert commands (#397)

0.27.4 (2021/8/21)

  • feat: support css variable injection (#335)
  • feat: make <script setup> below <script> when convert to setup sugar (#378)
  • feat: support sfc named css modules (#379)
  • fix: export default { ... } syntax broken with setup sugar (#383)
  • fix: attr name case option "pascalCase" -> "camelCase" (#384)
  • fix: html completion edit range incorrect if typing before old completion request finish (#385)
  • perf: faster intellisense and diagnostic in <template>

0.27.3 (2021/8/17)

  • fix: go to component props definition broken in template
  • perf: reduce virtual files for TS project (against 0.27.2)

0.27.2 (2021/8/17)

  • feat: support template type-checking with jsdoc in <script lang="js">
  • fix: setup() return properties unused check not working for component
  • fix: radio v-model should not bind to checked
  • fix: clear registered commands when restart servers (#374)

0.27.1 (2021/8/15)

  • fix: remove vscode-emmet-helper rename warning for vue-tsc
  • fix: components option should be remove when convert to setup sugar
  • fix: fixed sometime throw error when convert setup sugar
  • fix: prevent top level await error in <script> block

0.27.0 (2021/8/15)

  • feat: support ref sugar (take 2) convert codeLens
  • feat: support setup sugar convert codeLens
  • feat: support more TS refactor code actions
  • perf: faster code action and validation
  • fix: setup returns unused check not working

Breaking changes

  • unsupported ref sugar (take 1) syntax and convert codeLens

0.26.16 (2021/8/12)

  • feat: improve pug conversion result (#363)
  • feat: improve DocumentSymbolRequest support
  • feat: support SelectionRangeRequest
  • fix: diagnostics do not report with open second vue document
  • fix: add missing vscode-uri dep (#365)
  • fix: "Delete all unused imports" code action not working
  • perf: faster split editors
  • perf: faster document update for html server
  • perf: move codeAction to api server to prevent codeAction request blocking by diagnostics when save + auto-formatting

@volar/server Breaking changes

  • ServerInitializationOptions: features -> languageFeatures
  • ServerInitializationOptions: htmlFeatures -> documentFeatures
  • ServerInitializationOptions: move selectionRange, documentSymbol, documentColor to documentFeatures
  • remove RestartServerNotification (restart by client now)

0.26.15 (2021/8/11)

  • feat: support GraphQL custom block
  • feat: support inline GraphQL syntax highlighting (#358)
  • fix: checkbox, radio input tag v-model prop name should be "checked" (#356) (vue-tsc#55)
  • fix: ignore "checkJs": true for template interpolations (#353)
  • perf: reuse ts.createSourceFile result to reduce script contents update cost

0.26.14 (2021/8/9)

  • fix: prevent vue-tsc --noEmit warnings with "experimentalCompatMode": 2 #351#issuecomment-895019036
  • fix: vue-tsc build failed with <xxx v-for v-slot> due to code gen side effects (vue-tsc#53)

0.26.13 (2021/8/9)

  • fix: republish to replace incorrect script name: vue2templateCompiler.js -> vue2TemplateCompiler.js (#352)

0.26.12 (2021/8/9)

  • 🎉 feat: support for vue 2 template (#351)
  • fix: support for "noPropertyAccessFromIndexSignature": true (#350)
  • fix: .value should not append in function parameter name
  • fix: .value should not append in object property assignment name
  • perf: reuse template compile result

0.26.11 (2021/8/5)

  • feat: support for workspace trust
  • feat: support config for HTML formatting print width by volar.formatting.printWidth option (#321)
  • feat: support for typescript updateImportsOnFileMove setting to disable prompt (#332)
  • feat: add "Show in Browser" button to component preview
  • fix: <input>, <textarea>, <select> v-model prop name shoud be value
  • fix: component preview not working on windows
  • fix: delete file can't trigger related scripts diagnostics update
  • fix: disable component tag type-checking to avoid some unable fix edge cases (#333)

0.26.10 (2021/7/31)

  • chore: refactor @volar/server API and released @volar/server
  • perf: remove vscode.css-language-features and vscode.html-language-features rely (vscode#98621)
  • fix: .value should not append in function declaration name and literal type
  • fix: update extra virtual files before check virtual file exist (#326)
  • fix: convert tag name case command not working

0.26.9 (2021/7/25)

  • feat: improve for slot name type-check
  • feat: experimental component preview
  • feat: improve template code finder (#208)
  • feat: add refresh webview button
  • fix: hover request failed with jsdoc @link
  • fix: prevent null emmet configs (#247)

0.26.8 (2021/7/24)

  • feat: remove import type checking for <script setup> (#325)
  • feat: add ref sugar deprecated message
  • fix: goto definition not working for lang="js" target without allowJs

0.26.7 (2021/7/23)

  • feat: support formatting in v-for expressions
  • feat: change interpolation braces syntax token
  • fix: fixed a few problems when goto definition to import file path
  • fix: <script lang="x"> change should update template verification
  • perf: faster diagnostics

0.26.6 (2021/7/21)

  • feat: support component auto-import with empty script block (#232)
  • feat: disable template type-checking with <script lang="js"> (#46)
  • fix: remove missing deps (vue-tsc#45#issuecomment-882319471)
  • fix: change TS library file rely from tsserver.js to tsserverlibrary.js
  • fix: css references codeLens broken
  • fix: TS completion resolve failed with jsdoc link
  • fix: convert tag name case failed edge case

0.26.5 (2021/7/19)

  • feat: add remove all ref sugar command
  • feat: improve ref sugar remove tool
  • fix: fixed find references never finish edge cases
  • fix: template type-checking not working with <script lang="js"> (#319)
  • fix: definition selection range incorrect
  • fix: fixed monorepo project alway pop warning
  • fix: preset empty object if can't get TS settings (#316)

0.26.4 (2021/7/18)

  • feat: update supports for vscode 1.58
  • refactor: remove formatters deps for vue-tsc
  • fix: script block virtual script language incorrect (should not force to ts)
  • fix: goto definition broken with ref sugar

0.26.3 (2021/7/17)

  • feat: support FunctionalComponent events type-check
  • feat: support for TS setttings (for TS preferences, formatOptions)
  • fix: withDefaults props type incorrect in template
  • fix: downgrade @vue/compiler-sfc to fix template range for formatting, codeLens
  • fix: handle SFC parse failed for component auto-import
  • fix: semanticTokens search range incorrect

0.26.2 (2021/7/16)

  • fix: fixed a few TS semanticTokens problems
  • fix: namespace imports should expose to template (#311)
  • fix: events auto-complete names incorrect with attr: pascalCase config (#312)
  • fix: validation for "virtual script exist" not working
  • fix: TS completion documentation incomplete
  • perf: fix can't reuse old TS program if <script lang="js"> exist since 0.26.0

0.26.1 (2021/7/15)

  • fix: fixed a few TS renaming, find referenecs problems
  • fix: first time *.vue file change can't effect *.ts diagnostics

0.26.0 (2021/7/15)

  • feat: split TS language service to script TS language service and template TS language service (#94) (#253)
  • fix: optional props type incorrect in <script setup> (#302)
  • fix: formatting make double spacing in empty pug template block (#304)
  • fix: fixed callHierarchy request failed if skip prepare request

0.25.28 (2021/7/6)

  • feat: improve volar.autoCompleteRefs and make it out of experimental (#201)
  • fix: ref sugar not working with nullish coalescing operator (#291)

0.25.27 (2021/7/5)

  • fix: hover broken with jsdoc @link tag (#289)
  • fix: prop type incorrect in template with withDefaults() (#290)

0.25.26 (2021/7/3)

  • feat: support withDefaults() in <script setup>
  • feat: expose <script> variables to template in <script setup>
  • feat: change defineEmit to defineEmits in <script setup> (defineEmit still support a period of time)
  • fix: improve event type infer (#286) (#287)
  • fix: improve empty attribute type infer (#288)

0.25.25 (2021/7/1)

  • fix: can't assign expression to no args event (#270)
  • fix: empty attr type incorrect (#261)
  • fix: completion resolve broken in TS 3.4

0.25.24 (2021/6/30)

  • fix: prevent throw error with unknown tag's properties (#284)
  • fix: add patch for <script src> TS file path (vue-tsc#30)

0.25.23 (2021/6/30)

  • feat: expose ClassDeclaration, EnumDeclaration from <script setup> (#274)
  • fix: template context broken with <script lang="tsx"> (#275)
  • fix: don't convert source code to unicode with component auto-import (#272)
  • fix: don't infer update:xxx event type by props (#266)
  • fix: functional component type-check behavior inconsistent with JSX (#268)

0.25.22 (2021/6/12)

  • feat: improve TS diagnostic message (#259)
  • fix: incorrect unescaping of literal strings (#262)
  • fix: dynamic slot name do not consume variable (#263)
  • fix: temporary html completion info leak to hover info
  • fix: TS definition result duplicate

0.25.21 (2021/6/8)

  • feat: support for typescript pnp (#248)
  • feat: improve component auto-import path calculate
  • fix: Write Virtual Files command not working

0.25.20 (2021/6/7)

  • fix: remove fs-extra to fix at-least-node module missing

0.25.19 (...)

  • feat: support json schema request service (#243)
  • feat: support shortest component auto-import path (#233)
  • fix: component auto-import not working with dash (#249)
  • fix: fix some Cannot read property ... errors (#247) (#251)
  • fix: syntax highlighting not working for lang="jsx"
  • fix: folding not working for jsx (#234)

0.25.18 (...)

  • fix: fix vue-tsc build failed

0.25.17 (2021/6/1)

  • feat: support for change TS version by typescript.tsdk option (#224)
  • feat: support for TS 4.3
  • fix: auto import component should prior choice <script setup>
  • fix: disable component auto import if no any <script> block

0.25.16 (2021/5/31)

  • fix: language server broken with incorrect module importing

0.25.15 (2021/5/31)

  • feat: auto import component in template (#194)
  • feat: filter duplicate event modifiers completion
  • fix: path completion not working for <script src> without lang="ts" (#223)

0.25.14 (2021/5/28)

  • feat: add option to hide the split icon at the top right corner (#195)
  • feat: add ts plugin description link in ts plugin menu
  • fix: file icons are emptied when importing (#198)
  • fix: css prepareRename range incorrect if no <template> (#212)
  • fix: don't report lang="ts" missing if script content is empty (#215)
  • fix: ts plugin features broken with json script kind 0386094
  • fix: component rename breaks the component source file (#206)
  • fix: emmet should not working in template expression interpolations

0.25.13 (2021/5/26)

0.25.12 (2021/5/24)

  • feat: support props type override (#202)
  • fix: support <component :is> type-checking with VNode (vue-tsc#34)
  • fix: cannot find module 'upath' with pnpm (#204)

0.25.11 (2021/5/24)

  • feat: support find definition in *.ts even ts plugin disabled
  • feat: new experimental preview feature
  • fix: <script setup> component name incorrect
  • fix: inline style breaks SFC syntax highlighting (#199)

0.25.10 (2021/5/21)

  • fix: <template> tag child nodes syntax highlighting broken

0.25.9 (2021/5/21)

  • feat: support recursive components for <script setup>
  • fix: improve type-checking for <component :is> (#196)
  • fix: fix <template> block syntax highlighting broken edge cases (#192)

0.25.8 (2021/5/19)

  • feat: support for <component :is> type-checking

0.25.7 (2021/5/19)

  • 🎉 feat: support for named recursive components (#190)

0.25.6 (2021/5/18)

  • fix: custom events type-checking broken
  • perf: optimize get script version (#186)

0.25.5 (2021/5/18)

  • feat: improve UX for TS plugin status bar
  • feat: support syntax highlighting for lang="json", lang="jsonc", lang="yaml", lang="md" (#127)
  • feat: support validation for lang="json", lang="jsonc"
  • feat: support emmet for JSX, TSX (#184)
  • fix: fix template syntax highlighting broken edge cases
  • fix: fix auto-import not working edge cases
  • fix: should not have auto-import from virtual files
  • fix: native events types incorrect if component do not have emits option (#180)

0.25.4 (2021/5/12)

  • feat: improve embedded languages syntax highlight
  • feat: support html snippets in template
  • feat: add create workspace snippets command
  • fix: pug autocomplete broken with class attribute (#177)

0.25.3 (2021/5/10)

  • perf: fix pug semantic tokens performance loophole (#162)
  • feat: released typescript-vue-plugin (#169)
  • fix: split editors icon size incorrect (#170)

0.25.2 (2021/5/7)

  • feat: improve component tag hover info
  • feat: improve component types for export default { ... }
  • feat: support for generic functional component

0.25.1 (2021/5/4)

  • feat: move "Start Split Editing Mode" to command
  • fix: props auto-complete not working
  • fix: fix released npm package size

0.25.0 (2021/5/3)

  • feat: split status bar item <TagName attr-name> to Tag: xxx, Attr: xxx
  • fix: tag name case status bar item not working on start
  • fix: <style module> class name renaming result incorrect
  • fix: hyphenat component renaming not working
  • fix: ref sugar renaming result incorrect with destructure
  • fix: ref sugar renaming not working on right expression

0.24.6 (2021/5/2)

  • 🎉 feat: support find references in *.ts even ts plugin disabled
  • fix: Set<any> item type incorrect in v-for
  • fix: server initializing progress not working
  • fix: add patching for @vue/composition-api event types for now

0.24.5 (2021/4/27)

  • fix: css hover quick info not working
  • perf: don't send source map to lsp protocol to avoid json parse

0.24.4 (2021/4/27)

  • feat: support path completion for template languages (html, pug)
  • feat: support path completion for style languages (css, less, scss, postcss)
  • feat: support css code action
  • feat: dynamic resolve url links in css
  • fix: filter invalid component names #159
  • fix: css completion broken
  • fix: don't increase indent on <script>, <style>

0.24.3 (2021/4/26)

  • feat: new IDE option volar.preferredAttrNameCase
  • feat: support change props completion name case in status bar
  • fix: component tag name case conversion not working edge case
  • perf: fix html completion should not calculate every times typing

0.24.2 (2021/4/26)

  • feat: new IDE option volar.preferredTagNameCase #156
  • feat: new status bar item for support change completion tag name case
  • feat: component tag name case conversion
  • feat: support adding breakpoints #107
  • fix: don't report error if class name does not exist in $style #157
  • fix: don't complete attribute value for v-else, scoped, module, setup
  • revoke: remove Volar: Format All Scripts command (use Format All Files in Workspace extension for replacement)

0.24.1 (2021/4/20)

  • fix: ref sugar report incorrect errors on vue-tsc vue-tsc#18
  • fix: <slot> should not report error with defineComponent(function () { ... }) vue-tsc#21

0.24.0 (2021/4/14)

  • feat: new option Don't care for TS plugin by default to reduce reload vscode
  • feat: check variables is valid returns for <script setup>
  • fix: pug template checking broken with vue-tsc vue-tsc#14
  • fix: emmet completion working incorrectly #135
  • fix: import path completion replace range incorrect
  • fix: define slot props as const
  • perf: faster typescript diagnosis response

Breaking changes

See: https://github.com/vuejs/language-tools/discussions/134

  • feat: unsupport volar.style.defaultLanguage option
  • feat: unsupport @vue-ignore

0.23.7 (2021/4/10)

  • feat: improve type-checking of dynamic slot
  • chore: simplify v-on modifiers completion label

0.23.6 (2021/4/9)

  • feat: event modifiers auto-complete #126
  • fix: v-else-if type narrowing not works in last branch #130

0.23.5 (2021/4/7)

  • feat: improve types infer without defineComponent #59
  • fix: handle readonly array in v-for
  • fix: template context not update on completion
  • perf: don't update project version if document content no changes

0.23.4 (2021/4/6)

  • fix: vnode hooks typing broken in template
  • fix: global components typing broken if no <script> block
  • fix: local components typing broken with pnpm #123
  • fix: init progress broken
  • perf: reuse import suggestions cache

0.23.3 (2021/4/5)

  • fix: <script setup> components unused report incorrect #122
  • fix: unused cache to fix completion resolve crash edge cases

0.23.2 (2021/4/5)

  • fix: v-if intellisense not working
  • fix: type-only defineProps declarations broke template intellisense #121

0.23.1 (2021/4/5)

  • perf: faster intellisense for <script setup>
  • fix: ref sugar variables types incorrect edge case

0.23.0 (2021/4/5)

  • 🎉 feat: new split editing mode
  • feat: auto import path preview
  • fix: remove typescript hover info from <style scoped> classes
  • perf: faster auto-complete and completion resolve

Breaking changes

0.22.29 (2021/4/3)

  • fix: fix diagnostics shaking
  • fix: events hover info not working if no expression
  • fix: template diagnosis response delay

0.22.28 (2021/4/3)

  • fix: reduce diagnostics shaking
  • fix: only diagnosis import variables in <script setup> return

0.22.27 (2021/4/3)

  • feat: report error if import type in <script setup> incorrectly
  • perf: <script setup> performance small improvement
  • fix: allow ref: declarations without initialized
  • fix: export assignment intellisense not working if <script setup> exist

0.22.26 (2021/4/1)

  • feat: improve events hover info
  • feat: support pug new line syntax \ #118
  • fix: v-for not working with v-slot #110
  • fix: completion detail not working when keep typing

0.22.25 (2021/3/31)

  • feat: support pass props as v-bind="..." syntax vue-tsc#9
  • feat: support use not compiled @vue/runtime-dom library
  • fix: defineEmit() types incorrect in template if use pure type define
  • perf: improve virtual documents update performance

0.22.24 (2021/3/29)

  • feat: improve v-for type-checking #117
  • feat: improve events type-checking #116
  • feat: support "noUncheckedIndexedAccess": true vue-tsc#8
  • fix: auto-complete duplicate in v-model="..."

0.22.23 (2021/3/28)

  • feat: sfc parse diagnostics
  • feat: improve v-slot support
  • fix: vue-tsc throw on component() call without string literal
  • fix: kebab case slots not working
  • chore: update vue to 3.0.9 to fix a few bugs

0.22.22 (2021/3/26)

  • feat: improve props js doc hover info
  • feat: improve component recognition
  • fix: don't patch diagnostics without postcss
  • fix: handle documents.onDidChangeContent send incorrect file name
  • fix: html hover info not working

0.22.21 (2021/3/24)

  • fix: diagnostics should update if tsconfig.json update
  • fix: fix style attributes duplicate error #109
  • fix: patch postcss diagnostics #103

0.22.20 (2021/3/23)

  • fix: handle file name is Foo.vue but LSP send file:///.../foo.vue
  • fix: fix lsp not working on monorepo edge case

0.22.19 (2021/3/19)

  • fix: pug tag less element mapping incorrect
  • fix: extra hover info duplicate
  • fix: error when hovering the slot bindings

0.22.18 (2021/3/19)

  • feat: props jsdoc support
  • fix: emmet not working for inline css

0.22.17 (2021/3/18)

  • fix: use for...in instead of for...of to v-for

0.22.16 (2021/3/16)

  • fix: extra files watcher not working on windows
  • fix: vue-tsc not working on windows

0.22.15 (2021/3/16)

  • feat: improve v-for type-checking
  • chore: disabled declaration diagnostics for now to avoid monorepo performance issue

0.22.14 (2021/3/16)

  • fix: emit declaration diagnostics with declaration option
  • chore: improve extra files watcher

0.22.13 (2021/3/15)

  • feat: watch extra files update
  • fix: cannot find global properties if no <script> block
  • fix: project verification not working

0.22.12 (2021/3/15)

  • fix: cannot find name for text attribute

0.22.11 (2021/3/14)

  • feat: script refactors, source actions, organize imports support
  • perf: improve monorepo memory using
  • fix: text attribute auto-complete not working
  • fix: declaration diagnostics missing
  • fix: typescript diagnostic related Information unhandled

0.22.10 (2021/3/12)

  • perf: improve monorepo memory using
  • feat: remove emit dts feature

0.22.9 (2021/3/10)

  • fix: props auto-complete not working for vue 2 and nuxt
  • fix: @vue/runtime-dom missing checking not working

0.22.8 (2021/3/8)

  • revert: "fix: ignore script content if script src is exist"

0.22.7 (2021/3/8)

  • fix: script src mapping incorrect if script content is empty
  • fix: ignore script content if script src is exist

0.22.6 (2021/3/7)

  • fix: semantic token incorrect if tag name in component context

0.22.5 (2021/3/7)

  • fix: quick fix not working in <script setup> if no import statement
  • fix: typescript code fixes throw if import path not exist

0.22.4 (2021/3/6)

  • fix: diagnosis not working for windows vscode 1.54.1

0.22.3 (2021/3/6)

  • fix: ts plugin vue files missing edge case
  • fix: go to definition for 'vue' import not working

0.22.2 (2021/3/6)

  • fix: vue language service broke by vscode 1.54.1
  • fix: 'vue' module auto-import broke by vscode 1.54.1 (ts 4.2.2)
  • chore: improve vue 2 warning message (Thanks to @posva !)

0.22.1 (2021/3/5)

  • fix: code fix affect by virtual code
  • fix: don't always ask refactoring when move vue file
  • fix: ts auto-complete replace range incorrect

0.22.0 (2021/3/5)

  • feat: new apis for command line type-checking support (https://github.com/johnsoncodehk/vue-tsc)
  • feat: support for event handlers in kebab-case
  • feat: improve ts plugin status color
  • feat: typescript quick fix
  • fix: remove incorrect location from component options definition result
  • fix: language server crash with ref: in
  • chore: update display name

0.21.20 (2021/2/28)

  • feat: added default <style> tag language config

0.21.19 (2021/2/28)

  • fix: textDocumet/formatting fails with stylus and sass

0.21.18 (2021/2/27)

  • feat: sass language support
  • feat: stylus language support

0.21.17 (2021/2/27)

  • feat: auto-indent in template section support
  • feat: multi-root workspaces support
  • fix: should not throw when edit untitled vue documents
  • fix: type checking doesn't work for components written in .ts files

0.21.16 (2021/2/25)

  • fix: can't reference .vue file out of rootDir

0.21.15 (2021/2/24)

  • fix: v-on type-checking not working with function assign

0.21.14 (2021/2/23)

  • feat: rename fail message
  • fix: revert narrowed type patch for v-on
  • fix: event type incorrect if given null (for example: emits: { foo: null })

0.21.13 (2021/2/22)

  • fix: ignore postcss(unknownAtRules)
  • fix: postcss completion word range
  • fix: v-on expression should not affect variables types in template

0.21.12 (2021/2/21)

  • feat: postcss language support (required language-postcss for syntax highlighting)
  • fix: lang="ts" missing should not throw error

0.21.11 (2021/2/21)

  • fix: nameless slot not working

0.21.10 (2021/2/21)

  • fix: definition selection range not working for global components
  • fix: auto-complete word range incorrect

0.21.9 (2021/2/20)

  • feat: component tag auto-complete info in template
  • feat: ts definition selection range
  • fix: script block should not have emmet auto-complete
  • perf: fix some performance issues

0.21.8 (2021/2/19)

  • fix: sometime emmet completion missing
  • fix: auto-complete throw error #65

0.21.7 (2021/2/18)

  • fix: auto import *.vue not working

0.21.6 (2021/2/17)

  • fix: <script setup> unused report not working if no any import statement
  • fix: narrowed type by v-if should not be widened in v-on
  • fix: :style type check not working
  • fix: scoped class name references should not have hover info

0.21.5 (2021/2/16)

  • fix: tsconfig parsing for ts plugin incorrect

0.21.4 (2021/2/15)

  • feat: vue.d.ts emit support
  • fix: events type-checking not working for array emits define

0.21.3 (2021/2/14)

  • fix: slot name expression types incorrect

0.21.2 (2021/2/14)

  • feat: support slot name expression

0.21.1 (2021/2/14)

  • feat: show reload button on switch ts plugin
  • fix: ts plugin status not sync on dropdown menu

0.21.0 (2021/2/14)

  • feat: props @update event support
  • feat: v-model="..." support
  • feat: ts plugin status bar item
  • fix: improve events type-checking
  • fix: tsconfig update not working for ts plugin
  • fix: ref sugar variables hover info incorrect
  • fix: services not working for hyphenate events
  • fix: don't show confirm box if no import will change on move file
  • fix: props rename references should keep with hyphenate

0.20.9 (2021/2/12)

  • feat: emit event type not matching warning
  • feat: ts plugin support (default is disabled, run Volar: Switch TS Plugin to enable)
  • fix: typescript auto-complete should not replace suffix
  • chore: emit overloads infer nums 2 -> 4
  • chore: switch auto .value feature to default disabled

0.20.8 (2021/2/10)

  • fix: .value auto-complete should not occur at definition
  • fix: multi-line pug attribute not working
  • fix: pug-html convert tool should not convert to pug class literal if exist illegal characters

0.20.7 (2021/2/10)

  • fix: inline css service broke in pug

0.20.6 (2021/2/10)

0.20.5 (2021/2/8)

  • fix: .value auto-complete corner case
  • feat: enabled .value auto-complete in .ts

0.20.4 (2021/2/8)

  • feat: auto close tag delay 0ms -> 100ms
  • feat: auto-complete ref value with .value (Experimental)

0.20.3 (2021/2/8)

  • feat: localized typescript diagnostics
  • feat: report errors count with Verify All Scripts command
  • feat: show warning notification if project invalid (Thanks to @IWANABETHATGUY !)

0.20.2 (2021/2/5)

  • fix: <script setup> props rename broke
  • fix: inline css service broke

0.20.1 (2021/2/2)

  • fix: ref sugar broke in 0.20.0

0.20.0 (2021/2/2)

  • feat: import path renaming
  • feat: refactor import path on rename file
  • feat: options to disable codeLens
  • feat: verification before renaming
  • perf: incremental update server documents (Thanks to @IWANABETHATGUY !)
  • fix: accurate ref sugar renaming
  • fix: ref sugar should convert with type args

0.19.16 (2021/1/22)

  • fix: remove incorrect props hover info
  • fix: file name parsing incorrect with [] characters

0.19.15 (2021/1/21)

  • feat: support global component with component(..., defineAsyncComponent(...))
  • feat: preview client improve
  • fix: js files should handle in language server

0.19.14 (2021/1/17)

  • feat: @vue-ignore support
  • fix: don't diagnose lang="sass", lang="stylus" with css language

0.19.13 (2021/1/17)

  • feat: preview client (experimental)

0.19.12 (2021/1/17)

  • fix: ref sugar unused report incorrect with noUnusedLocals enabled

0.19.11 (2021/1/15)

  • fix: should not support old <script setup> declare props, emit, slots
  • fix: should not allow export keywords in <script setup>
  • fix: ref sugar right side expression services duplicate
  • fix: ref sugar references semantic token incorrect

0.19.10 (2021/1/15)

  • feat: ref sugar hover info add dollar variable
  • fix: ref sugar autocomplete not working for ref: { | } = foo()
  • fix: ref sugar goto definition not working for ref: { | } = foo()
  • fix: ref sugar semantic token not working

0.19.9 (2021/1/15)

  • fix: language server broke with monorepo tsconfig.json (outDir + rootDir + composite/incremental)

0.19.8 (2021/1/15)

  • feat: show underscore with css scoped classes
  • fix: css scoped classes definition goto wrong place if define in import file
  • fix: FunctionalComponent services not working with setup() return

0.19.7 (2021/1/13)

  • feat: <script src> support

0.19.6 (2021/1/11)

  • fix: prop types incorrect if duplicate name with HTMLAttributes
  • fix: symbols outline incorrect

0.19.5 (2021/1/11)

  • feat: add split editors button
  • feat: improve split editors
  • fix: <template lang="pug"> block folding not working with > character

0.19.4 (2021/1/10)

  • feat: split editors

0.19.3 (2021/1/9)

  • fix: component props auto complete broke
  • fix: interpolation formatting incorrect edge case
  • chore: remove unneeded files to reduce extension size

0.19.2 (2021/1/6)

  • fix: ref sugar variables unused report incorrect
  • fix: @click type check not working for non native elements

0.19.1 (2021/1/4)

  • fix: css class references codeLens broke

0.19.0 (2021/1/4)

  • feat: unsupported workspaceExtensions formatter
  • feat: unsupported old <script setup>
  • fix: references codeLens should not counting itself
  • fix: hyphenate format slot name have duplicate references codeLens
  • fix: <script setup> unused checking not working for "noUnusedLocals": true

0.18.17 (2021/1/1)

  • feat: server init progress
  • feat: vue block completion
  • fix: tsconfig.json update not working
  • fix: _VLSGlobalComponents not working if no <script> block
  • fix: element tag mapping incorrect corner case

0.18.16 (2020/12/30)

  • feat: codeLens for app.component(...)
  • feat: codeLens for slots
  • fix: css codeLens location incorrect corner case

0.18.15 (2020/12/26)

  • fix: <script setup> unused variables report broke with html

0.18.14 (2020/12/26)

  • fix: <script setup> variables should report unused when use as component

0.18.13 (2020/12/26)

  • feat: unused variables report for <script setup>
  • fix: <script setup> imports should not have global completion

0.18.12 (2020/12/23)

  • feat: pnpm support
  • feat: unlimited emits overloads support
  • fix: formatting remove export default {} if exist two <script> block

0.18.11 (2020/12/21)

  • fix: ref sugar variable define diagnostic not working
  • fix: ref: foo = false should be boolean not false type in template
  • fix: ref sugar convert tool fail with ()

0.18.10 (2020/12/21)

  • fix: props services fail for DefineComponent<...> declare component

0.18.9 (2020/12/20)

  • fix: folding ranges not working in <script setup> block

0.18.8 (2020/12/18)

  • feat: improve pug diagnosis
  • fix: find emits references not working with hyphenate
  • fix: hover info not working for hyphenate component tag tail
  • pert: faster script setup gen
  • perf: faster pug mapper

0.18.7 (2020/12/18)

  • chore: change component tag hover info
  • fix: filter same html tag in completion
  • fix: ctx properties types incorrect corner cases
  • fix: should not detect all ctx properties as component
  • fix: @click event type check broke

0.18.6 (2020/12/18)

  • feat: rollback typescript diagnostic modes
  • perf: faster diagnostics

0.18.5 (2020/12/17)

  • feat(experiment): added a new typescript diagnostic mode and default enabled (not prompt for unused variables)
  • fix: foo="" attribute should not detect as true type

0.18.4 (2020/12/15)

  • fix: script formatting broke
  • fix: when return foo: foo as true in setup(), template context should get foo: true not foo: boolean

0.18.3 (2020/12/15)

  • fix: interpolations formatting indent broke

0.18.2 (2020/12/14)

  • fix: interpolations formatting broke
  • fix: props missing checking not working for non hyphenate component
  • perf: emit overloads support nums 16 -> 4 (faster template diagnostics when using v-on)

0.18.1 (2020/12/14)

  • perf: faster template diagnostics

0.18.0 (2020/12/13)

  • feat: Linked Editing
  • fix: script not found error not working for <script setup>

0.17.7 (2020/12/13)

  • chore: rename extension in marketplace #35

0.17.6 (2020/12/12)

  • fix: ref sugar variable renaming no effect to template
  • fix: v-else-if semantic token
  • perf: split <script> and <template> to speed up current editing block diagnostics

    when editing <script>, <template> block delay 1000ms make diagnosis

    when editing <template>, <script> block delay 1000ms make diagnosis

0.17.5 (2020/12/12)

  • perf: faster default formatter
  • perf: faster diagnostics

0.17.4 (2020/12/12)

  • fix: can't disable html mirror cursor
  • feat: improve folding range

0.17.3 (2020/12/12)

  • feat: improve html mirror cursor
  • feat: improve default formatter

0.17.2 (2020/12/12)

  • fix: <script setup> crash corner cases
  • fix: diagnostic feature was accidentally disabled in v0.17.1

0.17.1 (2020/12/11)

  • perf: prevent auto close tag blocked by autocomplete
  • perf: faster semantic tokens

0.17.0 (2020/12/11)

  • feat: ts semantic tokens
  • feat: faster auto close tag
  • chore: remove icon avoid it like a virus in marketplace

0.16.15 (2020/12/11)

  • perf: prevent semantic tokens request block autocomplete request (occurred in 0.16.4)
  • feat: improve ts autocomplete

0.16.14 (2020/12/9)

  • feat: pure type defineEmit() syntax support
  • feat: increase support emits overloads nums to 16
  • fix: pure type defineProps properties required incorrect
  • fix: monorepo services can't update cross root scripts
  • fix: <script setup> formatting broke in 0.16.13

0.16.13 (2020/12/9)

  • fix: crash if allowJs not set and working on js script block
  • fix: crash with user action when server not ready

0.16.12 (2020/12/9)

  • feat: html mirror cursor

0.16.11 (2020/12/8)

  • feat: support directives syntax :=, @=, #=
  • fix: v-slot bind properties missing attribute values
  • fix: template validation broke with v-slot bind properties
  • fix: slot services disturbed slot element hover info

0.16.10 (2020/12/8)

  • feat: reference, rename, definition support to js

0.16.9 (2020/12/8)

  • feat: template validation support to js
  • fix: should not error when css class not exist
  • fix: inline style hover info wrong mapping

0.16.8 (2020/12/8)

  • feat: slot name services (find references, goto definition, diagnostic, completion, hover info)

0.16.7 (2020/12/7)

  • fix: call graph links incomplete

0.16.6 (2020/12/7)

  • fix: find references crash in node_modules files

0.16.5 (2020/12/6)

  • feat: restart server command
  • fix: auto import not working for .vue files

0.16.4 (2020/12/4)

  • fix: can't use export default with <script> when <script setup> exist
  • fix: auto import items should not show virtual files
  • fix: style attr services broke
  • fix: v-for elements types incorrect
  • refactor: sensitive semantic tokens update

0.16.3 (2020/12/2)

  • feat: inline css service within <template>

0.16.2 (2020/12/1)

  • fix: <script setup> formatting wrongly replace ref: to ref

0.16.1 (2020/12/1)

  • fix: fix some Call Hierarchy failed cases
  • perf: faster typescript language service for new <script setup>

0.16.0 (2020/11/30)

  • feat: Call Hierarchy support
  • feat: auto declare __VLS_GlobalComponents by app.component() calls

0.15.16 (2020/11/29)

0.15.15 (2020/11/27)

0.15.14 (2020/11/27)

0.15.13 (2020/11/26)

0.15.12 (2020/11/24)

0.15.11 (2020/11/20)

0.15.10 (2020/11/20)

0.15.9 (2020/11/19)

0.15.8 (2020/11/18)

0.15.7 (2020/11/17)

0.15.6 (2020/11/16)

0.15.5 (2020/11/14)

0.15.4 (2020/11/14)

0.15.3 (2020/11/12)

0.15.2 (2020/11/10)

0.15.1 (2020/11/3)

0.15.0 (2020/11/2)

0.14.12 (2020/11/2)

0.14.11 (2020/11/2)

0.14.10 (2020/11/1)

0.14.9 (2020/11/1)

0.14.8 (2020/10/30)

0.14.7 (2020/10/30)

0.14.6 (2020/10/29)

0.14.5 (2020/10/29)

0.14.4 (2020/10/27)

0.14.3 (2020/10/24)

0.14.2 (2020/10/22)

0.14.1 (2020/10/21)

0.14.0 (2020/10/20)

0.13.14 (2020/10/20)

0.13.13 (2020/10/19)

0.13.12 (2020/10/17)

0.13.11 (2020/10/15)

0.13.10 (2020/10/14)

0.13.9 (2020/10/13)

0.13.8 (2020/10/13)

0.13.7 (2020/10/13)

0.13.6 (2020/10/13)

0.13.5 (2020/10/12)

0.13.4 (2020/10/12)

0.13.3 (2020/10/12)

0.13.2 (2020/10/12)

0.13.1 (2020/10/11)

0.13.0 (2020/10/11)

0.12.8 (2020/10/10)

0.12.7 (2020/10/9)

0.12.6 (2020/10/9)

0.12.5 (2020/10/9)

0.12.4 (2020/10/9)

0.12.3 (2020/10/9)

0.12.2 (2020/10/9)

0.12.1 (2020/10/9)

0.12.0 (2020/10/8)

0.11.8 (2020/10/8)

0.11.7 (2020/10/8)

0.11.6 (2020/10/7)

0.11.5 (2020/10/6)

0.11.4 (2020/10/6)

0.11.3 (2020/10/5)

0.11.2 (2020/10/5)

0.11.1 (2020/10/4)

0.11.0 (2020/10/3)

0.10.13 (2020/10/2)

0.10.12 (2020/10/2)

0.10.11 (2020/10/2)

0.10.10 (2020/10/2)

0.10.9 (2020/10/2)

0.10.8 (2020/9/28)

0.10.7 (2020/9/28)

0.10.6 (2020/9/28)

0.10.5 (2020/9/27)

0.10.4 (2020/9/26)

0.10.3 (2020/9/26)

0.10.2 (2020/9/26)

0.10.1 (2020/9/21)

0.10.0 (2020/9/21)

0.9.6 (2020/9/21)

0.9.5 (2020/9/18)

0.9.4 (2020/9/17)

0.9.3 (2020/9/10)

0.9.2 (2020/9/9)

0.9.1 (2020/9/7)

0.9.0 (2020/9/7)

0.8.1 (2020/9/2)

0.8.0 (2020/9/2)

0.7.3 (2020/9/1)

0.7.2 (2020/9/1)

0.7.1 (2020/8/31)

0.7.0 (2020/8/31)

0.6.0 (2020/8/31)

0.5.2 (2020/8/30)

0.5.1 (2020/8/30)

0.5.0 (2020/8/29)

0.4.15 (2020/8/28)

0.4.14 (2020/8/27)

0.4.13 (2020/8/24)

0.4.12 (2020/8/24)

0.4.11 (2020/8/23)

0.4.10 (2020/8/23)

0.4.9 (2020/8/21)

0.4.8 (2020/8/21)

0.4.7 (2020/8/21)

0.4.6 (2020/8/21)

0.4.5 (2020/8/21)

0.4.4 (2020/8/21)

0.4.3 (2020/8/21)

0.4.2 (2020/8/20)

0.4.1 (2020/8/20)

0.4.0 (2020/8/20)

0.3.2 (2020/8/18)

0.3.1 (2020/8/18)

0.2.16 (2020/8/15)

0.2.15 (2020/8/14)

0.2.14 (2020/8/12)

0.2.13 (2020/8/9)

0.2.12 (2020/8/9)

0.2.11 (2020/8/8)

0.2.10 (2020/8/7)

0.2.9 (2020/8/7)

0.2.8 (2020/8/7)

0.2.7 (2020/8/7)

0.2.6 (2020/8/5)

0.2.5 (2020/8/5)

0.2.4 (2020/8/4)

0.2.3 (2020/8/4)

0.2.2 (2020/8/4)

0.2.1 (2020/8/4)

0.2.0 (2020/8/3)

0.1.9 (2020/8/2)

0.1.8 (2020/8/2)

0.1.7 (2020/8/2)

0.1.6 (2020/8/1)

0.1.5 (2020/8/1)

0.1.4 (2020/8/1)

0.1.3 (2020/8/1)

0.1.2 (2020/7/31)

0.1.1 (2020/7/31)

0.1.0 (2020/7/31)

0.0.18 (2020/7/27)

0.0.17 (2020/7/27)

0.0.16 (2020/5/22)

0.0.15 (2020/5/11)

0.0.14 (2020/5/11)

0.0.13 (2020/5/11)

0.0.12 (2020/5/4)

0.0.11 (2020/5/4)

0.0.10 (2020/5/4)

0.0.9 (2020/5/4)

0.0.8 (2020/5/4)

0.0.7 (2020/5/4)

0.0.6 (2020/5/3)

0.0.5 (2020/5/2)