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

Python012

如何扩展语法提示,自定义语法,第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 以共享给更多开发者。

Ruby,一种为简单快捷的面向对象编程(面向对象程序设计)而创的脚本语言在20世纪90年代由日本人松本行弘开发,它的灵感与特性来自于 Perl、Smalltalk、Eiffel、Ada 以及 Lisp 语言,因为Perl发音与6月诞生石pearl(珍珠)相同,因此Ruby以7月诞生石ruby(红宝石)命名。

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

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

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