Releases: vuejs/language-tools
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)
Our Platinum Sponsors
Our Silver Sponsors
v2.0.5
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 occurs, please try disabling unrelated extensions in the Vue workspace.
Issue: #3942
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 anode_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)
Refactors
- typescript-plugin add README (#3974) - thanks @WhyNotHugo
- component-meta update demo (#3994) - thanks @zzfn
Please refer to CHANGELOG.md for details.
(This project is mainly supported by StackBlitz)
Our Platinum Sponsors
Our Silver Sponsors
v2.0.0
New 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
andfullCompletionList
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
tolib
(#3913) - Replaced
typescript/lib/tsserverlibrary
imports withtypescript
- 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)
Please refer to CHANGELOG.md for details.
(This project is mainly supported by StackBlitz)
Our Platinum Sponsors
Our Silver Sponsors
v1.8.0
2.0 schedule has been postponed: #3294
Highlights
-
Support for Scripts API
If you want to use the formatting feature through the Scripts API, please refer to #3133.
If you want to use the diagnostic feature through the Scripts API, please refer to https://github.com/withastro/language-tools/blob/main/packages/language-server/src/check.ts.
-
Support for Volar.js Labs (Ref)
-
Improved Vue 3.3 syntax support
-
TS 5.1.3 compatible
-
Upgrade to Volar.js 1.7 to big improve support for Monaco and TypeScript IntelliSense for Web
-
Support for new
@vue-ignore
,@vue-skip
,@vue-expect-error
directive comments syntax (#3215)
Breaking changes
-
volar.config.js
plugins
option has been renamed toservices
-
Renaming packages from
@volar/vue-*
to@vue/*
(#3134)
Please refer to CHANGELOG.md for details.