VS Code 中的 Hugo 模板格式化

Hugo template formatting in VS Code

VS Code 中的自动格式通过删除缩进使我的代码不可读。我不知道如何仅针对车把关闭此功能。

输入:

{{ range ... }}
   {{ if .... }}
      {{if ... }}
          <tag></tag>
      {{end}}
   {{end}}
{{end}}

输出

{{ range ... }}
{{ if .... }}
{{if ... }}
<tag></tag>
{{end}}
{{end}}
{{end}}

有什么办法可以防止这种情况发生?

我找不到一个干净的方法来做到这一点,但我发现一个笨拙的解决方法是在我的工作区中使用带有自定义 html 标签的 html.format.contentUnformatted 设置。

"settings": {
        "html.format.contentUnformatted": "ignore-format"
}

然后将需要格式化的模板代码部分包装在此标记内。

<ignore-format>
{{ range ... }}
   {{ if .... }}
      {{if ... }}
          <tag></tag>
      {{end}}
   {{end}}
{{end}}
</ignore-format>

请注意,我选择了 ignore-format,这可以是任何有效的自定义 html 标签名称。如果您找到更简洁的解决方案,请告诉我,我会将您的答案标记为已接受。

您可以使用 select 语言模式设置文档类型(更改语言模式 ctrl + k + m),将语言设置为 HTML 模板 HTML Twig。

然后进行格式化,就可以完美格式化了。 它对我有用。