使用 VSCode 在 EJS 文件上错误缩进

Pab*_*oli 2 html formatting indentation ejs visual-studio-code

我在 VSCode 上遇到 EJS 文件的问题,每次我保存文件时,格式化程序都会应用错误的缩进。

在每个 EJS 标识符下方,下一行向右移动,缺少正确的垂直对齐。

我为 *.ejs 使用 HTML 格式并安装了来自 DigitalBrainstem 的 EJS 扩展


    <% if(locals.metadata && locals.metadata.length>0) { %>
        <% var supplier=metadata[0] %>
            <% } %>

                <main class="site-content">
Run Code Online (Sandbox Code Playgroud)

下图中的另一个例子

错误的代码缩进

您可以在两个示例中看到,它看起来像一个梯子,每一行都自动向右缩进,并且无法保持打开/关闭代码块对齐。

小智 10

只是自己在寻找解决方案。如果安装 ESJ 语言支持插件本身不起作用。转到设置并搜索,Format: templating您将看到支持某些模板语言标签的选项。激活它。这至少对我有用。


Vic*_*ban 1

我找到了解决方案:

  1. 安装EJS language support插件
  2. 现在您有了 ejs 支持和代码片段,但有些标签如
<? for( let item of array ) { ?>
(some data)
<? } ?>
Run Code Online (Sandbox Code Playgroud)

格式不正确(至少使用默认的 html 格式化程序)。

  1. 要解决此问题,您可以尝试将自定义分隔符设置为“?” ejs.delimeter = '?'。现在你已经有了正确的缩进。
  2. 要将片段与我们的自定义分隔符一起使用,您需要编辑扩展片段(或添加您自己的片段):安装Snippets Ranger插件,然后找到所需的扩展并编辑其文件。这Snippets Ranger是非常方便的工具。

我希望我帮助某人为 .ejs 文件设置 VSCode