coc-vetur
June 7, 2021 ยท View on GitHub
Vue language server extension for coc.nvim.
Using vue-language-server
Note: latest vetur have changed filepath of server, make sure upgrade to
latest vetur if you're using vetur.dev.vlsPath configuration.
Supporting
If you like my extension, consider supporting me on Patreon or PayPal:
Install
In your vim/neovim, run command:
:CocInstall coc-vetur
Note you have to install eslint and eslint-plugin-vue by:
npm i eslint eslint-plugin-vue -D
in your project root for this extension to work.
Make sure your workspace root is correct by :echo g:WorkspaceFolders
Features
Language server features provided by vue-language-server.
Configuration options
-
vetur.ignoreProjectWarning: Vetur will warn about not setup correctly for the project. You can disable it., default:false -
vetur.useWorkspaceDependencies: Use dependencies from workspace. Currently only for TypeScript., default:false -
vetur.completion.autoImport: Include completion for module export and auto import them, default:true -
vetur.completion.useScaffoldSnippets: Enable/disable Vetur's built-in scaffolding snippets, default:true -
vetur.completion.tagCasing: Casing conversion for tag completion, default:"kebab"Valid options: ["initial","kebab"] -
vetur.grammar.customBlocks: Mapping from custom block tag name to language name. Used for generating grammar to support syntax highlighting for custom blocks, default:{"docs":"md","i18n":"json"} -
vetur.validation.template: Validate vue-html in using eslint-plugin-vue, default:truevetur.validation.templateProps: Validate props usage in region. Show error/warning for not passing declared props to child components and show error for passing wrongly typed interpolation expressions, default:falsevetur.validation.interpolation: Validate interpolations in region using TypeScript language service, default:truevetur.validation.style: Validate css/scss/less/postcss invetur.validation.script: Validate js/ts invetur.format.enable: Enable/disable the Vetur document formatter., default:truevetur.format.options.tabSize: Number of spaces per indentation level. Inherited by all formatters., default:2vetur.format.options.useTabs: Use tabs for indentation. Inherited by all formatters., default:falsevetur.format.defaultFormatter.html: Default formatter for region, default:"prettier"Valid options: ["none","prettyhtml","js-beautify-html","prettier"]vetur.format.defaultFormatter.pug: Default formatter for region, default:"prettier"Valid options: ["none","prettier"]vetur.format.defaultFormatter.css: Default formatter for Valid options: ["none","prettier"]vetur.format.defaultFormatter.postcss: Default formatter for Valid options: ["none","prettier"]vetur.format.defaultFormatter.scss: Default formatter for Valid options: ["none","prettier"]vetur.format.defaultFormatter.sass: Default formatter for Valid options: ["none","sass-formatter"]vetur.format.defaultFormatter.less: Default formatter for Valid options: ["none","prettier"]vetur.format.defaultFormatter.stylus: Default formatter for Valid options: ["none","stylus-supremacy"]vetur.format.defaultFormatter.js: Default formatter for Valid options: ["none","prettier","prettier-eslint","vscode-typescript"]vetur.format.defaultFormatter.ts: Default formatter for Valid options: ["none","prettier","prettier-tslint","vscode-typescript"]vetur.format.defaultFormatterOptions: Options for all default formatters, default:{"js-beautify-html":{"wrap_attributes":"force-expand-multiline"},"prettyhtml":{"printWidth":100,"singleQuote":false,"wrapAttributes":false,"sortAttributes":false}}vetur.format.styleInitialIndent: Whether to have initial indent forvetur.format.scriptInitialIndent: Whether to have initial indent forvetur.languageFeatures.codeActions: Whether to enable codeActions, default:truevetur.languageFeatures.updateImportOnFileMove: Whether to automatic updating import path when rename or move a file, default:truevetur.trace.server: Traces the communication between VS Code and Vue Language Server., default:"off"Valid options: ["off","messages","verbose"]vetur.dev.vlsPath: Path to VLS for Vetur developers. There are two ways of using it.- Clone vuejs/vetur from GitHub, build it and point it to the ABSOLUTE path of
/server. yarn global add vue-language-serverand point Vetur to the installed location (yarn global dir+ node_modules/vue-language-server)
vetur.dev.vlsPort: The port that VLS listens to. Can be used for attaching to the VLS Node process for debugging / profiling, default:-1vetur.dev.logLevel: Log level for VLS, default:"INFO"Valid options: ["INFO","DEBUG"]vetur.experimental.templateInterpolationService: Enable template interpolation service that offers diagnostics / hover / definition / references., default:falsevetur.underline.refValue: Enable underline.valuewhen using composition API., default:trueTrigger completion in
coc-settings.jsonto get full list of options.Troubleshooting
- Add
"vetur.trace.server": "verbose"to yourcoc-settings.json(opened by command:CocConfig) for verbose messages.coc-settings.json - Restart coc server by command
:CocRestart - Make the issue happen.
- Open tsserver output channel by command
:CocCommand workspace.showOutput vetur.
License
MIT