繁体   English   中英

Prettier vscode 扩展不支持 Django 模板标签 {% tag %}

[英]Prettier vscode extension not support Django template tags {% tag %}

Prettier Visual Studio 代码扩展不支持 Django 模板标签 {% tag %}

现在我该如何解决这个问题?

我必须禁用 html 文件的 Prettier 扩展还是有其他解决方案?

问题 5581 in github =不支持 Django 模板标签

2022 年 2 月

基于@Al Mahdi 的评论:Prettier 不再支持prettier.disableLanguages选项。 因此,要忽略某些文件,您必须创建一个类似于 .gitignore 文件的 .prettierignore 文件(适用于使用 Git 的人)。 该文件位于项目的根文件夹中。 下面是我的例子的来源。

要忽略一个文件,您可以输入特定的文件名:

# Ignoring just one file
my_cool_html_file.html

或者您可以使用一揽子声明:

# Ignoring all html files
*.html

还有一个 pragma 选项 ( <!--prettier-ignore--> ) 可以让您忽略特定文件中的代码片段。 假设在您的my_cool_html_file.html中您不想在其中使用 Prettier 格式的某些行,您可以:

<!-- prettier-ignore -->
<div         class="x"       >hello world</div            >

<!-- prettier-ignore-attribute -->
<div
  (mousedown)="       onStart    (    )         "
  (mouseup)="         onEnd      (    )         "
></div>

<!-- prettier-ignore-attribute (mouseup) -->
<div
  (mousedown)="onStart()"
  (mouseup)="         onEnd      (    )         "
></div>

2020 年 7 月(旧答案)

你可以做两件事:

  1. 通过在“settings.json”文件中添加以下命令来禁用 HTML 文件上的 Prettier:

     "prettier.disableLanguages": ["html"]

    如果您启用了它,这将确保 VS Code 固有的 HTML 格式。

或者

  1. 你可以安装一个像这样的 Django 扩展。 然而,这个扩展的问题在于它禁用了 VS Codes 固有的 HTML 智能感知(我个人喜欢)。

希望这可以帮助。

使用"prettier.disableLanguages": ["django-html"]时,我在 VS Code 中收到以下警告:

不再支持此功能。 相反,配置 VS Code 默认格式化程序或使用 .prettierignore。

我按照说明进行操作,并且能够通过将以下内容添加到settings.json来禁用django-html文件中的 prettier:

"[django-html]": {
    "editor.formatOnSave": false
}

这告诉 VS Code 在保存django-html文件时不运行自动格式化。 但是,如果您在 pretty 旁边使用其他格式化程序,并且您只想阻止 pretty 格式化,那么这可能不是最佳解决方案。

替代方法:

警告建议的另一种方法是使用.prettierignore文件。 您只需将文件放在源根目录中并指定您希望漂亮忽略的文件、目录、模式等。 语法与.gitignore文件相同。 你可以在这里阅读更多关于它的信息。

就像@ahimsauzi 指出的那样,解决方案是

"prettier.disableLanguages": ["django-html"] 

只需禁用"django-html"

  1. 在您的项目目录中创建一个 .prettierignore 文件。
  2. 在 .prettierignore 文件中添加 *.html。

现在 prettier 将忽略当前项目中的所有 html 文件。

我不知道它是否适合你,但我可以通过不在 django 模板中使用 prettier 来解决问题,在我的项目中安装djlint作为开发依赖(我正在使用 pipenv,你可以将它安装为系统范围的包)并安装vscode 中的djlint 扩展

安装 djlint 后我们需要配置我们的 vscode

"[html]": {
  "editor.defaultFormatter": "monosans.djlint"
},
"[django-html]": {
  "editor.defaultFormatter": "monosans.djlint"
},

如果您不想在全局设置中包含该配置,您可以将它们添加到工作区设置中。

我希望我的解决方案适合你

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM