Zen Coding in Visual Studio 2012
http://www.johnpapa.net/zen-coding-in-visual-studio-2012
Special thanks to Mads Kristensen and his team at Microsoft for adding Zen Coding to Visual Studio 2012 via Web Essentials 2012 (along with many other great features).
Quick Reference
Here is a quick list of the Zen Coding features that are now supported in Visual Studio 2012 via the Web Essentials 2012 plug in
- # creates an id attribute
- . creates a class attribute
- [ ] creates a custom attribute
- > creates a child element
- + creates a sibling element
- ^ climbs up
- * is element multiplication. This creates the same thing n number of times
- $ is replaced with an incremental number
- $$ is used for numbers with padding
- { } creates text in an element
- <!-- Type this -->
- ul[data-bind="foreach:customers"]>li*4>span{Caption $$}+input[type=text data-bind="value:$$"]
- <!-- Creates this -->
- <uldata-bind="foreach:customers">
- <li><span>Caption 01</span><inputtype="text"value=""data-bind="value:01"/></li>
- <li><span>Caption 02</span><inputtype="text"value=""data-bind="value:02"/></li>
- <li><span>Caption 03</span><inputtype="text"value=""data-bind="value:03"/></li>
- <li><span>Caption 04</span><inputtype="text"value=""data-bind="value:04"/></li>
- </ul>
ID and Class Attributes: # and .
- <!-- Type this -->
- div#contentRegion.address
- <!-- Creates this -->
- <divid="contentRegion"class="address"></div>
Custom Attributes: [ ]
- <!-- Type this -->
- div[title]
- <!-- Creates this -->
- <divtitle=""></div>
- <!-- Type this -->
- input[placeholder="Name" type="text"]
- <!-- Creates this -->
- <inputtype="text"value=""placeholder="Name"/>
Child Elements: >
- <!-- Type this -->
- div#menu>span.item[title]
- <!-- Creates this -->
- <divid="menu">
- <spanclass="item"title=""></span>
- </div>
Sibling Elements: +
- <!-- Type this -->
- footer>div>a+input
- <!-- Creates this -->
- <footer>
- <div>
- <ahref=""></a>
- <inputtypevalue=""/>
- </div>
- </footer>
Climbing Elements: ^
- <!-- Type this -->
- footer>div>a+input^^p
- <!-- Creates this -->
- <footer>
- <div>
- <ahref=""></a>
- <inputtypevalue=""/>
- </div>
- <p></p>
- </footer>
Multiplication: *
- <!-- Type this -->
- ul>li*4>span
- <!-- Creates this -->
- <ul>
- <li><span></span></li>
- <li><span></span></li>
- <li><span></span></li>
- <li><span></span></li>
- </ul>
Item Numbering: $
- <!-- Type this -->
- section>article.item$$*4
- <!-- Creates this -->
- <section>
- <articleclass="item01"></article>
- <articleclass="item02"></article>
- <articleclass="item03"></article>
- <articleclass="item04"></article>
- </section>
Text: } {
- <!-- Type this -->
- ul>li*4>span{Caption $$}
- <!-- Creates this -->
- <ul>
- <li><span>Caption 01</span></li>
- <li><span>Caption 02</span></li>
- <li><span>Caption 03</span></li>
- <li><span>Caption 04</span></li>
- </ul>
- <!-- Type this -->
- ul>li*4>span{Caption $$}+a{click me}
- <!-- Creates this -->
- <ul>
- <li><span>Caption 01</span><ahref="">click me</a></li>
- <li><span>Caption 02</span><ahref="">click me</a></li>
- <li><span>Caption 03</span><ahref="">click me</a></li>
- <li><span>Caption 04</span><ahref="">click me</a></li>
- </ul>
Combining Them all
- <!-- Type this -->
- section[data-bind="foreach:customers"]>div*4>input[type="text" data-bind="text:$$"]
- <!-- Creates this -->
- <sectiondata-bind="foreach:customers">
- <div>
- <inputtype="text"value=""data-bind="text:01"/>
- </div>
- <div>
- <inputtype="text"value=""data-bind="text:02"/>
- </div>
- <div>
- <inputtype="text"value=""data-bind="text:03"/>
- </div>
- <div>
- <inputtype="text"value=""data-bind="text:04"/>
- </div>
- </section>
Grouping: ( )
- <!-- Type this -->
- div>(header>div)+section>(ul>li*2>a)+footer>(div>span)
- <!-- WOULD create this (not yet supported in Web Essentials 2012)-->
- <div>
- <header>
- <div></div>
- </header>
- <section>
- <ul>
- <li><ahref=""></a></li>
- <li><ahref=""></a></li>
- </ul>
- </section>
- <footer>
- <div>
- <span></span>
- </div>
- </footer>
- </div>
Lorem Ipsum Generator
You can now generate Lorem Ipsum directly in the HTML editor. Type “lorem” and hit TAB and a 30 word Lorem Ipsum text is inserted. Type “lorem10″ and a 10 word Lorem Ipsum text is inserted.
ul>li*5>lorem3
References
- Zen Coding page
- Follow Zen C0ding on twitter
- Introduction to Zen Coding from Smashing Magazine in Nov 2009
- Web Essentials 2012 for Visual Studio 2012
Zen Coding in Visual Studio 2012的更多相关文章
- 如何在Visual Studio 2012中发布Web应用程序时自动混淆Javascript
同Java..NET实现的应用程序类似,Javascript编写的应用程序也面临一个同样的问题:源代码的保护.尽管对大多数Javascript应用公开源代码不算是很严重的问题,但是对于某些开发者来说, ...
- 在Visual Studio 2012中使用VMSDK开发领域特定语言(二)
本文为<在Visual Studio 2012中使用VMSDK开发领域特定语言>专题文章的第二部分,在这部分内容中,将以实际应用为例,介绍开发DSL的主要步骤,包括设计.定制.调试.发布以 ...
- 在Visual Studio 2012中使用VMSDK开发领域特定语言(一)
前言 本专题主要介绍在Visual Studio 2012中使用Visualization & Modeling SDK进行领域特定语言(DSL)的开发,包括两个部分的内容.在第一部分中,将对 ...
- Visual Studio 2012 trial version
Update: vs2012.5.iso http://download.microsoft.com/download/9/F/1/9F1DEA0F-97CC-4CC4-9B4D-0DB45B8261 ...
- 在Visual Studio 2012 Blue theme下使用Dark theme的文本编辑器颜色设置
Visual Studio 2012 默认提供了3种color theme: blue,light,和dark.其中dark的文本编辑器颜色设定很爽,可是整个菜单项加上一些小的窗口如Find Resu ...
- 分享10条Visual Studio 2012的开发使用技巧
使用Visual Studio 2012有一段时间了,并不是追赶潮流,而是被逼迫无可奈何.客户要求的ASP.NET MVC 4的项目,要用.NET 4.5来运行.经过一段时间的摸索,得到一点经验和体会 ...
- Visual Studio 2012 Update 4 RC 启动调试失败解决方案
以下解决办法适用于任何Visual Studio开发环境,及Windows NT 6.1以上系统. 系统:Windows 8.1 Enterprise x64 RTM 开发环境:Visual Stud ...
- SQL Server Data Tools – Business Intelligence for Visual Studio 2012安装时提示“The CPU architecture....”的解决方法
SQL Server Data Tools – Business Intelligence for Visual Studio 2012,一个很强大的工具,下载地址:http://www.micros ...
- Visual Studio 2012+jQuery-1.7.1
今天用Visual Studio 2012开发一个网站项目,在集成jqplot图表控件并进行调试的时候(使用的是MVC4框架),加载网页绘制图表的时候总是报错(提示$.jqplot.barRender ...
随机推荐
- ORACLE中%TYPE和%ROWTYPE的使用
1 %TYPE说明 为了使一个变量的数据类型与还有一个已经定义了的变量(尤其是表的某一列)的数据类型相一致,Oracle提供了%TYPE定义方式.当被參照的那个变量的数据类型改变了之后,这个新定 ...
- BGP拓扑错误模拟配置
R1配置 --------------------------------------------- version 5.20, ESS 2207P45# sysname RT1# super pas ...
- SE 2014年4月29日
交换网络中有vlan1 到20个vlan,要求使用MSTP技术实现vlan的负载分担. SW2为实例1(vlan1-vlan10)的主根,SW3为备根 SW3为实例2(vlan11-vlan20)的主 ...
- linux编程进阶书推荐APUE,UNP
编程进阶这里强烈推荐<unix环境高级编程>(简称APUE)和<unix网络编程>(简称UNP),这两本书可是经典中的经典啊,作 者是大名鼎鼎的 W.Richard Steve ...
- hdu3652(数位dp)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=3652 题意:求1~n含有13且能被13整除的数的个数. 分析:数位dp,dp数组加一维来维护到pos位 ...
- hdu2036 (计算多边形的面积)
Input 输入数据包含多个测试实例,每个测试实例占一行,每行的开始是一个整数n(3<=n<=100),它表示多边形的边数(当然也是顶点数),然后是按照逆时针顺序给出的n个顶点的坐标(x1 ...
- Monkey源代码分析之执行流程
在<MonkeyRunner源代码分析之与Android设备通讯方式>中.我们谈及到MonkeyRunner控制目标android设备有多种方法.当中之中的一个就是在目标机器启动一个mon ...
- 《JavaScript设计模式与开发实践》读书笔记之策略模式
1.策略模式 定义一系列算法,把它们一个个封装起来,并且使它们可以相互替换 1.1 传统实现 根据工资基数和年底绩效来发送年终奖 var calculateBonus= function (perfo ...
- 让ecshop显示商品销量或者月销量
首先,ecshop的信息显示模块在. ./includes/lib_goods.php文件 在其末尾添加下面这个函数 月销量:(和总销量二选一) function ec_buysum($goods_i ...
- [置顶] JUnit入门教程(二)
一:介绍 接着上次的课程,今天我们学习JUnit4的新特性 assertThat()方法,这种方式和其余的assert方法比起来,更加接进英语. 二:分析API API中的例子: 参数 T Actua ...