Skip to content

Editor Support

This library ships two files that enable rich editor support for all components, no generation step required.

  • custom.html-data.json — provides autocomplete and hover info in HTML files
  • custom-elements.json — custom elements manifest for deeper editor and tooling integration

Note

You only need to set up the one that fits your workflow. Each editor section below covers what is available for each file.

VS Code

custom.html-data.json

Register it in your workspace settings:

.vscode/settings.json
{
"html.customData": ["./node_modules/@staticbolt/wcp/custom.html-data.json"],
}

custom-elements.json

Install the Web Components Language Server extension from the VS Code Marketplace. It automatically detects custom-elements.json in your dependencies with no extra configuration needed. Also works in VSCodium, Cursor, Windsurf, and Theia.

Neovim

custom.html-data.json

Pass it to the HTML language server via your LSP config:

require('lspconfig').html.setup {
settings = {
html = {
customData = { vim.fn.getcwd() .. '/node_modules/@staticbolt/wcp/custom.html-data.json' }
}
}
}

custom-elements.json

Install the wc-toolkit Neovim plugin. The language server executable can be installed via Mason:

:MasonInstall wc-language-server

Then set up the plugin:

require("wc_language_server").setup()

It auto-detects custom-elements.json from your project dependencies and attaches to HTML, Astro, Vue, Svelte, JSX/TSX, and Markdown files.

Zed

custom.html-data.json

Register it in your workspace settings:

Caution

The Zed HTML extension does not support customData in settings.json yet.

.zed/settings.json
{
"lsp": {
"vscode-html-language-server": {
"settings": {
"html": {
"customData": ["./node_modules/@staticbolt/wcp/custom.html-data.json"],
},
},
},
},
}

custom-elements.json

Install the Web Components Language Server extension from Zed’s extension marketplace. It auto-detects custom-elements.json from your dependencies.

JetBrains IDEs

web-types.json

A web-types.json file is included in this package. JetBrains IDEs pick it up automatically with no additional configuration required.

custom-elements.json

Install the Web Components Language Server JetBrains plugin. It reads custom-elements.json directly from your dependencies.

custom.html-data.json

JetBrains IDEs (WebStorm, IntelliJ IDEA, Rider, etc.) do not support custom.html-data.json.