之前尝试的解决方案对我都不起作用,我或者会失去语法高亮、自动完成或自动格式化功能。
最终,我找到了一种解决方案,可以提供所有这些功能:
- 安装“Better Jinja”或“Django”(在双引号内更好的语法高亮)插件
- 安装“djLint”插件
- 按下
CTRL + Shift + P
,然后输入 open settings json
+ Enter
这是我的配置,适用于我的jinja模板。 djLint还有更多特定于文件类型的选项可供选择(请参见VS Code中的扩展说明)。
"emmet.includeLanguages": {
"jinja2": "html",
"jinja-html": "html",
"django-html": "html",
},
"[jinja]": {
"editor.defaultFormatter": "monosans.djlint",
"editor.detectIndentation": false,
"editor.tabSize": 2,
"editor.formatOnSave": true,
},
"[jinja-html]": {
"editor.defaultFormatter": "monosans.djlint",
"editor.detectIndentation": false,
"editor.tabSize": 2,
"editor.formatOnSave": true,
},
"[django-html]": {
"editor.defaultFormatter": "monosans.djlint",
"editor.detectIndentation": false,
"editor.tabSize": 2,
"editor.formatOnPaste": true,
},
我使用扩展名.jinja2
来编写jinja模板。为了让它能够与"Django"插件一起使用,我需要在我的设置中添加以下内容:
"files.associations": {
"*.jinja2": "django-html"
},
我现在唯一的抱怨是无法得到标签的联动编辑 :-D