Repolode
vuejs

vuejs/language-tools

Vue language tooling built on Volar.js, providing the Vue editor language server, vue-tsc type checker and related packages.

Stars
6,746
Forks
586
Open issues
60
Last commit
6 days ago

What is it?

Vue Language Tools is the official toolset for giving editors and the command line full type-aware language support for Vue single-file components. It is built on Volar.js and includes the Vue (Official) VS Code extension, a language server that other editors can connect to, and the vue-tsc command for type-checking Vue projects outside an editor.

The project is split into packages: a core module that parses SFCs and generates virtual code for type checking, a TypeScript language service plugin, and helpers such as vue-component-meta, which extracts component props, events and slot types. Pug template support and Vitepress and petite-vue language support are also covered by the extension.

A typical use is adding vue-tsc to a project's dev dependencies and running it as a type-check script in CI. Compiler behavior can be adjusted through a vueCompilerOptions block in tsconfig.json.

Key features

  • 01Official VS Code extension for Vue, Vitepress and petite-vue
  • 02Command-line type checking with vue-tsc
  • 03Language server usable by other editors such as Neovim and Sublime
  • 04TypeScript language service plugin for Vue files
  • 05Component props, events and slots type extraction via vue-component-meta
  • 06Pug template support

Use cases

  • Getting full type-aware editing support for Vue components in VS Code
  • Running type checks on Vue projects in CI or pre-commit hooks
  • Connecting Neovim, Sublime or other LSP-capable editors to Vue
  • Extracting component type information for documentation or tooling

Quick start

  1. 1

    Install the Vue (Official) extension in VSCode

  2. 2

    Install vue-tsc and typescript as dev dependencies for command-line type checking

    npm install vue-tsc typescript --save-dev
  3. 3

    Add a type-check script that runs vue-tsc --noEmit to package.json

Topics

FAQ

What is language-tools?
Vue language tooling built on Volar.js, providing the Vue editor language server, vue-tsc type checker and related packages. Vue Language Tools is the official toolset for giving editors and the command line full type-aware language support for Vue single-file components. It is built on Volar.js and includes the Vue (Official) VS Code extension, a language server that other editors can connect to, and the vue-tsc command for type-checking Vue projects outside an editor.
Is language-tools free to use? What license does it have?
language-tools is open source under the MIT license. Check the license terms before using it in commercial products.
Is language-tools still maintained?
Actively maintained. The last commit to language-tools was on Nov 1, 2026.
What can I use language-tools for?
Getting full type-aware editing support for Vue components in VS Code Running type checks on Vue projects in CI or pre-commit hooks Connecting Neovim, Sublime or other LSP-capable editors to Vue Extracting component type information for documentation or tooling
How do I install language-tools?
Install the Vue (Official) extension in VSCode Install vue-tsc and typescript as dev dependencies for command-line type checking: npm install vue-tsc typescript --save-dev Add a type-check script that runs vue-tsc --noEmit to package.json
Where can I get language-tools?
The source code and installation instructions are on GitHub: https://github.com/vuejs/language-tools

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects