【问题标题】:Disable onsave formating for .ejs files in visual studio code在 Visual Studio 代码中禁用 .ejs 文件的 onsave 格式
【发布时间】:2021-02-14 23:44:59
【问题描述】:

我正在处理 ejs 文件,但为了重用一些代码,我正在使用包含功能。鉴于一些打开/关闭 html 标记放置在其他文件中,在我保存更改后,某些东西(我不知道是更漂亮的扩展还是 VS 代码编辑器)将关闭标记包含到我的代码中,导致我运行时出现一些问题它。

【问题讨论】:

  • 我遇到了同样的问题,这让我很抓狂,我不得不使用另一个编辑器来删除这些关闭标签。
  • 我用我标记为最佳的解决方案解决了我的问题。我认为仅仅因为这个问题而改变编辑器有点极端。我建议您尝试提供的解决方案。

标签: visual-studio-code prettier


【解决方案1】:

另一种解决方案是使用.prettierignore 文件并放入:

*.ejs

【讨论】:

  • 但保存时会丢失格式
【解决方案2】:

在您的settings.json 中,您应该添加这些设置。 只是输入你想要的而不是"[css]"。 (文件格式)

请忽略与此答案无关的第 2 行 :)。

编辑

正如@aegatlin 所说,使用这个:"[html]"。(如果"[ejs]" 不适合你)

【讨论】:

【解决方案3】:

我自己不使用 EJS,但是在 VSCode 中使用它之后,我注意到我的 .ejs 文件被视为 HTML 文件。通过查看编辑器的右下角,您可以了解 VSCode 是如何解释文件的。您也可以搜索 EJS 扩展。

您可能启用了“编辑器:保存时格式化”选项。要禁用该设置,请转到首选项,然后在搜索栏中输入“保存时格式化”。找到设置。取消选中该框。这应该可以解决问题。

如您所述,如果您的 HTML 结束标签位于其他文件中,则您的 HTML 无效,并且格式化程序(Prettier 和默认格式)将自动完成结束标签。 (我打赌 EJS 也不喜欢缺少结束标签,但由于我不使用它,我不太确定,也许没关系。)

【讨论】:

  • 当我从设置中禁用保存格式时,我一直在寻找一种方法来禁用 *.ejs 文件的此特性。问题是 ejs 文件被视为 html 代码,我不想摆脱 html 格式,只是从被格式化为 html 的 ejs 文件中。
  • 听起来您不希望 *.ejs 文件与 HTML 相关联。您可以通过将它们与另一种文件类型相关联来做到这一点,甚至包括plaintext,这将有效地禁用语法突出显示和格式化。要更改该设置,请执行以下操作: 打开 *.ejs 文件。单击右下角的 HTML 文本(表示 VSCode 自动检测到的代码是什么)。您将看到一个下拉菜单,选择“为'.ejs'配置文件关联...”。在该选项中是另一个下拉菜单,选择“纯文本”或您想要的任何其他语言选项。
  • 谢谢,我将文件扩展名与纯文本相关联,这解决了我的问题!
  • 你能详细说明你是怎么做到的吗?
【解决方案4】:

Zulhilmi Zainudin 有解决方案 https://medium.com/@zulhhandyplast/how-to-disable-vs-code-formatonsave-for-specific-file-extensions-c60e8f254243

在 vscode 设置文件中,将 ejs 扩展文件与“语言”相关联。然后您可以为此语言指定不同的规则:

.vscode/settings.json 文件内容:

{
    "files.associations": {
        "*.ejs": "ejs" // this create the language « ejs » which refers to any .ejs file
    },
    "[ejs]": { // custom settings for the language « ejs »
        "editor.formatOnSave": false
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-04
    • 2011-05-17
    • 2019-07-17
    • 1970-01-01
    • 2019-03-10
    • 1970-01-01
    • 2022-07-12
    • 2019-08-17
    相关资源
    最近更新 更多