2014-09-29 9 views
17

कोई भी जानता है कि इंटेलिजे आइडिया अल्टीमेट को नए वाक्यविन्यास में रुबी हैश अक्षर क्यों पसंद नहीं है? नीचे दिए गए आईडीई से मेरे स्क्रीनशॉट में लाल रेखांकन का संदर्भ लें। सिंटेक्स:इंटेलिजे आइडिया अल्टीमेट रेड-अंडरलाइन रूबी शॉर्टेंड हैश शाब्दिक

{key1: "value", key2: 123} 

वास्तव में कष्टप्रद है क्योंकि इसका मतलब है कि मेरी पूरी परियोजना में निर्देशिका पेड़ तक सभी तरह से एक लाल रेखा रेखा है।

मैं सेटअप एक रूबी एसडीके संस्करण है अधिक से अधिक 1.9 (जो जब मुझे लगता है कि नए हैश शाब्दिक वाक्य रचना शुरू की गई थी) आईडीई वरीयताओं में है, इसलिए कोई बहाना नहीं है!

धन्यवाद।

Screenshot from IntelliJ Ultimate

+0

क्या आपको कोई समाधान मिला जो आपके लिए काम करता है? – Daryn

+0

दुर्भाग्य से मैंने नहीं किया! मैंने अभी फैसला किया है कि हैश के लिए दो अलग-अलग वाक्यविन्यास होने से भ्रमित हो रहा था और रॉकेट सिंटैक्स के साथ सभी नए सिंटैक्स मामलों को प्रतिस्थापित करने के लिए एक जटिल रेगेक्स का उपयोग किया गया था। –

+0

रूबी प्लगइन (रूबी-7.1.0.20150304) के साथ इंटेलिजे आईडीईए (14.14) के साथ रेल परियोजना पर नई रूबी बनाकर मैं इन त्रुटियों को गायब कर सकता हूं। मैंने अपनी पिछली फाइलों को इस नई परियोजना में ले जाया। मैं किसी भी अन्य समाधान से इस त्रुटि को ठीक नहीं कर सका ... – ataru

उत्तर

-8

उत्तर पुराने एक regex उपयोग करने के साथ भयानक नए हैश वाक्य रचना के हर उपयोग को बदलने के लिए है (सही नहीं अभी तक लेकिन समय के काम करता है ~ 95%)।

files=gfind . -iregex '.*\(rb\|haml\)' -printf '%p\n' $ फ़ाइलों में फ़ाइल के लिए gsed है मैं "s/([a-z _]): {1} \ s + (('\ |"'? " '") \ [- एक -zA-Z0-9 {}: @] + ('\ | "' '' ') \?) /: \ 1 => \ 2/g" $ फ़ाइल किया

2

ऐसा लगता है कि यह एक रूबी प्लगइन में बग: http://devnet.jetbrains.com/thread/457333

किसी को भी जो अपने कोड बेस को बदलने का मन नहीं करता, तो निम्न चरणों मेरे लिए इस मुद्दे को हल:

  • फ़ाइल खोलें -> परियोजना संरचना
  • ओपन परियोजना टैब
  • बदलें परियोजना भाषा स्तर
  • ठीक क्लिक करें

इंटेलीजे अब पूछता है कि आप अपनी परियोजना को फिर से लोड करना चाहते हैं। ऐसा करने के बाद "नया" हैश सिंटेक्स सही माना जाता है ...

संपादित करें: यह वास्तव में कोई फर्क नहीं पड़ता कि आप भाषा स्तर के रूप में क्या चुनते हैं क्योंकि यह केवल जावा कोड के लिए प्रासंगिक है, लेकिन स्पष्ट रूप से यह कोड में कुछ ट्रिगर करता है पार्सर ...

0

dsager's answer अब इंटेलिज आइडिया 14 में काम नहीं करता है। मेरा मानना ​​है कि उन्होंने फिर से लोड किए बिना भाषा के स्तर को बदलने की क्षमता को जोड़ा (जावा विकास के लिए बढ़िया है, लेकिन इसे तोड़ता है)। यह एक लंगड़ा कामकाज है, लेकिन अब मुझे मिला एकमात्र तरीका एक नया रूबी प्रोजेक्ट बनाना है और फिर अपने सभी मौजूदा स्रोतों को इसमें ले जाना है। की तरह कुछ निम्नलिखित:

PROJECT=my_project 
cp -lr $PROJECT ${PROJECT}2 
rm -rf ${PROJECT}2/.idea ${PROJECT}2/*.iml 

उचित SDK के साथ नए माणिक परियोजना 'my_project' है, तो बनाएँ:

mv ${PROJECT}2 $PROJECT 

साइड नोट: वे उस में आप कर सकते हैं आइडिया का 'ओपन' आदेश 14 में और अधिक लचीला बनाया किसी भी निर्देशिका को खोलें ... रूबीमाइन की तरह। जावा परियोजना नहीं है जो कुछ भी खोलने के लिए काफी सुविधाजनक है, लेकिन यह एक परेशान है।

+0

यह केवल एकमात्र समाधान था जो मेरे लिए काम करता था और मैंने सचमुच सबकुछ की कोशिश की जो सिफारिश की गई थी। उनकी लिपि मेरे लिए काफी काम नहीं करती थी, इसलिए मैंने इसे मैन्युअल रूप से – Scottmas

3

ओएसएक्स इंटेलिजे 14 के तहत मैं प्रोजेक्ट को बंद करके इसे फिर से खोलकर इसे ठीक करने में सक्षम था।

निष्पक्षता में, मैंने प्रोजेक्ट के "भाषा स्तर" को सेट करने का प्रयास किया, लेकिन यह केवल जावा एसडीके दिखाता है, जो मेरे मुख्य रूबी मॉड्यूल को प्रभावित नहीं करना चाहिए।

7

मैं कैसे Intellij 14.1 में इस तय:

  1. फ़ाइल -> परियोजना संरचना
  2. मौजूदा मॉड्यूल जो जावा (वास्तविक फ़ाइलें नष्ट नहीं करता है)
  3. उपयोग हरी + बटन को चूक हटाएं एक ही नाम/स्थान के साथ एक नया मॉड्यूल बनाने के लिए, लेकिन इस बार जावा के बजाय रेल पर रूबी से जुड़े (सही एसडीके के साथ)
  4. फ़ाइल -> परियोजना
  5. प्रोजेक्ट दोबारा खोलें।

पहले मैंने जावा के रूबी से रूबी के प्रोजेक्ट एसडीके को बदलने की कोशिश की, लेकिन इसने इस मुद्दे को ठीक नहीं किया।

+0

किया था, मैंने मॉड्यूल खोला था, जो एक रेल था, और इसके मॉड्यूल एसडीके को रूबी (रूबी एसडीके जोड़ना था) सेट किया था। –

1

क्या मुझे मेरे मामले में मदद की:

  • फ़ाइल खोलें -> परियोजना संरचना
  • मॉड्यूल
  • आयात मॉड्यूल (अपनी परियोजना के लिए सेट पथ)
  • Intellij मेरे लिए आराम किया था का उपयोग कर मौजूदा निकालें
0

सही रूबी एसडीके सेट करना, पुनरारंभ करना, कैश को अमान्य करना और रूबी प्लगइन को पुनर्स्थापित करना .. यह सब काम नहीं किया मुझे। मैंने इंटेलिजे को 2016 तक अपग्रेड किया।

संबंधित मुद्दे