2012-02-08 10 views
8

(या विस्तारित) ग्रहण कर सकते हैं फ़ॉर्मेटर और कोड सफाई विन्यस्त किया जा निम्न उदाहरण में खरोज मैं उम्मीद जोड़ने के लिए:क्या एक्लिप्स फॉर्मेटर को ब्रांड्स के बीच कई लाइनों को इंडेंट करने के लिए कॉन्फ़िगर किया जा सकता है?

public static void main(String[] args) { 
    String[] numbers = new String[] { 
     "one", 
     "two", 
     "three", 
     "four", 
    }; 

    new MessageFormat("{0} {1} {2} {3}").format(
     "this is string one", 
     "this is string two", 
     "this is string three" 
    ); 

    System.out.println(
     new MessageFormat("{0} {1} {2} {3}").format(
      new String[]{ 
       "this is string zero", 
       "this is string one", 
       "this is string two", 
       "this is string three" 
      } 
     ) 
    ); 
} 

मैं सभी सेटिंग्स है कि मैं पा सकते हैं के साथ चारों ओर खेला है। "कभी नहीं लाइनों में शामिल होने के" विकल्प पूरी तरह से कोड butchering से रहता है, लेकिन फिर भी खरोज सब छीन लिया जाता है और कोड इस तरह बाहर आता है:

String[] numbers = new String[] { 
    "one", 
    "two", 
    "three", 
    "four", 
    }; 

    new MessageFormat("{0} {1} {2} {3}").format(
    "this is string one", 
    "this is string two", 
    "this is string three" 
    ); 

    System.out.println(
    new MessageFormat("{0} {1} {2} {3}").format(
    new String[] { 
    "this is string zero", 
    "this is string one", 
    "this is string two", 
    "this is string three" 
    } 
    ) 
    ); 

मैं की तरह इस तरह के ब्लॉक के आसपास स्वरूपण बंद करने की क्षमता की खोज की इस:

// @formatter:off 
    String[] numbers = new String[] { 
     "one", 
     "two", 
     "three", 
     "four", 
    }; 
    // @formatter:on 

एक सभ्य काम के आसपास है कौन सा है, सिवाय इसके कि मेरे कोड उन्हें से अटे पड़े समाप्त होता है, और "सही खरोज" कोड सफाई का हिस्सा निर्देश पर ध्यान नहीं देता और वैसे भी खरोज को खराब करता।

संपादित करें: मुझे "लाइन रैपिंग" -> "लिपटे लाइनों के लिए डिफ़ॉल्ट इंडेंटेशन" और "सरणी के लिए डिफ़ॉल्ट इंडेंटेशन" के लिए सेटिंग्स मिली हैं और उन्हें "0" के बजाय "1" पर सेट किया है। यही कारण है कि सरणी initializers के लिए बेहतर है, लेकिन अभी भी मांगपत्र समापन parethesis उद्घाटन मैच के लिए जिस तरह से है कि मैं यह करना चाहता हूँ वाले कोष्ठक नहीं करता है:

public static void main(String[] args) { 
    String[] numbers = new String[] { 
     "one", 
     "two", 
     "three", 
     "four", 
    }; 

    new MessageFormat("{0} {1} {2} {3}").format(
     "this is string one", 
     "this is string two", 
     "this is string three" 
     ); 

    System.out.println(
     new MessageFormat("{0} {1} {2} {3}").format(
      new String[] { 
       "this is string zero", 
       "this is string one", 
       "this is string two", 
       "this is string three" 
      } 
      ) 
     ); 
} 
+0

हां; प्रत्येक संरचना के लिए इंडेंट्स बदलें। प्रत्येक के लिए 3-4 विकल्प हैं। यदि आपके पास कुछ भी चपटा हुआ है, तो आपके पास एक बहुत टूटा हुआ सेटअप है, मुझे लगता है कि मुझे आपके इच्छित स्वरूपण मिल रहा है। –

उत्तर

1

आप पंक्ति लपेटना टैब की जांच किया। यदि आप अभिव्यक्तियों/ऐरे प्रारंभकर्ताओं और फ़ंक्शन कॉल/कल्पित ऑब्जेक्ट आवंटन तर्कों के लिए "सभी तत्वों को लपेटें", सभी तत्वों को एक नई पंक्ति पर लपेटें "मुझे लगता है कि आपको कुछ समान मिलेगा

+4

मैं बस इंडेंटेशन को ठीक करना चाहता हूं, लेकिन मेरे लिए लाइनों को कभी विभाजित नहीं करना चाहता हूं। मैं अभी भी एक लाइन सरणी और विधि कॉल करने में सक्षम होना चाहता हूं: नया int [] {1,2,3}; call.method ("एक", "दो"); सरणी प्रारंभकर्ताओं के मामले में, यहां तक ​​कि जब मेरे पास यह मेरे लिए लाइनों को विभाजित करता है, तब भी यह एक नई रेखा पर बंद ब्रेस नहीं डालता है और इंडेंटेशन बनाता है ताकि यह उद्घाटन ब्रेस के साथ लाइन हो, यह इसे अंतिम सरणी के बाद रखता है तत्व। –

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

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