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

如何在Django-html中正常使用Emmet的!快捷缩写?

问题原因

配置"emmet.includeLanguages": {"django-html": "html"}仅能让Django-HTML语言模式识别常规Emmet标签缩写。!触发HTML基础模板属于Emmet内置初始化片段的特殊触发逻辑,默认触发校验白名单未纳入Django-HTML语言模式,自定义语言映射不会自动继承原生HTML语言的全量片段触发权限,因此常规缩写可用但!缩写失效。

修复方案

方案1:自定义Emmet片段(兼容性最好,100%生效)

  • 唤起编辑器命令面板:Windows/Linux按Ctrl+Shift+P,Mac按Cmd+Shift+P
  • 搜索选中Preferences: Configure Emmet Snippets,打开Emmet片段配置文件snippets.json
  • 在配置中补充Django-HTML的片段继承规则,以及!对应的基础模板内容,参考配置如下:
{
  "html": {
    "snippets": {
      "!": "<!DOCTYPE html>\n<html lang=\"zh-CN\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>${1:页面标题}</title>\n</head>\n<body>\n    ${0}\n</body>\n</html>"
    }
  },
  "django-html": {
    "extends": "html",
    "snippets": {}
  }
}
  • 保存配置后重启编辑器,在Django-HTML文件中输入!按触发展开键(Tab/回车)即可生成基础模板。

方案2:补全Emmet全局配置(操作更简单)

打开编辑器settings.json配置文件,在原有Emmet配置基础上补充语法关联和触发权限配置:

{
  "emmet.includeLanguages": {
    "django-html": "html"
  },
  "emmet.syntaxProfiles": {
    "django-html": "html"
  },
  "emmet.triggerExpansionOnTab": true
}

该方案在部分新版本VS Code中存在偶发不生效问题,若配置后仍无法触发!缩写,直接使用方案1即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 14:48:21