我试图让VS Code格式化我的Django HTML文件,但我得到:There is no document formatter for 'django-html'-files installed。我在网上找到的解决方案是用Beautify,而不是Prettier。我怎么能让它与Prettier工作?
There is no document formatter for 'django-html'-files installed
qybjjes11#
@Tedkovsky的答案可能在技术上解决了你得到的错误,但是一旦你过去了,你会看到Prettier会破坏你的模板,因为它试图打破包含{{ }}和{% %}这样的模板标签的长行。这是因为Prettier目前(截至2021-01-09)不支持Jinja或Django模板,而且目前,开发人员似乎对添加此功能不感兴趣。这里有两张(已关闭)门票:
{{ }}
{% %}
我也找不到它的插件,所以看起来没有一个解决方案可以在Django模板中使用Prettier。edit:我一直在Django论坛关注this thread关于Django模板的自动格式化程序。也许那里会有什么东西出现。later edit:看起来djhtml可以处理缩进,尽管它与Prettier是分开的。但它并不完全自动格式化。后来编辑:djlint也可用于格式化模板
nhn9ugyo2#
在settings.json中,尝试
"[django-html]": { "editor.defaultFormatter": "prettier" },
mwg9r5ms3#
djLint为我工作。参考:https://marketplace.visualstudio.com/items?itemName=monosans.djlint1.安装VS Code的djlint扩展。1.添加到settings.json文件中:“[html] [django-html] [handbars] [hbs] [mustache] [jinja] [jinja-html] [nj] [njk] [nunjucks] [小枝]":{“editor.defaultFormatter”:“monosans.djlint”}1.在settings.json文件中启用选项编辑器.formatOnSave。
3条答案
按热度按时间qybjjes11#
@Tedkovsky的答案可能在技术上解决了你得到的错误,但是一旦你过去了,你会看到Prettier会破坏你的模板,因为它试图打破包含
{{ }}
和{% %}
这样的模板标签的长行。这是因为Prettier目前(截至2021-01-09)不支持Jinja或Django模板,而且目前,开发人员似乎对添加此功能不感兴趣。这里有两张(已关闭)门票:
我也找不到它的插件,所以看起来没有一个解决方案可以在Django模板中使用Prettier。
edit:我一直在Django论坛关注this thread关于Django模板的自动格式化程序。也许那里会有什么东西出现。
later edit:看起来djhtml可以处理缩进,尽管它与Prettier是分开的。但它并不完全自动格式化。
后来编辑:djlint也可用于格式化模板
nhn9ugyo2#
在settings.json中,尝试
mwg9r5ms3#
djLint为我工作。参考:https://marketplace.visualstudio.com/items?itemName=monosans.djlint
1.安装VS Code的djlint扩展。
1.添加到settings.json文件中:“[html] [django-html] [handbars] [hbs] [mustache] [jinja] [jinja-html] [nj] [njk] [nunjucks] [小枝]":{“editor.defaultFormatter”:“monosans.djlint”}
1.在settings.json文件中启用选项编辑器.formatOnSave。