《元内容》 是我个人成果的展示和分享平台,主要与编程有关。目前分享的 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)