《元内容》 是我个人成果的展示和分享平台,主要与编程有关。目前分享的 wepy-plugin-intellij 插件适合 PhpStorm/WebStorm ,专为小程序的 WePY 框架设计,更新至2.6
支持ES6
正常情况下你并不需要做此设置,除非你的IntelliJ不认识单文件里的ES6
Settings => Language Injections 添加 XML Tag Injection

图1
如果xPaht condition灰色不让输入,就需要在plugin中开启 xPathView+XSLT Support 插件
主题/配置
方法1:更换到合适你的主题
方法2:在现有主题基础上定制下划线等提示 图2

图2
Namespace
wx:if 等 IDE 提示 Namespace 'wx' is not bound方法:取消选项 Editor/Inspections/XML/Unbound XML namespace prefix
略
支持新建、识别、高亮三种类型的WePY单文件:App/Page/Component。并且无需依赖其他,比如Vue插件

图3
支持所有的官方组件和属性。如果该属性有默认枚举值(例如mode),则提示该枚举 图4
属性自动完成被唤醒时,会提示该属性的类型要求
属性绑定
@ 键唤醒 @attribute="someFunction" 这种方法的绑定。并且支持在 " " 内通过 ` 键再次唤醒自动完成 图5` 键唤醒 :attribute="someVariable" 对子组件的动态传值。同上,支持 " " 内的 ` 键唤醒 图6attribute="" 的双(单)引号内,通过 ` 键唤醒包裹 {{ }} 的变量绑定,或则通过 ~ 来唤醒没有包裹的变量绑定。v2.0开始支持 图7属性绑定变量时,自动提示在 <script></script> 中定义过的属性和方法
支持行内表达式,并识别表达式中的变量 图8
如果属性和属性值的类型不符合官方要求会提示错误 图9

图4

图5

图6

图7

图8

图9
支持自定义组件标签名的自动完成,并以『 custom component 』字样与官方组件区分
支持关联子组件中的属性定义,方便在父组件调用时进行相关属性提示
暂不支持组件的属性类型判断
支持 @ / ` / ~ 键唤醒属性绑定。属性绑定
支持行内表达式,并识别表达式中的变量
如果 import 子组件出问题,会提示错误
如果发现组件的标签和属性没有关联过来,请检查 import 语句和父组件中的 components 属性,以及子组件里的 props 属性

图10
支持通过 ` ~ 来唤醒自动完成。两者区别
支持行内表达式,并识别表达式中的变量
最终会插入WePY认可的 {{ }}

图11
基本采用liveTemplate完成
覆盖小程序自身的所有API
API以 wx_ 开头,方便唤醒小程序专属API
原生API采用ES5语法,主要担心大家会被箭头函数的 this 搞崩溃
支持WePY-Promised-API。键入 we_ 可以唤醒被Promise化的API。v1.1开始支持
Abbreviation无需输入完整的名字,IntelliJ的自动筛选功能非常强大图13
Abbreviation的命名方式有层级关系,各层级以 _ 分割。例如 wx_createInnerAudioContext_prop_autoplay_rw 代表这是一个 InnerAudioContext 的实例属性(prop表示属性,rw代表可读可写)。所以需要先通过 wx_createInnerAudioContext 来创建这个实例(如果实例已经创建忽略这一步),然后再通过 wx_createInnerAudioContext_prop_autoplay_rw 进行赋值或取值。结果如下:
x let innerAudioContext=wx.createInnerAudioContext(); innerAudioContext.autoplay="false";

图12

图13
canvas 的 bindlongtap 属性@longtap ,实现见属性绑定
wepy-plugin-intellij.jar (v2.6)
we_reg_config_app 会完成注册程序时 config 内容wepy-plugin-intellij.jar (v2.5)
repeat 标签组件scoped 属性wepy-plugin-intellij.jar (v2.4)
block 标签组件wx:if 等属性wepy-plugin-intellij.jar (v2.3)
wepy-plugin-intellij.jar (v2.2)
wepy-plugin-intellij.jar (v2.1)
wepy-plugin-intellij.jar (v2.0)
wepy-plugin-intellij.jar (v1.1)
wepy-plugin-intellij.jar (v1.0)