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

相關文章
相關標籤/搜索