如何为Django模板标签创建带变量的Emmet自定义代码片段
实现自定义Django Block标签的Emmet配置
直接用Emmet的动态占位符就能搞定,核心是让块名成为可复用的变量,下面是具体配置和用法:
配置方法(以VS Code为例)
打开VS Code的settings.json(快捷键Ctrl+, 然后搜索"Emmet Snippets"),添加以下配置:
"emmet.snippets": { "django-html": { "bdlock": "{% block ${1:content} %}\n\n{% endblock ${1:content} %}" } }
关键说明
${1:content}是Emmet的占位符语法:${1}表示第一个可编辑的变量,:content是默认值(不自定义时会用这个)。- 两个
${1:content}会同步变化,确保block和endblock的名称完全一致。
使用方式
- 输入
bdlock{foo}+Tab,直接生成:
{% block foo %} {% endblock foo %}
- 输入
bdlock{header}+Tab,生成:
{% block header %} {% endblock header %}
- 直接敲
bdlock+Tab,会生成默认的content块:
{% block content %} {% endblock content %}
其他编辑器适配
如果是Sublime Text或WebStorm,Emmet的自定义snippet逻辑一致,只要在对应编辑器的Emmet设置里,给Django模板语言添加同样的snippet即可,写法和上面的JSON结构类似。
内容的提问来源于stack exchange,提问作者Yevgen Vasilyev
相关产品推荐
相关产品推荐

