由于Aptana本身就是基于Eclipse的,所以,Zen Coding也是支持Eclipse的,只是需要一个EclipseMonkey插件的支持,Aptana已经封装了这个插件,所以如果你使用Aptana,下面的第一步可以跳过。
- 通过更新网站安装EclipseMonkey: http://download.eclipse.org/technology/dash/update(如果你使用Aptana,可跳过这一步)
- 在你的当前工作去创建一个顶级的项目,给它命名,比如,就叫zencoding
- 在新创建的项目中创建scripts文件夹
- 解压缩下载的ZIP插件包到该文件夹。项目结构看起来就像这样:
- 安装之后,Aptana的菜单栏中的“脚本(Script)”菜单中将会出现Zen coding相关子菜单
注意事项:
- Aptana版的官方插件是基于MAC机的,如果你用的是Windows,需要手动更改快捷键(在每个文件头部的注释片段中更改)
- 官方的文件编码有点儿乱,修改官方js的时候,请注意编码问题,修改不当会造成相关功能的丢失;
DreamWeaver
好消息是,现在已经有了Zen coding for DreamWeaver插件,坏消息是,该插件支持的功能很少,只支持展开缩写功能。而且默认的快捷键是无效的。只能在“命令”菜单中点击操作。另外,没有测试该插件是不是只支持CS4版本。不过比较好的是,作者将本插件的源码也放出了,你可以自定义一个Dreamweaver的插件。
事实上,官方的DW插件在Windows下有点儿bug,就是会出现空白的行,我简单的修正了下,重新编译了个包,在本机测试没问题,感兴趣的童鞋可以下载尝试:http://www.boxcn.net/shared/c71z7x7sfe
PS:官方的DW插件已经更新,推荐到官方去下载。新的插件添加了更多的功能支持。UPDATE @ 12-23-2009
特别推荐:豪情同学将缩写给实践了一番,总结出了很多很棒的用例,推荐大家前去学习。
notepad++结合Zen Coding快速编写HTML代码
经朋友介绍认识了Zen Coding一款快速编写HTML代码的插件,然后在google搜索一下其使用,让在下激动不以,今天特意写了一篇blog来跟大家一起分享。
Zen Coding其实是一款快速编写HTML,XML,XSL(或其他格式化语言)的编辑器插件,这个插件的实现了用缩写方式完成大量重复的书写工作。他的核心是一个强大的缩写引擎,掌握这些缩写技巧,给我们的编写代码带来极高的编写效率。他支持好多编辑器,如TextMate,UltraEdit,Notepad++等许多编写器,我们可以从http://code.google.com/p/zen-coding下载到相对应的编辑插件,然后我们把解压缩出来的文件,如下图:
放到你的Notepad++安装文件下的plugins目录下,在我的电脑中的程序安装地址是“C:\Program Files\Notepad++\plugins”(这个地址需要对应你的程序安装地址)。然后重新启动你的Notepad++编辑器就能看到菜单栏上增加了一项Zen Coding。如下图所示:
这样我们在Notepad++编辑下就成功的安装好了Zen Coding的插件。
接着我们一起来看看Zen Coding如何使用,其实只要你对CSS的选择器比较熟悉,就可以得用简短的类似于CSS选择器的代码高效的编写出HTML代码,我们先来看一个简单的实例,首先在你的编辑器中输入下面一句代码
div#header>div#logo+ul.nav>li.item-$*5>a
接着按一下快捷键ctr+E,就会自动生成如下的HTML代码:
这样是不是很神奇呀。你一定会问这是怎么实现的呢?在没搞清楚这是怎么回事的时候,你可能会相当的迷惑,不知道这是怎么一回事。没关系,我们先来看一下其在线演示,一起感受下zen-codingr的强大功能,请看其在线的DEMO演示。
在打开的在线编辑中我们同样输入上面的那段代码:
div#header>div#logo+ul.nav>li.item-$*5>a
此时我们在按一下ctr+,就能看到转换的HTML代码
此处的快捷方式是ctr+,而在我们的Notepad++中使用的是ctr+E,所以这里要提醒大家,在不同的编辑中的快捷方式是不一样的,感兴趣的朋友可以自己多研究一下,我们这里主要是针对在notepad++中如何使用zen coding。
在学习如何在notepad++中使用zen coding之前我们有必要先了解一下zen coding是一些基本规则,这样我们才能更好的在notepad++中应用zen coding来提高大家编定代码的效率。
Zend Coding书写规范
E:表示元素,如p,div等,例如我们在编辑中输入:
按一下ctr+E,我们就能得到
E#name和E.name:这个是ID和Class属性,和CSS样式表定义ID和Class是一样的。#表示ID,.表示Class。例如定义一个ID为header的div,我们可以这样来书写:div#header,然后定义一个class我们可以写在div.region。我们一起先在编辑中输入:
然后展开,就成为:
展开就是:
当然我们同时可以将两者合并在一起,因为在我们编写代码时,常会碰到一个元素具有一个ID和多个Class名,那我们这里也可以简单方便的实现,大家一起来看下面的一个例子:
同时我们来展开他:
是不是我们这个div同时具有ID名nav和class名menu,links,tab呀,方便吧
E>E:表示父级嵌套子级:
div#header>h1#logog
我们还可以实现多级嵌套:
div#header>h1#logo>a
E+E:同辈元素:
给元素添加属性:给标签元素添加属性
a[title]
当然我们还可以给其加上属性值:
不过这里需要提醒大家一点,在展开之前,光标最好放在a[title="hello zen coding"]的末尾。不然会造成不可想像的错误,大家可以自己尝试一下,就自然明白了。
E*N:多个相同元素的写法
E*N$:按索引生成
ul>li.item-$*3
上面上一些Zen Coding的书写规范,当然更多的书写大家还可以参考ZenCodingCheatSheet.pdf文档,这里我就不全部阐述了。
到这里我们对zen coding有一定的了解了,也不会对一开始那一段如何产生代码感到迷惑不解了,接着我们就可以来一起看看zen coding在notepad++编辑中的应用了。
【Ctrl+E】展开缩写(Expand Abbreviation):例如前面那些例子,我们只要在notepad++编辑中输入如下代码:
我们只要按一下【Ctrl+E】,马上就能把上面的代码转换成如下的HTML代码
需要提醒大家的一点是,我们上面中的括号的使用,在前面我们没有碰到过,这里加上这个括号是为控制其嵌套格式,如果我们不加上这个括号,那么生成出来的HTML是完全另外一们样子,大家可以在自己本地电脑上的编辑上尝试一下。你会恍然大悟的,同时也会知道他的更神奇之处。
【Ctrl+Shift+A】嵌套代码(Wrap with Abbreviation):如何说我们想在下面代码中的P标签外嵌套一个div.limiter
我们只需要在p标签的结束位置按【Ctrl+Shift+A】,在弹出的窗口中输入div.limiter,如下图所示:
然后按回车【Enter】键,就会自动在p标签外嵌套一个div.limiter的div标签,如:
一定要记住是在p标签的末尾,如果光标不在p标签的末尾,而是在p标签内容中的任何一个位置,那不div.limiter就不会嵌套在<p></p>外面,而是嵌套在Hello Zen Coding的外面。
还有一种更让你感兴趣的方法,我们在编辑中写几行没有任何标签的内容,但我想给每个没有标签的内容嵌套在ul列表中,如下所示
我们在编辑器中按【Ctrl+A】选中这几行内容,然后按【Ctrl+Shift+A】在弹出的对话框中输入ul.menu>li.item*>a后按【Enter】键,就会生成如下代码
记得选中所有内容哟,我尝试了不选中内容是没有效果出现的哟。
下面我们一起来看几个常用的快捷方式
【Ctrl+Shift+D】选中代码块(Balance TagInward/Outward):选中当前光标所在的代码块,长按可以依次选中其父块代码。
【Ctrl+Alt+[,Ctrl+Alt+]】转到上一个/下一个编辑点:按下可以依次跳到可输入内容的编辑点,省去了不停按方向键或鼠标来定位编辑点的麻烦。
【Ctrl+Alt+M 】合并行(Merge Lines):将选中的多行代码合并为一行。压缩css、js代码为一行时,这个很方便。Ctrl+A,然后Ctrl+Alt+M,两下即可搞定,免去了动用压缩工具的麻烦。(当然这个只是简单地将代码合并为一行,并不能做更深入的代码压缩)
【Alt+/ 】添加、移除注释(Toggle Comment): 注释掉光标所在的代码块
【Ctrl+Shift+’ 】移除标签(Remove Tag):比如将
移除div标签,留下hello world。
【Ctrl+’ 】空标签转化(Split/Join Tag):比如将<div class="test"></div>转化为<div class="test"/>,反向亦可。
我们在这里介绍了一些快捷的使用,但常用的还是我们前面看到那几个生成HTML代码的两种【Ctrl+E】和【Ctrl+Shift+A】当然感兴趣的朋友可以依次去尝试。体会一下。
如果你对JS精通的话,你还可以改写plugins\NppScripting\includes\Zen Coding.js这个JS文件,让它按照你喜欢的编辑习惯,当然你不编写自己的缩写规则,也强烈建议您阅读一下这个JS文件,熟悉Zen Coding自带的一些缩写规则,让你编辑代码更快。
最后Zen Coding分为Zen Html和Zen Css两个部分,在这里我们主要一起探讨了Html部分,如果感兴趣的朋友可以去深入了解一下Zen Css部分