您的位置:首页 >VSCode怎么使用Emmet快速写HTML_VSCode Emmet缩写语法教程【高效】
发布于2026-04-29 阅读(0)
扫一扫,手机访问

很多开发者都遇到过这样的困惑:明明照着教程输入了Emmet缩写,按Tab键却毫无反应。其实,从VSCode 1.40版本开始,Emmet就已经内置了,根本不需要额外安装插件或修改默认设置。只要你的文件是.html后缀,并且语言模式正确,输入缩写按Tab就能瞬间展开。那些卡住的情况,十有八九不是语法问题,而是触发环境没满足条件。
输入一个简单的感叹号!再按Tab,本该立刻生成一份完整的HTML5骨架文档。如果没动静,别急着怀疑人生,先按顺序排查下面这三个地方:
HTML才行。如果显示的是Plain Text(纯文本)或者Ja vaScript,Emmet是不会工作的。直接点击那里手动切换成HTML。Ctrl+S保存一下,问题可能就解决了。标签内部,或者结束标签的后面,按Tab自然不会有反应。
顺带一提,以前常用的html:5或html5缩写现在已经废弃了,统一使用!。另外,生成的骨架中默认是英文,如果需要中文,手动改成lang="zh-CN"即可。
像div.container>ul>li*3这类多层嵌套的复杂缩写展不开,问题往往出在触发方式和编辑上下文上。可以对照以下几点检查:
立即学习“前端免费学习笔记(深入)”;
Tab键来触发Emmet展开,按回车是没用的。(|代表光标),此时按Tab,VSCode会尝试补全class名称,而不是展开Emmet缩写。
- 确保不在脚本或样式块中:Emmet只作用于HTML模板上下文。在
或标签内部,它是不会生效的。
- 检查设置项:如果以上都排除了,可以打开
settings.json,看看里面有没有"emmet.triggerExpansionOnTab": false这一行。这个值必须设为true才能用Tab触发。
记住几个核心符号:>表示父子关系,+表示兄弟关系,*控制重复次数,$则用于生成自增编号(比如li.item$*3会生成item1, item2, item3)。
input[type="text"] 不生效?属性写法有硬性要求
Emmet在解析属性时语法非常严格,错一个标点就可能让它“沉默”。以下是几个必须遵守的硬性规则:
- 属性值必须用英文双引号:
input[type="text"] ✅ 这是正确的;而input[type=text] ❌ 缺少引号,大概率会失败。
- 等号前后别加空格:
a[href= "#home"] ❌ 等号后的空格是多余的;a[href="#home"] ✅ 这样写才对。
- 多个class用点号连接:
div.box.rounded 会展开为。注意,这里不能用空格或逗号分隔。
- id用#开头且唯一:
div#app.container是合法的(同时有id和class),但div#app#main(两个id)就会出错。
需要添加文本内容?用花括号{}包裹即可,例如h2{标题}。如果多个元素需要不同的文本,记得分别加上括号,像这样:div>p{第一段}+p{第二段}。
JSX/Vue 文件里缩写失效?得配 includeLanguages
默认情况下,Emmet只对.html和.css文件生效。想在JSX、TSX或Vue文件的模板部分使用,就需要手动配置一下语言映射:
- 打开VSCode的
settings.json文件,添加如下配置:
"emmet.includeLanguages": {
"ja vascript": "ja vascriptreact",
"vue": "html"
}
- 在Vue单文件组件中,
区块配置后可以直接使用Emmet。但和区块,需要分别将语言模式手动设置为ja vascript和css才能生效。
- 如果你在使用远程开发(如WSL或SSH连接),请注意,这些配置必须在远程环境的
settings.json中单独设置,本地的配置不会被继承。
- 有时候,某些主题或插件(比如一些“增强”插件)可能会干扰或覆盖Emmet的代码片段优先级。如果配置无误却依然失效,尝试禁用其他插件后重启VSCode试试。
说到底,大多数Emmet“失灵”的情况,根源都不在缩写语法本身。优先检查右下角的语言模式,再确认Tab键没有被其他自动补全功能占用,最后排查一下设置文件。这套组合拳下来,远比盲目重装插件要高效得多。
本文转载于:https://www.php.cn/faq/2334223.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。
产品推荐
-
售后无忧
立即购买>
- DAEMON Tools Lite 10【序列号终身授权 + 中文版 + Win】
-
¥150.00
office旗舰店
-
售后无忧
立即购买>
- DAEMON Tools Ultra 5【序列号终身授权 + 中文版 + Win】
-
¥198.00
office旗舰店
-
售后无忧
立即购买>
- DAEMON Tools Pro 8【序列号终身授权 + 中文版 + Win】
-
¥189.00
office旗舰店
-
售后无忧
立即购买>
- CorelDRAW X8 简体中文【标准版 + Win】
-
¥1788.00
office旗舰店
-
正版软件
- Sublime配置VHDL语言环境 编写EDA设计代码设置
- Sublime Text 配置VHDL需三步:右下角设“Open all with current extension as→VHDL”,用户设置中添加{"extensions": {"vhd": "source.vhdl", "vhdl": "source.vhdl"}},并选用支持source.
-
16分钟前
0
-
正版软件
- 在Python中使用colorama库给输出添加颜色
- 小张最近遇到一件不大不小的事。他写了一个简单的登录测试脚本,用来帮同事验证一批用户的账号密码是否可用。脚本跑起来很快,刷刷刷一行行结果往外蹦,“成功”“失败”“成功”“失败”……几十行看下来,他根本看不清哪些失败了。每次都要在长长的输出里一行行找“失败”两个字。 同事建议他试试colorama这个库
-
16分钟前
0
-
正版软件
- Python多场景下实现Word转Excel详解
- Python多场景下实现Word转Excel详解 在日常工作中,把Word文档(无论是DOC还是DOCX格式)转换成Excel文件,是个相当常见的需求。无论是处理报告,还是从中提取数据,Word里的那些文本、段落和表格,常常需要挪到Excel里才能大展拳脚——毕竟,后续的分析、筛选和统计,才是它们的
-
16分钟前
0
-
正版软件
- vscode中eslint插件不生效的解决过程
- vscode中eslint插件不生效 典型场景: 最近在利用webpack打包js资源时,想借助VS Code的eslint插件,配合eslint plugin来做代码校验。虽然在.eslintrc.js和webpack.config.js里都配置妥当了, 在控制台运行npx webpack时,也能
-
17分钟前
0
-
正版软件
- Composer解决两个包依赖同一插件_处理版本范围重叠【冲突解决】
- Composer 因依赖版本无交集而拒绝安装,如 psr/log "^1.0" 与 "^3.0" 冲突;用 composer why-not psr/log:^2.0 定位阻断包,再通过 composer why 追查源头,优先升级或替换已废弃包。 简单来说,Composer 无法让两个包共存于互斥
-
18分钟前
0
最新发布
-
1
-
2
-
3
- C语言中\n是什么意思?换行转义字符详解
- 234天前
-
4
- 探析Spring Boot框架的优点和特色
- 550天前
-
5
- 深入比较PyCharm社区版和专业版的功能
- 488天前
-
6
- 专家观点:谷歌是否会继续支持Golang的探讨
- 463天前
-
7
- Python实战教程:批量转换多种音乐格式
- 1096天前
-
8
- 如何在在线答题中实现试卷的自动批改和自动评分
- 923天前
-
9
- 解决Python安装失败的问题
- 474天前
相关推荐
热门关注
-
- Xshell 6 简体中文
- ¥899.00-¥1149.00
-
- DaVinci Resolve Studio 16 简体中文
- ¥2550.00-¥2550.00
-
- Camtasia 2019 简体中文
- ¥689.00-¥689.00
-
- Luminar 3 简体中文
- ¥288.00-¥288.00
-
- Apowersoft 录屏王 简体中文
- ¥129.00-¥339.00