Releases: vuejs/language-tools
v2.0.17
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
tov2.2.2
.- fix(language-server): pass correct languageId when creating virtual code (volarjs/volar.js#173)
- fix(typescript): additional completion not working in plugin (#4323)
- Upgrade Volar services from
v0.0.42
tov0.0.44
.- feat(typescript): code action edits respect editor formatting settings (volarjs/services#30)
- fix(typescript): not being able to jump to shims module definition
- fix(typescript):
allowTextChangesInNewFiles
never true for embedded documents - perf(typescript): check
command
resolve capability only for specific refactors (volarjs/services#94)
- 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)
Please refer to CHANGELOG.md for details.
Insiders Program 🚀
This project is community-driven. If you would like to support this project, consider joining the Insiders Program to improve the sustainability of this project and unlock more features.
Sponsors
v2.0.16
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 (volarjs/volar.js#169)
Other Changes
- Upgrade to Volar 2.2
- language-core: export
VueEmbeddedCode
(#4265) - Thanks @zhiyuanzmj - typescript-plugin: expose
FileRegistry
toproject.program
(#3963) - Thanks @zcf0508 - vscode: remove outdated formatters section (#4243) - Thanks @BBboy01
Please refer to CHANGELOG.md for details.
Insiders Program 🚀
This project is community-driven. If you would like to support this project, consider joining the Insiders Program to improve the sustainability of this project and unlock more features.
Sponsors
v2.0.15
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
tov2.2.0-alpha.12
: - 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
Please refer to CHANGELOG.md for details.
Insiders Program 🚀
This project is community-driven. If you would like to support this project, consider joining the Insiders Program to improve the sustainability of this project and unlock more features.
Sponsors
v2.0.14
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
tov2.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
(Whendeno.enable
isfalse
)jenkey2011.string-highlight
- language-core: improve maintainability of codegen (#4276)
- Deprecated
vueCompilerOptions.nativeTags
, now respects thenodeType
property of template AST node. - Dynamic component types without
v-bind:is
are no longer supported.
- Deprecated
Please refer to CHANGELOG.md for details.
Insiders Program 🚀
This project is community-driven. If you would like to support this project, consider joining the Insiders Program to improve the sustainability of this project and unlock more features.
Sponsors
v2.0.13
Performance
- tsc: re-introduce global types removal check (#4245)
Other Changes
- Upgrade Volar from
v2.2.0-alpha.7
tov2.2.0-alpha.8
for a vue-tsc performance issue fixes (#4238)
Please refer to CHANGELOG.md for details.
Insiders Program 🚀
This project is community-driven. If you would like to support this project, consider joining the Insiders Program to improve the sustainability of this project and unlock more features.
Sponsors
v2.0.12
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
tov2.2.0-alpha.7
for a typescript plugin bug fixes
Please refer to CHANGELOG.md for details.
Insiders Program 🚀
This project is community-driven. If you would like to support this project, consider joining the Insiders Program to improve the sustainability of this project and unlock more features.
Sponsors
v2.0.11
Features
- vscode: support for enabling/disabling typescript plugin (#4226)
- Added
typeScriptPluginOnly
option forvue.server.hybridMode
setting. - When Hybrid Mode is disabled, the Vue TypeScript Plugin will be disabled by default.
- Added
- 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
tov2.2.0-alpha.6
for avue-tsc
bug fixes- volarjs/volar.js#162 - Thanks @wangshunnn
- test: add test for #4203 (#4207) - Thanks @tinco
Please refer to CHANGELOG.md for details.
Insiders Program 🚀
This project is community-driven. If you would like to support this project, consider joining the Insiders Program to improve the sustainability of this project and unlock more features.
Sponsors
v2.0.10
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
tov2.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
Please refer to CHANGELOG.md for details.
Sponsors
v2.0.7
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
Please refer to CHANGELOG.md for details.
(This project is mainly supported by StackBlitz)
Our Platinum Sponsors
Our Silver Sponsors
v2.0.6
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: #3962
If false positive errors occur, please try disabling unrelated extensions in the Vue workspace.
Issue: #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)
Refactors
- vscode: rename
vue.inlayHints.vbindShorthand
setting tovue.inlayHints.vBindShorthand
(#3995) - thanks @l4dybird
Please refer to CHANGELOG.md for details.
(This project is mainly supported by StackBlitz)