zxj5470 / wxapp-intellij

WeChat App plugin is Compatible with IntelliJ IDEA Ultimate, PhpStorm, PyCharm Professional, Rider, RubyMine, WebStorm, AppCode, CLion, GoLand
GNU General Public License v3.0
89 stars 10 forks source link

插件启用后会在其他项目中与JSX语法产生冲突 #20

Open josh-axy opened 4 years ago

josh-axy commented 4 years ago

插件启用后,会在非小程序项目的.tsx文件内与JSX语法解析产生冲突,原本正常的JSX对象会被解析为Mustang语法并且报错。我也不是很清楚为什么.tsx文件会被插件解析到。

如图,JSX里的js代码本身由一层大括号包围,两层大括号在JSX里用来表示一个对象,但Mustang语法的js数据由也两层大括号包围,导致jsx会被解析成为Mustang语法。我不太会写插件所以确实没有办法定位到具体冲突原因。

目前解决的办法就是关闭插件,会导致的一个问题就是没有办法同时在小程序项目和其他项目上工作而且每次都要重启。

仅供参考,如果可以修复是最好的了。

企业微信截图_20190902144652

作为对比,关闭插件以后的代码高亮效果如下:

企业微信截图_20190902145627

zxj5470 commented 4 years ago

好吧……没判断其他文件……默认所有的继承于 xml 的文件类型 如果出现了 {{}} 这样的都会标记成插入js语法

josh-axy commented 4 years ago

2333,期待修复一下哈哈

szhiku commented 4 years ago

image 这是怎么回事呀QAQ

zxj5470 commented 4 years ago

image 这是怎么回事呀QAQ

建议提供一下你的phpstorm的版本号……以及相应的(最好不涉及关键信息)能触发报错的代码

szhiku commented 4 years ago

报错代码在哪找,版本号是最新那个,2019.2还是.3你看看orz,话说你也是拉拉人?

yeliex commented 4 years ago

Repeat in my project both for jsx and tsx. Support an minimal:

IDE: WebStorm 2019.3.1

// a.jsx
const a = () => (
    <div
        style={{
            background: 'red',
        }}
    />
);

Cause:

image