@vue/language-server
A Vue language server based on the Language Server Protocol. This package provides an executable language server that can be integrated with any LSP-compatible editor.
Installation
npm install @vue/language-server
Command-Line Usage
After installation, the vue-language-server command is available:
vue-language-server --stdio
vue-language-server --version
vue-language-server --stdio --tsdk=/path/to/typescript/lib
--tsdk Parameter
The --tsdk parameter is used to specify the path to the TypeScript SDK. This is useful when you need to use a specific version of TypeScript from your project instead of the globally installed version. The path should point to TypeScript's lib directory.
Editor Integration
VSCode
Simply install the Vue (Official) extension, which already includes this language server.
Neovim
Configure via nvim-lspconfig:
require('lspconfig').volar.setup({})
Sublime Text
See sublimelsp/LSP-volar.
Emacs
See lsp-mode for Vue support.
Programmatic Usage
If you need to start the language server within your own program:
import { startServer } from '@vue/language-server/lib/server';
import * as ts from 'typescript';
startServer(ts);
Note: startServer creates a stdio-based LSP connection and communicates with @vue/typescript-plugin through tsserver/request and tsserver/response notifications.
Collaboration with TypeScript Plugin
This language server communicates with @vue/typescript-plugin through custom tsserver/request and tsserver/response notifications. This architecture allows the language server to leverage the capabilities of the TypeScript language service for complex type inference and code analysis.
Related Packages
License
MIT License