怎样使用VSCode的Emmet插件快速编写HTML【教程】

10次阅读

vscode 自带 Emmet,但需确保文件语言模式为 htmlvue 等支持类型;若 div.container 按 Tab 无反应,通常是语言模式未正确设置;Vue 文件中须在 区域内使用;! 生成的 html:5 模板默认含 ,若缺失需检查 Emmet 配置;jsX/Vue 中需在 settings.json 配置 emmet.includeLanguages;Emmet 仅在编辑器可编辑区域生效,且缩写不可含空格。

怎样使用VSCode的Emmet插件快速编写HTML【教程】

VSCode 自带 Emmet,无需额外安装插件——只要文件语言模式设为 HTMLVue 等支持 Emmet 的类型,就能直接用。

为什么输入 div.container 按 Tab 没反应?

最常见原因是当前文件没被识别为 HTML 类型。VSCode 不会自动根据文件名后缀判断(比如 index.txt 即使内容是 HTML 也不会启用 Emmet)。

  • 手动设置语言模式:按 Ctrl+Shift+Pwindows/linux)或 Cmd+Shift+Pmacos),输入 Change Language Mode,选 HTML
  • 确认右下角状态栏显示 HTML(不是 Plain Textauto
  • 如果写的是 .vue 文件,需确保光标在 区域内,Emmet 默认不作用于

! + Tab 生成的 html5 模板不包含 怎么办?

VSCode 内置的 Emmet 模板(html:5)默认已包含该标签,但如果你自定义过 emmet.variables 或修改了用户代码片段,可能被覆盖。

  • 检查设置中是否误删了 "emmet.variables": { "lang": "en" } 等配置(它不影响 charset,但说明你动过 Emmet 相关项)
  • 重置为默认行为:在设置中搜索 emmet.showExpandedAbbreviation,确认值为 always;再搜索 emmet.includeLanguages,确保没有错误排除 html
  • 临时验证:新建一个 test.html 文件,输入 ! 回车,看是否生成完整结构

在 Vue/JSX 中写 ul>li*3 不展开?

Emmet 在非纯 HTML 语境下需要显式启用,尤其是 JSX 和 Vue 的 template 区域依赖语言服务支持。

立即学习前端免费学习笔记(深入)”;

  • Vue 单文件组件:确保安装了官方 Volar 扩展(非旧版 Vetur),并在 settings.json 中添加:
    "emmet.includeLanguages": {   "vue-html": "html",   "vue": "html" }
  • react/JSX:在 settings.json 中加入:
    "emmet.includeLanguages": {   "javascriptreact": "jsx",   "typescriptreact": "jsx" }
  • 注意:JSX 中 div.my-class 会生成

    ,不是 class 属性——这是 Emmet 的默认映射,不可跳过

Emmet 最容易被忽略的其实是作用域边界:它只在文本编辑器“可编辑区域”生效,比如不能在调试控制台、终端、设置面板里用;另外缩写中含空格(如 div .row)会被视为两个独立词,不会触发展开。

text=ZqhQzanResources