2010-11-13 12 views
46

मैंने अभी कुछ धाराप्रवाह इंटरफेस के लिए जेनरेटर बनाया है।ग्रहण के साथ "सही ढंग से" धाराप्रवाह इंटरफ़ेस पैटर्न को कैसे इंडेंट करें?

new MyFluentInterface() 
    .setFirst("first") 
    .setSecond("second") 
    .setThird("third") 
    .invoke(obj); 

मैं खरोज ऊपर दिखाए गए, लेकिन मैं इस सही ढंग से इंडेंट करने के लिए ग्रहण कॉन्फ़िगर करने के लिए एक तरह से नहीं मिल सकता है की तरह है: अब मैं कोड के बहुत सारे इस तरह लग रही है।

ग्रहण हमेशा इस तरह indents:

new MyFluentInterface() 
.setFirst("first") 
.setSecond("second") 
.setThird("third") 
.invoke(obj); 

मैं ग्रहण कैसे कॉन्फ़िगर कर सकते हैं ताकि वह इस धाराप्रवाह इंटरफ़ेस पैटर्न के रूप में मेरी पहली कोड उदाहरण में दिखाया गया indents?

+0

क्या आप फॉर्मेटर को ऐसा करना चाहते हैं? मेरा मतलब है कि पूरे बफर पर "CONTROL + SHIFT + f" या आप केवल उस पंक्ति को इंडेंट करने में सक्षम होना चाहते हैं? – dacwe

+0

यह ठीक होगा अगर कोई भी निर्माता या ग्रहण का इंडेंटर इसका उत्पादन कर सकता है ... – tangens

+1

हाय, मुझे पता है कि यह एक पुराना धागा है, क्या आपने देखा है कि 'Ctrl + A',' Ctrl + I' इस स्वरूपण को पूर्ववत करता है? – durron597

उत्तर

63

ग्रहण 3.6 के साथ, यह आपके कस्टम जावा> कोड शैली> फ़ॉर्मेटर प्रोफ़ाइल को कॉन्फ़िगर करके करने योग्य लगता है। इसे संपादित करें और लाइन रैपिंग टैब पर जाएं और फ़ंक्शन कॉल> योग्य आविष्कार चुनें। फिर, योग्य आमंत्रण के लिए सेटिंग्स, में इस तरह बातें कॉन्फ़िगर करें:

alt text

यह अपेक्षित परिणाम का उत्पादन (चाहिए) होगा:

SomeEntity e1 = new SomeEntity.Builder() 
    .age(10) 
    .amount(10.0d) 
    .firstname("foo") 
    .lastname("bar") 
    .build(); 

लेकिन यह स्पष्ट रूप से सभी कोड को प्रभावित करेगा , जिसे मैं व्यक्तिगत रूप से पसंद नहीं करता हूं। इसलिए मैं 3.6 (अंतिम टैब जब एक प्रोफ़ाइल का संपादन) ग्रहण से नए Off/On Tags उपयोग कर रहा हूँ:

alt text

और भागों है कि स्वरूपित नहीं मिलता के रूप में मैं चाहता हूँ लगा और यह कर अपने आप को:

// @formatter:off 
SomeEntity e2 = new SomeEntity.Builder() 
    .age(10) 
    .amount(10.0d) 
    .firstname("foo") 
    .lastname("bar") 
    .build(); 
// @formatter:on 

अपना जहर उठाएं :)

+1

मैंने बहुत पहले, बंद/टैग पर ध्यान नहीं दिया था। –

+0

अच्छा जवाब (+1)। अब अगर आप एक ग्रहण प्लगइन भी जानते हैं जो धाराप्रवाह सेटर्स उत्पन्न करता है ... :-) –

+4

@seanizer: असल में, उपरोक्त [बिल्डर पैटर्न ग्रहण प्लगइन] का परिणाम है (http://boss.bekk.no/ bpep /)। मुझे यह छोटी प्लगइन पसंद है :) –

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