Zeh*_*ort 7 python django django-templates visual-studio-code
我正在编写一个 Django 应用程序,并在 VSCode ( ) 中使用以下配置settings.json来自动格式化我的 Python 代码(我也使用 Django VSCode 扩展):
{
"liveshare.authenticationProvider": "GitHub",
"editor.fontSize": 16,
"files.trimFinalNewlines": true,
"files.trimTrailingWhitespace": true,
"files.insertFinalNewline": true,
"html.format.endWithNewline": true,
"files.exclude": {
"**/__pycache__": true
},
"explorer.confirmDragAndDrop": false,
"editor.formatOnSave": true,
"git.confirmSync": false,
"window.zoomLevel": -1,
"python.linting.flake8Enabled": true,
"python.formatting.provider": "black",
"python.linting.flake8Args": [
"--ignore=E501,E266,W503"
],
"files.associations": {
"**/*.html": "html",
"**/templates/**/*.html": "django-html",
"**/templates/**/*": "django-txt",
"**/requirements{/**,*}.{txt,in}": "pip-requirements",
"*.html": "django-html"
},
"emmet.includeLanguages": {"django-html": "html"},
}
Run Code Online (Sandbox Code Playgroud)
虽然 Python 文件中的格式按预期工作,但它似乎也会干扰我的 Django 模板并破坏它们。
例如,以下模板...
{% extends "base.html" %}
{% load martortags %}
{% block title %}MyBlog - {{ object.title }}{% endblock title %}
{% block content %}
<ol>
{% for post in object_list %}
<li>
<a href="{{ post.get_absolute_url }}">{{ post.title }}</a>
</li>
{% endfor %}
</ol>
{% endblock content %}
Run Code Online (Sandbox Code Playgroud)
...保存后变成这样:
{% extends "base.html" %} {% load martortags %} {% block title %}MyBlog - {{
object.title }}{% endblock title %} {% block content %}
<ol>
{% for post in object_list %}
<li><a href="{{ post.get_absolute_url }}">{{ post.title }}</a></li>
{% endfor %}
</ol>
{% endblock content %}
Run Code Online (Sandbox Code Playgroud)
如 中所示settings.json,我尝试按照 Django VSCode 扩展文档中的说明进行操作,但没有成功。事实上,无论"files.associations"和"emmet.includeLanguages"设置是否存在,都不会发生任何变化settings.json。
如何将.py文件格式(由 VSCode 正确识别为Python文件)与.html文件格式(由 VSCode 正确识别为Django Template文件)分离,并可能对后者使用普通的 HTML 格式化程序?
Python 的格式化程序black不会格式化.html文件。
我不确定您为该.html文件选择了哪种格式。你可以看看尝试User settings.json找到这个:
"[html]": {
"editor.defaultFormatter": xxx
}
Run Code Online (Sandbox Code Playgroud)
您可以右键单击编辑器并选择Format Document with找出导致该问题的格式。扩展Prettier Code formatter看起来可能会导致它。
| 归档时间: |
|
| 查看次数: |
3126 次 |
| 最近记录: |