webstorm的Emmet使用手册
Emmet (前身为 Zen Coding) 是一个能大幅度提高前端开发效率的一个工具:
基本上,大多数的文本编辑器都会允许你存储和重用一些代码块,我们称之为“片段”。虽然片段能很好地推动你得生产力,但大多数的实现都有这样一个缺点:你必须先定义你得代码片段,并且不能再运行时进行拓展。
Emmet把片段这个概念提高到了一个新的层次:你可以设置CSS形式的能够动态被解析的表达式,然后根据你所输入的缩写来得到相应的内容。Emmet是很成熟的并且非常适用于编写HTML/XML 和 CSS 代码的前端开发人员,但也可以用于编程语言。
使用示例:
在编辑器中输入缩写代码:ul>li*5 ,然后按下拓展键(默认为tab),即可得到代码片段:
<ul>
下载和安装
- Emmet为大部分流行的编辑器都提供了安装插件,下面是它们的下载链接:
- Sublime Text
- Eclipse/Aptana
- TextMate
- Coda
- Espresso
- Chocolat
- Komodo Edit
- Notepad++
- PSPad
- textarea
- CodeMirror
- Brackets
- NetBeans
- Adobe Dreamweaver
- 在线编辑器的支持:
- JSFiddle
- JS Bin
- CodePen
- ICEcoder
- Divshot
- Codio
- 第三方插件的支持下面这些编辑器的插件都是由第三方开发者所提供的,所以可能并不支持所有Emmet的功能和特性。
- SynWrite
- WebStorm
- PhpStorm
- Vim
- HTML-Kit
- HippoEDIT
- CodeLobster PHP Edition
- TinyMCE
因为我也是Sublime Text的使用者,所以下面为大家介绍一下sublime text中Emmet的安装方法:
步骤一:首先你需要为sublime text安装Package Control组件:
- 按Ctrl+`调出sublime text的console
- 粘贴以下代码到底部命令行并回车: import urllib2,os;pf='Package Control.sublime-package';ipp=sublime.installedpackagespath();os.makedirs(ipp) if not os.path.exists(ipp) else None;open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read())
- 重启Sublime Text
- 在Perferences->package settings中看到package control,则表示安装成功
步骤二:使用Package Control安装Emmet插件:
- 按Ctrl+Shift+P命令板
- 输入install然后选择install Package,然后输入emmet找到 Emmet Css Snippets,点击就可以自动完成安装。
使用方法
emmet的使用方法也非常简单,以sublime text为例,直接在编辑器中输入HTML或CSS的代码的缩写,然后按tab键就可以拓展为完整的代码片段。(如果与已有的快捷键有冲突的话,可以自行在编辑器中将拓展键设为其他快捷键)
语法:
后代:>
缩写:nav>ul>li
<nav>
兄弟:+
缩写:div+p+bq
<div>
上级:^
缩写:div+div>p>span+em^bq
<div>
缩写:div+div>p>span+em^^bq
<div>
分组:()
缩写:div>(header>ul>li*2>a)+footer>p
<div>
缩写:(div>dl>(dt+dd)*3)+footer>p
<div>
乘法:*
缩写:ul>li*5
<ul>
自增符号:$
缩写:ul>li.item$*5
<ul>
class="item1">
缩写:h$[title=item$]{Header $}*3
<h1 title="item1">Header 1
Header 2
Header 3
缩写:ul>li.item$$$*5
<ul>
class="item001">
缩写:ul>li.item$@-*5
<ul>
class="item5">
缩写:ul>li.item$@3*5
<ul>
class="item3">
ID和类属性
缩写:#header
<div id="header">
缩写:.title
<div class="title">
缩写:form#search.wide
<form id="search" class="wide">
缩写:p.class1.class2.class3
<p class="class1 class2 class3">
自定义属性
缩写:p[title="Hello world"]
<p title="Hello world">
缩写:td[rowspan=2 colspan=3 title]
<td rowspan="2" colspan="3" title="">
缩写:[a='value1' b="value2"]
<div a="value1" b="value2">
文本:{}
缩写:a{Click me}
<a href="">Click me
缩写:p>{Click }+a{here}+{ to continue}
<p>Click href="">here to continue
隐式标签
缩写:.class
<div class="class">
缩写:em>.class
<em>class="class">
缩写:ul>.class
<ul>
class="class">
缩写:table>.row>.col
<table>
class="row">
HTML
所有未知的缩写都会转换成标签,例如,foo →
缩写:!
<html lang="en">
Document