You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Visual Studio Code中设置HTML Jinja块的正确缩进?

解决Jinja2模板代码自动缩进问题

当前未正确缩进的代码

{% extends "base.html" %}

{% block content %}
{% with messages = get_flashed_messages() %}
{% if messages %}
{% for msg in messages %}
<p>{{ msg }}</p>
{% endfor %}
{% endif %}
{% endwith %}

<h1>{{ title }}</h1>
{% endblock content %}

期望的正确缩进格式

{% extends "base.html" %}

{% block content %}
{% with messages = get_flashed_messages() %}
    {% if messages %}
        {% for msg in messages %}
            <p>{{ msg }}</p>
        {% endfor %}
    {% endif %}
{% endwith %}

<h1>{{ title }}</h1>
{% endblock content %}

解决方案

Python格式化工具(如black、autopep8)不识别Jinja2模板语法,会错误移除模板块的缩进,需使用专门针对Jinja2的格式化方案:

  • 安装VS Code专用扩展
    在扩展商店搜索并安装Jinja2 Formatter,它专为Jinja模板处理缩进和格式问题。安装后打开模板文件(.html/.jinja后缀),右键选择「格式化文档」即可自动生成正确缩进。

  • 配置默认格式化工具避免冲突
    打开VS Code设置(快捷键Ctrl+,),搜索「Editor: Default Formatter」,为.html或.jinja文件指定Jinja2 Formatter为默认工具,防止Python格式化工具干扰。也可直接在settings.json中添加:

    "[html]": {
        "editor.defaultFormatter": "samuelcolvin.jinjahtml"
    }
    
  • 使用Prettier配合Jinja插件
    安装Prettier扩展及prettier-plugin-jinja-template插件,配置Prettier识别Jinja语法,同样能实现模板的正确缩进。

内容的提问来源于stack exchange,提问作者Krzysztof

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 15:25:15