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 ...
随机推荐
- 《Pro Android Graphics》读书笔记之第三节
Android Frame Animation: XML, Concepts and Optimization Frame Animation Concepts: Cels, Framerate, a ...
- ARM体系结构与编程
ARM处理器的7中执行模式:usr.fiq.irq.svc.abt.und.sys. ARM处理器共37个寄存器:31个通用寄存器(未备份寄存器R0-R7,在全部模式下指的都是同一个物理寄存器:备份寄 ...
- Java PreparedStatement
PreparedStatement是一个用于运行sql语句的标准接口的对象.它是继承与Statement.依据里氏代换原则.用Statement运行的语句,一定能够用Prepared替换了.那么他们之 ...
- HDU 3217 Health(状压DP)
Problem Description Unfortunately YY gets ill, but he does not want to go to hospital. His girlfrien ...
- 使用SSIS对Dynamics CRM 系统进行数据迁移
嗨,各位.近期项目一直都非常忙,而且自己也一直在思考职业发展的问题,所以有非常长一段时间没静下心写几篇Blog了.近期我參与的项目是Dynamics CRM 2011 到 Dynamics CRM 2 ...
- xamarin跨平台iOS、Android 与Windows
http://xamarin.csdn.net/ Xamarin是一个行动App开发平台,提供跨平台开发能力,开发人员透过Xamarin开发工具与程序语言,即可开发出iOS.Android 与Wind ...
- android_重写button样式
这样的button样式应该源自IOS.假设安卓上实现,则须要使用android上面的layer-list来实现. 事实上layer-list有点像framlayout,作用就是覆盖. 先说一下实现原理 ...
- VMware WorkStation安装时提示The MSI failed
以前安装过其他版本的VMware workstation卸载不完全造成的 先把所有VMware相关服务关闭,然后打开注册表,搜索所有VMware相关键值,删除掉,然后再安装就可以了 前提是你机器上没有 ...
- java注解(一)
虽然平时有使用注解,不过没有深入了解,今天无聊,重新从基础深入了解整理下: java注解是附加在代码中的一些元信息,用于一些工具在编译.运行时进行解析和使用,起到说明.配置的功能. 注解不会也 ...
- Spark1.0.0 属性配置
1:Spark1.0.0属性配置方式 Spark属性提供了大部分应用程序的控制项,而且能够单独为每一个应用程序进行配置. 在Spark1.0.0提供了3种方式的属性配置: Sp ...