PhpStorm怎么使用Emmet写HTML代码_PhpStorm如何用缩写快速生成HTML结构标签【技巧】

聖光之護

聖光之護

2026-03-26

967人浏览

原创

Emmet在PhpStorm中默认支持HTML/PHP/Twig等文件类型,需确认文件类型为HTML、启用Emmet设置、检查Tab键冲突,并注意缩写语法规范及作用域限制。

Emmet缩写在PhpStorm里默认就可用,但得先确认HTML文件类型

phpstorm默认启用emmet,但只对识别为htmlphp(含<?php ?>但有结构)、twig等支持emmet的文件类型生效。如果敲div.containertab没反应,大概率是当前文件被识别成了textplain text

检查右下角状态栏的文件类型标识,点击它 → 选HTML(或PHP)。也可以通过File > File Properties > Associate with File Type手动绑定。

  • 不支持.blade.php默认识别为HTML?加个bladeSettings > Editor > File Types > HTML的“Registered Patterns”里
  • .vue单文件组件中,Emmet只在<template></template>标签内生效,<script></script><style></style>里无效
  • 如果用了自定义后缀(比如.htm),确保它没被错误映射到其他文件类型

Tab键没触发缩写?检查Emmet触发键和作用域设置

PhpStorm默认用Tab展开Emmet缩写,但部分系统或插件可能劫持了Tab(比如Vim模拟插件IdeaVim),或者你误关了Emmet支持。

Settings > Editor > Emmet确认:Enable Emmet for HTML已勾选;Expand abbreviation with Tab开启;Trigger expansion with Tab也勾选(这是关键)。

  • Ctrl+J(Windows/Linux)或Cmd+J(macOS)可手动触发展开,绕过Tab冲突
  • 在JSX/TSX文件中,Emmet默认关闭——需手动在Settings > Editor > Emmet里勾选React JSX
  • 如果缩写只在行首生效,检查是否启用了Only expand at caret position(一般不用开)

常见缩写失效场景:嵌套、属性、特殊字符要小心

Emmet不是万能解析器,遇到语法模糊或上下文冲突时会静默失败。比如div.class1.class2能展开,但div.class1.class2[title="foo bar"]里空格未转义就会卡住。

属性值含空格、引号、括号时,必须用单引号或双引号包裹,且不能混用;div[data-id=123]可以,但div[data-id=1 23]不行,得写成div[data-id='1 23']

  • ul>li*3生成3个<li>,但ul>li*3{item $}才带内容,$代表序号
  • section#main>article.post$*2生成<section id="main"><article class="post1"></article><article class="post2"></article></section>,注意$位置和*数量关系
  • 在PHP文件中写<?php echo $html; ?>内部敲缩写?Emmet不会介入——它只处理纯HTML结构上下文

自定义缩写和HTML5兼容性:别依赖默认模板

PhpStorm内置的Emmet基于HTML5规范,但html:5缩写生成的是标准HTML5文档骨架。如果你项目用的是XHTML或老式DOCTYPE,它不会自动适配。

想改默认行为?可以编辑Settings > Editor > Emmet > Abbreviations,添加自定义缩写,比如把myheader映射为<header class="site-header"></header>。但注意:自定义缩写只在当前项目生效,全局配置需导出/导入emmet.xml

  • html:5生成,而<code>html:4s(已废弃)不会——别在新项目里用后者
  • 自定义缩写里避免用.#开头,否则会被当成CSS选择器解析
  • 如果团队共用模板,建议把常用缩写写进项目根目录的emmet.json并提交,配合插件同步

Emmet真正难的不是写法,而是判断它“为什么没动”——多数时候不是缩写错了,是文件类型、作用域、或键盘映射悄悄变了。盯着右下角状态栏和Settings > Editor > Emmet翻两遍,比重装插件快得多。

php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!

HTML速学教程(入门课程)
HTML速学教程(入门课程)

HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

2023.08.07

1561

5

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.23

1426

1

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

2023.10.13

588

3

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

2025.09.10

1336

7

html5动画制作有哪些制作方法
html5动画制作有哪些制作方法

html5动画制作方法有使用CSS3动画、使用JavaScript动画库、使用HTML5 Canvas等。想了解更多html5动画制作方法相关内容,可以阅读本专题下面的文章。

2023.10.23

2050

6

HTML与HTML5的区别
HTML与HTML5的区别

HTML与HTML5的区别:1、html5支持矢量图形,html本身不支持;2、html5中可临时存储数据,html不行;3、html5新增了许多控件;4、html本身不支持音频和视频,html5支持;5、html无法处理不准确的语法,html5能够处理等等。想了解更多HTML与HTML5的相关内容,可以阅读本专题下面的文章。

2024.03.06

2848

6

html5从入门到精通汇总
html5从入门到精通汇总

想系统掌握HTML5开发?本合集精选全网优质学习资源,涵盖免费教程、实战项目、视频课程与权威电子书,从基础语法到高级特性(Canvas、本地存储、响应式布局等)一应俱全,适合零基础小白到进阶开发者,助你高效入门并精通HTML5前端开发。

2025.12.30

563

19

html5新老标签汇总
html5新老标签汇总

HTML5在2026年持续优化网页语义化与交互体验,不仅引入了如<header>、<nav>、<article>、<section>、<aside>、<footer>等结构化标签,还新增了<video>、<audio>、<canvas>、<figure>、<time>、<mark>等增强多媒体与

2025.12.30

410

12

html5空格代码怎么写
html5空格代码怎么写

在HTML5中,空格不能直接通过键盘空格键实现,需使用特定代码。本合集详解常用空格写法:&nbsp;(不间断空格)、&ensp;(半个中文空格)、&emsp;(一个中文空格)及CSS的white-space属性等方法,帮助开发者精准控制页面排版,避免因空格失效导致布局错乱,适用于新手入门与实战参考。

2025.12.30

209

8

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.4万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 131.8万人学习