Vue (Official)

January 31, 2026 · View on GitHub

Version Downloads

Vue language support extension for VSCode, providing a full development experience for Vue Single File Components (SFCs).

Features

  • Syntax Highlighting - Supports HTML, CSS, JavaScript, TypeScript, Pug, SCSS, Less, etc. in Vue SFCs
  • Intelligent Completion - Auto-completion for components, props, events, slots, and directives
  • Type Checking - Full TypeScript type inference, including expressions in templates
  • Error Diagnostics - Real-time display of Vue compiler errors
  • Code Navigation - Go to definition, find references
  • Refactoring - Rename, extract component
  • Formatting - Format SFCs by block

Installation

Search for Vue (Official) or Vue.volar in the VSCode extension marketplace and click install.

Configuration

Editor Settings

OptionTypeDefaultDescription
vue.editor.focusModebooleanfalseEnable focus mode
vue.editor.reactivityVisualizationbooleantrueShow reactivity variable visualization
vue.editor.templateInterpolationDecoratorsbooleantrueShow template interpolation decorators

Completion Settings

OptionTypeDefaultDescription
vue.suggest.componentNameCasingstringpreferPascalCaseComponent name casing style (preferKebabCase, preferPascalCase, alwaysKebabCase, alwaysPascalCase)
vue.suggest.propNameCasingstringpreferCamelCaseProp name casing style (preferKebabCase, preferCamelCase, alwaysKebabCase, alwaysCamelCase)
vue.suggest.defineAssignmentbooleantrueSuggest assignments for defineProps, etc.

Auto-Insert Settings

OptionTypeDefaultDescription
vue.autoInsert.dotValuebooleanfalseAuto-insert .value
vue.autoInsert.bracketSpacingbooleantrueAuto-insert spaces in {{ }}

Inlay Hints Settings

OptionTypeDefaultDescription
vue.inlayHints.destructuredPropsbooleanfalseShow types for destructured props
vue.inlayHints.inlineHandlerLeadingbooleanfalseShow parameters for inline handlers
vue.inlayHints.missingPropsbooleanfalseShow missing required props
vue.inlayHints.optionsWrapperbooleanfalseShow Options API wrapper
vue.inlayHints.vBindShorthandbooleanfalseShow v-bind shorthand hints

Formatting Settings

OptionTypeDefaultDescription
vue.format.script.enabledbooleantrueEnable script block formatting
vue.format.template.enabledbooleantrueEnable template block formatting
vue.format.style.enabledbooleantrueEnable style block formatting
vue.format.wrapAttributesstringautoAttribute wrapping style

Server Settings

OptionTypeDefaultDescription
vue.server.pathstring-Custom language server path
vue.server.includeLanguagesstring[]["vue"]Language IDs to process
vue.trace.serverstringoffServer trace level

Commands

CommandDescription
Vue: WelcomeOpen the welcome page
Vue: Restart ServerRestart the language server

Using Workspace TypeScript

It is recommended to use the TypeScript version from your project instead of the one built into VSCode:

  1. Create .vscode/settings.json in your project root
  2. Add the following settings:
{
  "typescript.tsdk": "node_modules/typescript/lib",
  "typescript.enablePromptUseWorkspaceTsdk": true
}

Troubleshooting

If you encounter any issues, you can try the following steps:

  1. Reload Window: Run the Developer: Reload Window command in VSCode
  2. Check vue-tsc: Run npx vue-tsc --noEmit in the command line to check for type errors
  3. Check Output Channel: In VSCode's "Output" panel, select Vue Language Server to see if there are any error messages

If the problem persists, feel free to open an issue on GitHub Issues.

❤️ Sponsors

This project's continued development is made possible by our generous sponsors:

License

MIT License