Weex Language Support 插件是官方提供的一个工具,你可以使用它在IntelliJ IDEA,WebStorm等一系列IDE上对Weex DSL进行语法高亮,自动补全和错误检查等操作。
你可以在任何操作系统上的下列IDE上安装和使用Weex Language Support插件: IntelliJ IDEA Ultimate, PhpStorm, WebStorm, PyCharm, RubyMine, AppCode, CLion, Gogland, Rider
在IDE的插件仓库中搜索Weex Language Support
来安装该插件,安装完毕后重启IDE即可激活插件相关功能
打开Preferences -> Other Settings -> Weex language support
可配置插件的相关功能
LATEST
表示总是应用最行新版本weex的语法规则node_modules
目录,解析其中包含的Weex Components并对其提供补全支持。如果你的项目中引用了这两个路径以外的Components,可以在此处将其添加到搜索路径中,插件将会将其中的Components载入,并在编写DSL时为相应的标签提供补全支持自定义规则包含在一个json文件中,json文件的根节点为数组类型,数组中的每一个元素对应DSL中的一个标签。 我们以<loading>
标签的规则来举例:
{ "tag": "loading", //标签名,不可为空 "attrs": [ //标签属性列表,可为空 { "name": "display", //属性名,不可为空 "valuePattern": null, //属性值的正则表达式,用于检测值是否合法,可为空 "valueEnum": [ //属性值枚举,可为空 "show", "hide" ], "valueType": "var", //属性值类型,必须是var或function,决定该从数据列表还是函数列表中查找属性值补全的候选值,不可为空 "since": 0, //该属性何时被添加到sdk中,例如0.11,默认为0 "weexOnly": false //该属性是否仅在1.0语法中可用,默认为false } ], "events": [ //事件列表。可为空 { "name": "loading", //事件名称,不可为空 "since": 0 //该事件何时被添加到sdk中 } ], "parents": [ //该标签允许被作为哪些标签的子元素,空表示可以作为任意元素的子元素 "list", "scroller" ], "childes": [ //该标签允许哪些元素作为自己的子元素,空表示任意元素都可作为子元素 "text", "image", "loading-indicator" ], "document": "/references/components/loading.html" //文档地址,配置该属性之后可在编辑界面中对应的标签上直接打开文档 }
插件的绝大部分功能被集成到编辑器上下文中,会随用户输入在需要补全,提示或Lint时被触发,无需特殊干预。下列功能需要用户手动触发:
打开IDE右侧工具栏的Weex Documents
即可对文档进行搜索,搜索结果与官网保持同步,勾选 EN
可切换搜索结果为英文内容
将光标定位到标签上,并通过Show Intention Actions
操作(OSX上默认键为 option + enter,可通过Keymap查看)打开Intenion菜单,选择Open Document
可打开标签对应的文档
请将Issues及Pull Requests提交到weex-language-support项目中