我们正在开发一个包含流程的 Salsforce 项目。因此,我们获得包含
<flow>
标签的权限集文件。 prettier
显然有一个用于(我认为)Flow静态类型检查器的插件,我们不使用它。但由于这个插件,prettier
将<flow>
标签解释为包含嵌入语言。所以这个:
<flow>Mock_Case_Screen_Flow</flow>
变成这样:
<flow>
Mock_Case_Screen_Flow;
</flow>
上面链接的 GitHub 问题中的评论确实解决了问题(将
"embeddedLanguageFormatting": "off"
添加到我们的 .prettierrc
),但随后又出现了另一个问题。我们正在使用 Lightning Web 组件,它可以像这样从 HTML 访问 JavaScript 属性:
<lightning-card
hide-header={hideHeader}
title={titleText}
icon-name={cardIcon}
>
显然
prettier
将此解释为嵌入式,并正确忽略它,而不需要对 .prettierrc
进行上述添加,但是当我们将该行添加到配置文件中时,prettier
现在将其破坏为:
<lightning-card
hide-header="{hideHeader}"
title="{titleText}"
icon-name="{cardIcon}"
>
既然我们不使用 Flow 语言,也永远不需要
prettier
格式的 Flow 代码,我们如何才能在整个项目中禁用这个插件呢?
虽然我只想禁用流插件,但有效的解决方案是在
.prettierrc
中进行特定于 XML 的覆盖:
{
"files": "*.xml",
"options": { "embeddedLanguageFormatting": "off" }
}
这可以防止 XML 文件被破坏,同时保留 HTML 文件的格式。