2011-03-17 10 views
10

के पेशेवरों और विपक्ष मैं वर्तमान में स्कैला के साथ विकास के लिए एफएससी के साथ आईडीईए के निर्माण तंत्र का उपयोग कर रहा हूं। यह अभी भी थोड़ा धीमा है और संकलन सर्वर शुरू करने के लिए (पुनः) होना एक दर्द है। यहां बहुत से लोग आईडीबीए के साथ एक बिल्ड टूल के रूप में एसबीटी का सुझाव दे रहे हैं।स्कैला + आईडीईए: एसबीटी और एफएससी

आप प्रत्येक दृष्टिकोण के पेशेवरों और विपक्ष पर क्या विचार करते हैं?

+0

http://stackoverflow.com/ques में कुछ (आंशिक) उत्तर tions/3606591/why-does-intellij-idea-compile-scala-so-धीरे – VonC

उत्तर

10

मैंने दोनों की कोशिश की और अंत में मैं संकलन के लिए सीधे एसबीटी पसंद करता हूं।

विपक्ष? मैं वास्तव में संकलन त्रुटियों के माध्यम से क्लिक करने और सीधे कोड को ठीक करने में सक्षम होने से चूक जाता हूं, लेकिन ... एसबीटी में संकलन करना बहुत तेज़ है।

आइडिया स्कैला प्लगइन का रात का निर्माण गुणवत्ता/प्रदर्शन में भिन्न हो सकता है, लेकिन यह हाल ही में बेहतर और बेहतर हो रहा है। स्कैला प्लगइन अब कई त्रुटियों को ध्वजांकित कर सकता है इससे पहले कि मुझे पकड़ने के लिए संकलन करना पड़े। (उदाहरण के लिए, मैं रात में 0.4.6 9 3 का निर्माण कर रहा हूं और नई विधि निरीक्षण पहले से ही उपयोगी हो चुकी है।)

कमांड लाइन पर एसबीटी के साथ जीवन के लिए मेरी सलाह: एसबीटी शुरू करें और इसे लंबे समय तक चलने दें लोड होने वाली चीज़ों और जेआईटी-एड का लाभ उठाने के लिए जितना संभव हो सके।

एसबीटी बाएं दौड़ अंततः खत्म हो जाएगी लेकिन इसे अपने एसबीटी रैपर में अधिक स्मृति देकर आप इसे शायद ही कभी ही कर सकते हैं।

यहां एसबीटी लॉन्च रैपर है जो मेरे लिए काम करता है।

java -Xms512M -Xmx1500M -XX:MaxPermSize=512m -jar `dirname $0`/sbt-launch.jar "[email protected]" 

मेरे एसबीटी 0.7 के साथ सबसे बड़ी समस्या यह है कि यह अक्सर वापस चला जाता है और फ़ाइलों के महान swathes है कि केवल कोड मैं वास्तव में बदल रहा था करने के लिए स्पर्शरेखा लगते recompiles है। (यहां तक ​​कि, आइडिया और एफएससी से अभी भी तेज़!)

अच्छी खबर: एसबीटी 0.9 में कुछ बढ़िया संकलन सुधार हैं। दुर्भाग्यवश, 0.7 से 0.9 तक माइग्रेशन पथ अभी भी शुरुआती दिनों में है। यदि आप रुचि रखते हैं तो NEScala में मार्क हाराह की प्रस्तुति http://www.nescala.org/2011/ पर ऑनलाइन है।

उपयोगी प्लगइन्स

  • http://github.com/mpeltonen/sbt-idea - आसानी से बना सकते हैं और अपने एसबीटी परियोजना
  • http://github.com/orfjackal/idea-sbt-plugin के साथ सिंक में अपने आइडिया परियोजना रखना - आप आइडिया के भीतर से एसबीटी के लिए चलाने के प्रोफाइल बनाने की सुविधा देता है (मैं की तुलना में इस धीमी पाया पिछले अक्टूबर में कमांड लाइन पर एसबीटी चल रहा है - लेकिन मुझे लगता है कि ऑर्फजैकल अभी भी विकसित हो रहा है इसलिए मुझे इसे एक और शॉट देना चाहिए)
+2

एक Emacs प्लगइन है जो आपको एक अलग बफर में एसबीटी का उपयोग करने की अनुमति देता है और दूसरा जो आपको एसबीटी त्रुटि संदेशों पर क्लिक करने में सक्षम बनाता है, पर कूदता है आपके स्रोत कोड में उपयुक्त स्थान: http://stackoverflow.com/questions/4112838/emacs-ensime-and-sbt – axel22

+0

तो एसबीटी संकलन त्रुटियों को विचार में लाने का कोई तरीका नहीं है? यह एसबीटी के विपक्ष में से एक है जिसके बारे में मैं सोच रहा था। सोचा था कि एसबीटी प्लगइन इसे संभालेगा। – ziggystar

+0

मैंने पहले कभी विचार नहीं किया है, इसलिए मैं यह नहीं बता सकता कि ऐसी प्लगइन है या नहीं। – axel22

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