【问题标题】:VSCode breaks Django template tags with newlineVSCode 用换行符打破 Django 模板标签
【发布时间】:2021-02-23 09:26:00
【问题描述】:

问题:

{% extends 'base.html' %} {% block title %} Dashboard {% endblock %} {% block pagetitle %}

变成

{% extends 'base.html' %} {% block title %} Dashboard {% endblock %} {% block
pagetitle %}

注意{% tag %} 被换行了。这会导致 django 模板出现语法错误。

我已经尝试了大多数顶级 django 模板扩展,但这并不能解决问题。

我也试过这些设置:

    "[html]": {
        "editor.formatOnSave": false,
    },
    "html.format.wrapLineLength": 0,
    "html.format.enable": false,
    "prettier.disableLanguages": ["html"] 

期望的行为:

  1. 自动格式化 *.html 文件,同时保留 django 模板标签,而不是用换行符分解它们。
  2. 次优(但可接受)行为:根本不格式化 *.html 文件。

【问题讨论】:

    标签: django visual-studio-code django-templates vscode-settings


    【解决方案1】:

    我遇到了同样的问题,我发现解决它的唯一方法是禁用默认的 HTML 格式化程序。不幸的是,我没有找到让它正确格式化 Django 模板标签的方法。如果您转到 VS Code Preferences > Settings > User > Extensions > HTML 并取消选中“启用/禁用默认 HTML 格式化程序”,您也可以这样做。

    【讨论】:

      【解决方案2】:

      我只需在被破坏的{% tag %} 之间添加{{""}} 即可使其工作。

      例子:

      {% extends 'main/base.html' %} {% block title_block %}Homepage{% endblock%}
      {{""}} {%block style_ref_block%}{%endblock%} {{""}} {% block body_block %}
      

      【讨论】:

        猜你喜欢
        • 2015-03-01
        • 2021-04-16
        • 2014-03-20
        • 2013-03-12
        • 2011-12-22
        • 1970-01-01
        • 2021-02-18
        • 1970-01-01
        • 2011-02-09
        相关资源
        最近更新 更多