任何人都知道爲什麼IntelliJ Idea Ultimate不喜歡新語法中的Ruby哈希文字?請參閱下面IDE中截圖中的紅色下劃線。語法:IntelliJ Idea終極紅色下劃線Ruby速記哈希文字
{key1: "value", key2: 123}
真的很煩人,因爲這意味着我的整個項目在目錄樹中都有一個紅色下劃線。
我已經建立了的Ruby SDK版本大於1.9(這是當我想介紹了新的散列文字語法)在IDE喜好,所以沒有任何藉口!
謝謝。
任何人都知道爲什麼IntelliJ Idea Ultimate不喜歡新語法中的Ruby哈希文字?請參閱下面IDE中截圖中的紅色下劃線。語法:IntelliJ Idea終極紅色下劃線Ruby速記哈希文字
{key1: "value", key2: 123}
真的很煩人,因爲這意味着我的整個項目在目錄樹中都有一個紅色下劃線。
我已經建立了的Ruby SDK版本大於1.9(這是當我想介紹了新的散列文字語法)在IDE喜好,所以沒有任何藉口!
謝謝。
答案是與舊的使用正則表達式來代替可怕的新的哈希語法的每次使用(不是很完美,但工程的〜95%的時間)。
files=
gfind . -iregex '.*\(rb\|haml\)' -printf '%p\n'
在$文件的文件 做 gsed -i 「S /(A-Z _] +):{1} \ S +(('\ |」?「'」)\ [ - 一個-zA-Z0-9 {}:@] +('\ |''''「)\?)/:\ 1 => \ 2/g」$ file done
這似乎是臭蟲在Ruby插件:http://devnet.jetbrains.com/thread/457333
誰不覺得自己改變自己的代碼庫,以下步驟解決我這個問題:
的IntelliJ現在會詢問您是否想重新加載您的項目。這樣做後,「新的」哈希語法被認爲是正確的...
編輯:你選擇語言級別並不重要,因爲它只與Java代碼相關,但顯然這會觸發代碼中的某些內容解析器...
dsager's answer不再適用於Intellij Idea 14.我相信他們增加了切換語言層次而不必重新加載的能力(對Java開發很好,但是打破了這一點)。這是一個蹩腳的解決方法,但我現在發現的唯一方法是創建一個新的ruby項目,然後將所有現有的源代碼移入其中。像下面這樣:
PROJECT=my_project
cp -lr $PROJECT ${PROJECT}2
rm -rf ${PROJECT}2/.idea ${PROJECT}2/*.iml
創建新的Ruby項目「MY_PROJECT」用相應的SDK,然後:
mv ${PROJECT}2 $PROJECT
旁註:他們在,你可以做理念的「打開」命令,在14更加靈活打開任何目錄...非常類似於RubyMine。打開任何不是Java項目的東西都很方便,但這個很煩人。
這是唯一的解決方案,爲我工作,我從字面上嘗試了一切建議。他的腳本雖然不適合我,但我手動完成了。 – Scottmas 2015-11-20 01:06:20
在OSX IntelliJ 14下我可以通過關閉項目並重新打開它來解決這個問題。
公平地說,我確實嘗試設置項目的「語言級別」,但它只顯示Java SDK,它不應該影響我的主要Ruby模塊。
我如何在的IntelliJ 14.1固定的:
此前我嘗試過將項目SDK從默認的Java更改爲Ruby,但是這並沒有解決問題。
我打開了模塊,這是一個rails模塊,並將其Module SDK設置爲ruby(必須添加Ruby SDK)。 – 2015-07-16 00:18:38
什麼在我的情況下幫我:
設置正確的Ruby SDK,重新啓動,無效緩存並重新安裝Ruby插件..它都不適用於我。我將IntelliJ升級到2016.
您是否找到適合您的解決方案? – Daryn 2015-06-25 09:46:57
我沒有遺憾!我只是認爲有兩種不同的散列語法是令人困惑的,並且使用了複雜的正則表達式來用火箭語法替換所有新語法的情況。 – 2015-06-26 13:55:41
我可以用IntelliJ IDEA(14.14)和Ruby Plugin(ruby-7.1.0.20150304)創建新的ruby on rails項目來消除這些錯誤。我將所有以前的文件移到這個新項目中。我無法通過任何其他解決方案解決這個錯誤... – ataru 2015-08-25 15:32:25