使用的环境是 Rails + Vue.js
.
前端用的是 Slim + CoffeeScript + Sass
(确实比较小众啊, 公司用的环境没办法).
IDE 用的 IntelliJ
的 RubyMine
偶尔会发生.slim文件写着写着就崩溃, 现象是**文件没法录入任何字符,
有时文件内部不对键盘作出任何反应, 上下移动光标都不能够.
在重启RubyMine后, 出问题的文件不管如何也打不开.**前端
第一次发生这种现象的时候不知道怎么折腾着就又好了, 因此就没深究, 但第三次就有点恼人了.
在重启/清内存/清缓存 很差使以后开始针对各类plugin 进行排查,
总算找到闹事的家伙: Ruby Slim Support Integration
node
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
后面的对号:插件
以上!code