2013-10-26 11 views
5
द्वारा एसबीटी के साथ संकलन

मान लीजिए कि मैं intellij idea में एक scala कोड, उद्घाटन करते:IntelliJ विचार डिफ़ॉल्ट

object Test extends App { 
          // <- I click here 
    def init[T](xs: List[T]) : List[T] = xs match { 
    case List() => throw new Error("empty list") 
    case List(x) => List() // empty list 
    case head :: tail => head :: init(tail) 
    } 

    val list = List(1,2,4) 

    println (init(list)) 

} 

फिर, मैं क्या कर जब इस कोड को लॉन्च करना चाहते हैं, मैं लाइनों के बीच क्लिक करें जहां object और def है IDE को परिभाषित करने के लिए परिभाषित किया गया है कि मैं लॉन्च करना चाहता हूं (इस मामले में पूरी वस्तु, क्योंकि मैं किसी भी विधि का चयन नहीं करता)। CTRL + SHIFT + F10 - चलाने के लिए क्लिक करें।

यह शुरू होता है .. मैं "टेस्ट" देख मेरी विन्यास कॉम्बो-बॉक्स में ... लेकिन उस पर सही समय पर मैं संकलन की प्रक्रिया को रोकने .. और कहा कि विन्यास के लिए जाना config बदलने के लिए ..

क्या मैं परिवर्तन: "लॉन्च से पहले" अनुभाग इसे "sbt: compile" के साथ चलाने के लिए है। मैं ऐसा इसलिए करता हूं क्योंकि मैं एसबीटी पर भरोसा करना चाहता हूं लेकिन आईडीई पर नहीं।

प्रश्न यह है: क्या IntellyJ IDEA में डिफ़ॉल्ट रूप से एसबीटी में लॉन्च/संकलन करने का कोई तरीका है?

+1

मैंने त्वरित प्रारंभ -> कॉन्फ़िगर करें -> प्रोजेक्ट डिफ़ॉल्ट -> रन कॉन्फ़िगरेशन -> डिफ़ॉल्ट -> एप्लिकेशन और 'sbt', 'test: compile' में यहां परिवर्तन करने का प्रयास किया। हालांकि, ऐसा कोई प्रतीत नहीं होता है, अगर मैं कोई नई प्रोजेक्ट बनाता हूं, तो डिफ़ॉल्ट आईडीईए के अपने 'मेक' पर वापस आ जाता है ... –

+0

ठीक है तो इसे एक बग के रूप में माना जाएगा: http://youtrack.jetbrains.com/ मुद्दा/आईडीईए -115473 देखेंगे। – ses

उत्तर

3

यूप आप इसे कर सकते हैं, लेकिन आपको यह सुनिश्चित करना होगा कि यह एक वैध एसबीटी परियोजना है। सत्यापित करने के लिए, सुनिश्चित करें कि आप कमांड लाइन पर एसबीटी से संकलित और चला सकते हैं।

  1. IntelliJ विचार
  2. ओपन भागो में इस टेस्ट के लिए रन विन्यास के लिए एसबीटी प्लग-इन इंस्टॉल -> संपादित विन्यास ...
  3. अनुभाग "लॉन्च करने से पहले" निकालने में और एसबीटी कार्रवाई "जोड़ने रन एसबीटी एक्शन 'संकलन' "

अब अपने टेस्ट कोड को संशोधित करें और फिर से चलाएं। आप स्टेटस बार में देखेंगे कि एसबीटी संकलन आपके टेस्ट कोड निष्पादित होने से पहले चलाया जा रहा है। > संपादित विन्यास में आवेदन आइटम ... संवाद -

भविष्य की सभी रन विन्यास के लिए इस डिफ़ॉल्ट व्यवहार को बनाने के लिए, चूक में यह परिवर्तन करने अपडेट किया गया।

+2

प्रश्न की मेरी समझ यह थी कि क्या आप आईडीईए को उस क्रिया को चुन सकते हैं _by default_। –

+0

बिल्कुल, अन्यथा मुझे हर समय इसे फिर से कॉन्फ़िगर करने की आवश्यकता होती है जब मैं पूरी परियोजना/परीक्षण सेट लॉन्च करने का निर्णय नहीं लेता, लेकिन एक कण समारोह या परीक्षण करता हूं। – ses

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