RubyMine ( IntelliJ 通用 ) 编辑 Slim + Vue.js 遇到文件没法打开的坑

一. 情况说明

使用的环境是 Rails + Vue.js.
前端用的是 Slim + CoffeeScript + Sass
(确实比较小众啊, 公司用的环境没办法).
IDE 用的 IntelliJRubyMine
偶尔会发生.slim文件写着写着就崩溃, 现象是**文件没法录入任何字符,
有时文件内部不对键盘作出任何反应, 上下移动光标都不能够.
在重启RubyMine后, 出问题的文件不管如何也打不开.**前端

二. 找缘由

第一次发生这种现象的时候不知道怎么折腾着就又好了, 因此就没深究, 但第三次就有点恼人了.
在重启/清内存/清缓存 很差使以后开始针对各类plugin 进行排查,
总算找到闹事的家伙:
Ruby Slim Support Integrationnode

问题的来源是找到了, 可是缘由呢?

Ruby Slim Support Integration这个插件是用来分析Slim的语法的.
多是代码中哪一个Slim语法它分析不出来, 致使运行时错误.
抱着这个可能性, 用逐行删除代码的方式排查了一上午, 终于被我找到一句:缓存

#'[]' 用来包裹多个属性, 用于在元素属性过多的时候折行, 提升代码可读性
img.feed_img.feed_thumb [:id="feed.id" 
    :
    :large="feed.nodes[0][2]" 
    v-lazy="feed.thumbs[4]" 
    v-if="feed.error == 0"]

代码里[]用来包裹多个属性.
问题出在, 在[ 开始后的第一个新行里由冒号:开始时, 插件会没法分析语义.
这里我是准备输入Vue的 bind语法途中程序崩溃的.spa

三.解决方法 / 总结

解决方法就是当心不要在[下一行用:起头儿.
或者尽可能不使用属性包裹[]
固然也不排除插件还有其余语义分析问题, 若是担忧这种状况再次发生, 也能够索性吧插件关掉.
Preference => Plugin里关掉 Ruby Slim Support Integration 后面的对号:插件

clipboard.png

以上!code

相关文章
相关标签/搜索