Skip to content

Releases: vuejs/language-tools

v2.0.11

07 Apr 14:41
Compare
Choose a tag to compare

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

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

Special Sponsor

Stay in the flow with instant dev experiences.
No more hours stashing/pulling/installing locally

— just click, and start coding.

Platinum Sponsors

An approachable, performant and versatile framework for building web user interfaces.

Astro powers the world's fastest websites, client-side web apps, dynamic API endpoints, and everything in-between.

Essential tools for software developers and teams.

Silver Sponsors

Become a sponsor

v2.0.10

04 Apr 15:27
Compare
Choose a tag to compare

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

Please refer to CHANGELOG.md for details.

Sponsors

Special Sponsor

Stay in the flow with instant dev experiences.
No more hours stashing/pulling/installing locally

— just click, and start coding.

Platinum Sponsors

An approachable, performant and versatile framework for building web user interfaces.

Astro powers the world's fastest websites, client-side web apps, dynamic API endpoints, and everything in-between.

Essential tools for software developers and teams.

Silver Sponsors

Become a sponsor

v2.0.7

20 Mar 10:36
Compare
Choose a tag to compare

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

07 Mar 05:57
Compare
Choose a tag to compare

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 to vue.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

05 Mar 14:30
Compare
Choose a tag to compare

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 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)

Refactors

Please refer to CHANGELOG.md for details.


(This project is mainly supported by StackBlitz)

Our Platinum Sponsors

Our Silver Sponsors

v2.0.0

01 Mar 21:26
Compare
Choose a tag to compare

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 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)

Please refer to CHANGELOG.md for details.


(This project is mainly supported by StackBlitz)

Our Platinum Sponsors

Our Silver Sponsors

v1.8.0

16 Jun 22:58
Compare
Choose a tag to compare

2.0 schedule has been postponed: #3294

Highlights

Breaking changes

  • volar.config.js plugins option has been renamed to services

  • Renaming packages from @volar/vue-* to @vue/* (#3134)


Please refer to CHANGELOG.md for details.