You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NvChad环境下Neovim的Emmet-ls配置不生效求助

解决Emmet-ls在TypeScriptReact文件中生成XHTML风格自闭合标签的问题

问题核心是Emmet-ls针对TypeScriptReact(tsx)文件会使用jsx配置规则,而非你当前设置的html规则。只需在init_options中添加jsx配置块,即可让tsx中的标签生成XHTML风格的自闭合格式。

修改后的完整配置如下:

lspconfig.emmet_ls.setup {
  on_attach = on_attach,
  capabilities = capabilities,
  filetypes = {
    "css",
    "eruby",
    "html",
    "javascript",
    "javascriptreact",
    "less",
    "sass",
    "scss",
    "svelte",
    "pug",
    "typescriptreact",
    "vue",
  },
  init_options = {
    html = {
      options = {
        ["output.selfClosingStyle"] = "xhtml",
      },
    },
    jsx = {
      options = {
        ["output.selfClosingStyle"] = "xhtml",
        ["output.format"] = "xhtml"
      },
    },
  },
}

说明

  • Emmet-ls会根据文件类型映射到对应的配置组:typescriptreact和javascriptreact文件会匹配jsx配置,而非html配置,因此单独修改html选项无法影响tsx文件的补全结果。
  • 添加jsx配置块并设置output.selfClosingStyle为xhtml,同时指定output.format为xhtml,就能强制生成带斜杠的自闭合标签。

内容的提问来源于stack exchange,提问作者0MR4N

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 00:53:20