如何扩展语法提示,自定义语法

Python013

如何扩展语法提示,自定义语法,第1张

HBuilder默认只提示标准的HTML5语法。很多框架有自己的HTML、JS语法,也希望在开发中被提示。

HBuilder提供如下扩展方案。

JS部分

基于sdocml的框架语法库

对工程点右键,引入框架语法,可以看到我们已经做了的一些常用框架语法库,包括jquery、zepto、mui。

其他框架语法,大家可参考这些语法库的sdocml文件格式,来自己做。

做好后提交到 https://github.com/dcloudio/WebFrameworkGrammar 以共享给更多开发者。

jsdoc

HBuilder兼容jsdoc规范,如果开发者的jsdoc写的完善,一样可以被HBuilder的代码助手良好的提示出来。

jsdoc+的扩展规范地址:http://ask.dcloud.net.cn/article/129

jsdoc的好处是分发容易,跟着js文件一起分发;坏处是造成js文件体积变大,影响性能。

常见的做法是提供2个js文件给开发者,比如ext-dev.js和ext-min.js。dev包括jsdoc而min是压缩版。

另外注意js文件的体积,比如ext-dev.js的官方文件高达6M,这样的文件HBuilder解析起来还是有压力的。

js代码块

我们也可以通过代码块的方式来扩展js提示。

点菜单工具-扩展代码块-js,可以看到详细说明和教程。

代码块并不是简单的xml配置,而是可以使用ruby编程的,功能很强大。

扩展的代码块,可以提交到 https://github.com/dcloudio/HBuilderRubyBundle 以共享给更多开发者。

HTML部分

HTML部分目前只能通过代码块扩展,代码块的扩展包括标签和属性2部分,在工具-扩展代码块-HTML里有说明。

扩展的代码块,可以提交到 https://github.com/dcloudio/HBuilderRubyBundle 以共享给更多开发者。

1. CleverCSS

CleverCSS是个用于CSS开发的小型标记语言,从Python中得到灵感。可以开发出干净、结构清晰的样式表。在许多方面它比CSS2都更简洁、强大。

它与CSS最明显不同之处在于语法:CleverCSS采用了缩进式语法而不是对齐。这明显违背了Tim Peters写Python指导原则(The Zen of Python),不过不失为组织样式的一个好方法。

2. Sass

Sass令CSS又有趣起来,它对CSS3进行了扩展,增加了嵌套规则、变量、混入、选择器继承等语法,可以使用命令行工具或网络框架插件,将其转化为良好格式的标准CSS。

3. Sajax

Sajax是一种使用Ajax framework来构建网站的开源工具,它使得通过JavaScript调用PHP、Perl或Python函数更加简便,而不产生页面刷新。该工具为你做了99%的工作,没有理由不用。

4. Komodo Edit for Perl,Python,Tcl,PHP,Ruby,Javascript

Komodo Edit一个小型快速开源编辑器,要替换你信任已久的代码编辑器很难,但若给Komodo Edit一个机会,它一定不会让你失望的。

它支持Windows、Mac、Linux,支持PHP, Python, Ruby, JavaScript, Perl, Tcl, XML, HTML 5, CSS3语法着色、代码折叠、后台语法检查、超强的自动补全和calltips。

5. CSSTidy

CSSTidy是一个开源CSS转化和优化工具,它能在Windows、Linux、OSX下执行,可以像PHP脚本一样由每行代码来控制行为。

与其他大多数CSS转换工具相反,它不使用任何常规的表达式,从而CSSTidy能够对CSS2完美支持并提供高可靠性。

6. Less

Less是一种动态样式表语言,LESS将CSS进行了扩展,添加例如变量、混入、操作符以及函数语法。LESS能够依靠Node.js与Rhino运行于客户端和服务器端。

7. Vim

Vim是一个高度可配置的高效文本编辑器,被大多数的UNIX系统广泛使用,Vim是一个免费的慈善共享软件。

8. HSS

HSS是个扩展CSS语法的工具,拥有强大的特性,例如:变量、嵌套块。HSS是一个CSS编译器,它支持CSS语法验证,当在转换过程中出现语法错误时,它将指出错误具体出现在哪个文件的哪一行。

9. Zen Coding——一种开发HTML与CSS代码的全新方式

Zen Coding是一个高速HTML、XML、XSL编辑插件,该插件的核心是一个强大的缩写引擎,它允许你将扩展表达式(类似于CSS选择器)插入到HTML代码中。

10. XCSS

首个面向对象的Css Framework,能让你的工作流更加简洁,xCSS基于CSS,并在开发复杂样式提供处理面向对象的工作流。

11. Haml

Haml是一种简洁优美的模板语言,可以应用于Ruby on Rails、PHP等Web开发平台,可以大大缩减模板代码,减少冗余,提高可读性。并且Haml是一种完备的模板语言,没有牺牲当前模板语言的任何特性。Haml由Hampton Catlin发明并开发了Ruby on Rails上的实现。

12. Markup Generator

一个简洁的xhtml/css代码生成器。可免去你在进行最初的切片工作时编写一些无聊的框架代码之苦,加速开发过程。Markup Generator生成的xhtml标记和css代码非常直观,且语法简洁,你可以直接跳至元素的样式编写。

13. BluePrint

Blueprint是一个 CSS框架,旨在缩短你的开发时间。它可以让你用很整洁的代码来将页面划分成很复杂的网格结构(grid),提供合理的排版甚至打印样式,从而为接下来的项目构建提供一个扎实的基础。

Via 13 Most Used Speedy Tools To Write CSS And HTML Code

区别是 MRuby 不支持超过 512 个局部变量.

CRuby 的字节码在内存使用上是比较奢侈的, 而 MRuby 为了削减内存使用, 字节码设计得和 Lua 的很相似, 而其压缩表示限制了局部变量的个数

Lua 的字节码编码方式 (32bit, A, B, C 一般为局部变量编号), 可以看到操作数最少都有 8 位, 可以表示高达 256 个局部变量!