• Weex语法支持插件
    • 支持的IDE
    • 安装
    • 配置
    • 自定义规则格式
    • 使用
      • 文档搜索
      • 打开标签对应的文档
    • 参与插件建设

    Weex语法支持插件

    Weex Language Support 插件是官方提供的一个工具,你可以使用它在IntelliJ IDEA,WebStorm等一系列IDE上对Weex DSL进行语法高亮,自动补全和错误检查等操作。

    支持的IDE

    你可以在任何操作系统上的下列IDE上安装和使用Weex Language Support插件:
    IntelliJ IDEA Ultimate, PhpStorm, WebStorm, PyCharm, RubyMine, AppCode, CLion, Gogland, Rider

    安装

    在IDE的插件仓库中搜索Weex Language Support来安装该插件,安装完毕后重启IDE即可激活插件相关功能
    install plugin

    配置

    打开Preferences -> Other Settings -> Weex language support可配置插件的相关功能
    plugin settings

    • Target Weex Version: 配置插件以哪一个版本的语法规则来对DSL进行提示及检查,默认值LATEST表示总是应用最行新版本weex的语法规则
    • Vue Support: 配置插件是否支持Weex 2.0版本的DSL(.vue文件),开启后重启生效(注意:如果IDE内有其他支持Vue语法的插件,则需要关闭相应的插件后Weex插件才能生效)
    • Custom Rules: 引入自定义的Weex DSL规则,如果你在native中定义了自己的Module或Component,可通过自定义规则引入插件中来提供相应的提示和补全支持,自定义规则的格式将在后文列出
    • Global Weex Components: 默认地,插件会解析当前工程及npm root路径下的node_modules目录,解析其中包含的Weex Components并对其提供补全支持。如果你的项目中引用了这两个路径以外的Components,可以在此处将其添加到搜索路径中,插件将会将其中的Components载入,并在编写DSL时为相应的标签提供补全支持

    自定义规则格式

    自定义规则包含在一个json文件中,json文件的根节点为数组类型,数组中的每一个元素对应DSL中的一个标签。
    我们以<loading>标签的规则来举例:

    1. {
    2. "tag": "loading", //标签名,不可为空
    3. "attrs": [ //标签属性列表,可为空
    4. {
    5. "name": "display", //属性名,不可为空
    6. "valuePattern": null, //属性值的正则表达式,用于检测值是否合法,可为空
    7. "valueEnum": [ //属性值枚举,可为空
    8. "show",
    9. "hide"
    10. ],
    11. "valueType": "var", //属性值类型,必须是var或function,决定该从数据列表还是函数列表中查找属性值补全的候选值,不可为空
    12. "since": 0, //该属性何时被添加到sdk中,例如0.11,默认为0
    13. "weexOnly": false //该属性是否仅在1.0语法中可用,默认为false
    14. }
    15. ],
    16. "events": [ //事件列表。可为空
    17. {
    18. "name": "loading", //事件名称,不可为空
    19. "since": 0 //该事件何时被添加到sdk中
    20. }
    21. ],
    22. "parents": [ //该标签允许被作为哪些标签的子元素,空表示可以作为任意元素的子元素
    23. "list",
    24. "scroller"
    25. ],
    26. "childes": [ //该标签允许哪些元素作为自己的子元素,空表示任意元素都可作为子元素
    27. "text",
    28. "image",
    29. "loading-indicator"
    30. ],
    31. "document": "/references/components/loading.html" //文档地址,配置该属性之后可在编辑界面中对应的标签上直接打开文档
    32. }

    使用

    插件的绝大部分功能被集成到编辑器上下文中,会随用户输入在需要补全,提示或Lint时被触发,无需特殊干预。下列功能需要用户手动触发:

    文档搜索

    打开IDE右侧工具栏的Weex Documents即可对文档进行搜索,搜索结果与官网保持同步,勾选 EN 可切换搜索结果为英文内容
    doc search

    打开标签对应的文档

    将光标定位到标签上,并通过Show Intention Actions操作(OSX上默认键为 option + enter,可通过Keymap查看)打开Intenion菜单,选择Open Document可打开标签对应的文档
    open doc

    参与插件建设

    请将Issues及Pull Requests提交到weex-language-support项目中