WebStorm 支持微信小程序的 rpx 单位

rpx 单位问题

      rpx(responsive pixel) 是微信小程序为了适配不同屏幕分辨率推出的一种尺寸单位。因为是国内的自定义单位,所以 WebStorm 无法识别,进而导致两个问题:

 

IDE 会报【Mismatched property value 】错误并标红

 

 

执行代码格式化之后,rpx 和前面的数值之间会多出一个空格

 

 

3. 过渡方案

     在网上找了一圈,找到一种勉强可以接受的方案(具体见《让webstorm编写微信小程序时支持rpx》),大致思路如下:

 

关闭【Invalid CSS property value】检测项(解决 IDE报错标红)

缺点:关闭是一刀切的,对于其他单位的检测也被关掉了

添加文件修改监听,借助 sed 命令将多出的空格去掉(解决代码格式化问题)

缺点1:特定场景,比如 rpx2px 之类的方法调用之前的空格也会被移除

缺点2:低配电脑或运行程序比较多时,编辑过程会弹出内存与磁盘内容不一致的对话框

4. 新方案

     因为使用的是个人的老电脑,经常性地开关文件监听(为了解决缺点2,只在要格式化时打开)感觉比较麻烦,所以就又找起了解决方案。

 

     这次改成直接在插件市场里面搜索 uni-app、vue、rpx 和 wx 关键字,还真的找到了两款:

 

Wxapp Support

Wechat mini program support

4.1 Wxapp Support

     直接在 WebStorm 设置中的插件市场搜索安装,未能生效。查看其 github 项目,发现市场的版本是旧的,虽然作者提供了最新体验版的下载链接,但是因为已经过了缓存期限,下载不了。

 

     本来自己克隆后想自己编译的,后面找到解决方案了,就放弃了。

 

4.2 wechat-miniprogram-plugin(最终方案)

     直接在 WebStorm 设置中的插件市场搜索安装,也是未能生效。查看插件文档介绍,发现有类似需求的评论。

 

 

 

     查看其 gitee 项目,最终在一个已关闭的 issue 中找到了解决方案:

 

WebStorm -> Preferences… -> 左侧搜索框输入 wechat -> Languages & Frameworks -> Wechat Mini Program -> 右侧的菜单中,将【小程序支持】切换到【启用】-> Apply -> OK -> 等待1至2分钟,标红自动消失,格式化代码不再添加空格

 

著作权归作者所有。

商业转载请联系作者获得授权,非商业转载请注明出处。

原文: https://wufengxue.github.io/2021/05/21/WebStorm-rpx-support.html

有话要说