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
相关产品推荐
相关产品推荐

