如何在vscode中为HTML和Jinja设置格式化程序?

时间:2019-05-10 13:10:50

标签: visual-studio-code

我正在使用vs代码,它具有自动格式化功能,这很棒,但是,当我编写HTML文件并使用Jinja或DTL时,它的格式非常糟糕。如何禁用此格式或对其进行更改?

我已经安装了名为Prettier的格式扩展。

这就是我得到的:

{{ block.super }}

{% endblock styling%} {% block title %} Game {{ game.firs_player }} vs.
{{ game.second_player }} {% endblock title %} {% block content %} This is a
detial page for game {{ game.id }}
{% endblock content %}

这就是我想要的:

{% load staticfiles %} 

{% block styling%}
    {{ block.super }}
{% endblock styling%} 

{% block title %} 
    Game {{ game.firs_player }} vs.{{ game.second_player }} 
{% endblock title %} 

{% block content %} 
    This is a detial page for game {{ game.id }}
{% endblock content %}```

2 个答案:

答案 0 :(得分:0)

您可以使用 beautify。它并不完美,但确实有效。

安装添加到用户 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); EditText editText=findViewById(R.id.editText); Button button=findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { String text=editText.getText().toString(); if (text.equalsIgnoreCase("hh")){ Toast.makeText(MainActivity.this, "yes", Toast.LENGTH_SHORT).show(); }else{ Toast.makeText(MainActivity.this, "no", Toast.LENGTH_SHORT).show(); } } }); } 文件后,此代码:

settings.json

它现在应该可以与 Django 模板文件一起使用了。

答案 1 :(得分:0)

由于某种原因,我无法让 Daniel 的美化解决方案发挥作用。也许是因为我在全球范围内使用 Prettier。

这对我有用:

有一个名为 Unibeautify 的项目,它看起来有点像“一个环控制所有”,用于将不同格式器和文件类型的个性化设置联系在一起。

它有一个 VS Code 扩展,VSCode-Unibeautify

安装扩展后,您需要创建一个配置文件并告诉 VS Code 在哪里可以找到它。如果您想将其用于多种语言,您可以创建和customize 自己的配置,但以下是 Jinja 对我有用的方法:

# unibeautifyrc.yaml
HTML:
  beautifiers:
    - JS-Beautify
    - Pretty Diff

然后,在您的 vscode 设置中:

// settings.json
  "unibeautify.defaultConfig": "/PATH/TO/unibeautifyrc.yaml",
  "unibeautify.enabled": true,
  "[jinja-html]": {
    "editor.defaultFormatter": "Glavin001.unibeautify-vscode",
    "editor.formatOnSave": true
  },

我还做的是将 html 文件与我项目的 settings.json 中的 Jinja 文件类型相关联。这使您可以将 prettifier 用于其他文件,以及您未使用 Jinja 的其他项目。如果您愿意,我认为您还可以使以下 *.html 更具体到您的模板目录。

// MYPROJECT/.vscode/settings.json
{
  "files.associations": {
    "*.html": "jinja-html"
  }
}

此解决方案由 JS-Beautify 提供支持,它似乎与 Jinja 配合得很好,并为 Atoms atom-beautify 扩展提供支持,也是 Unibeautify 的同一作者 Glavin001,一个美丽的人。