2012-12-15 31 views
20

मैं ग्रहण फ़ॉर्मेटर के साथ एक समस्या में भाग गया। कक्षा घोषणा के भीतर विधियों की घोषणा करते समय यह मेरे कोड को सही तरीके से प्रारूपित नहीं करेगा। यह विधि के रिटर्न प्रकार के बाद एक नई लाइन रखता है।ग्रहण सी ++ फॉर्मेटर विधि पहचानकर्ताओं से पहले नई लाइन रखता है

मैंने पहले से ही शैली xml फ़ाइल निर्यात की है और इसमें सेटिंग्स की जांच की है, लेकिन किसी भी सेटिंग में इस समस्या का कोई स्पष्ट कनेक्शन नहीं है, और एक्लिप्स में सेटिंग्स संपादक ने इसके नमूना कोड में एक ही समस्या नहीं दिखाई है विधि घोषणाएं

class MyClass 
{ 
    public: 
     MyClass(); 
     void myMethod(); 
}; 

बहरहाल, यह मैं क्या मिलता है:

यहाँ मैं क्या करना चाहते हैं के लिए कोड का एक उदाहरण सा हो है

class MyClass 
{ 
    public: 
     MyClass(); 
     void 
     myMethod(); 
}; 

फिर, शैलियों संपादक में, कोड इस समस्या में कोई समस्या नहीं है और यह दिखता है कि मैं इसे कैसे चाहता हूं, लेकिन वास्तविक कोड में, कहानी अलग है।

मैं संस्करण 3.8.0 का उपयोग कर रहा हूं। किसी भी मदद की सराहना की है।

संपादित करें: मैंने उन स्रोत फ़ाइलों को हटा दिया जिन्हें गलत तरीके से प्रारूपित किया गया था (कोड को कई बार लाभ उठाने के बाद) और उन्हें समान तरीके, समान संरचना आदि के साथ "समान" फ़ाइलों के साथ प्रतिस्थापित किया गया। मैंने इस बार कोड स्वरूपित किया और यह काम किया। यह शायद एक बग है, लेकिन मैं इसे छोड़ रहा हूं अगर किसी और को एक जैसी समस्या का सामना करना पड़ता है या पहले इस समस्या से बचने का समाधान होता है।

उत्तर

18

मैं मुख्य ग्रहण परियोजनाओं निर्देशिका के अंतर्गत

.metadata\.plugins\org.eclipse.core.runtime\.settings 

दो फ़ाइलों दो फ़ाइलों संपादित हाथ:

file 1: org.eclipse.cdt.core.prefs, change this line from "insert" to "do not insert" 
org.eclipse.cdt.core.formatter.insert_new_line_before_identifier_in_function_declaration=do not insert 


file 2: org.eclipse.cdt.ui.prefs, 
scan this file for "insert_new_line_before_identifier_in_function_declaration" and make a similar change from insert to do not insert next to it, should be obvious 

नोट मैं नील और जूनो पर इस समस्या को देखा, ठीक ऊपर वर्णित जूनो में था ।

+2

केप्लर में एक ही समस्या, इस तकनीक के साथ हल। यह प्राथमिकता मेनू में क्यों नहीं है? – belial

+2

प्राथमिकता मेनू में यह क्यों नहीं है, डिफ़ॉल्ट (कोई अच्छा कारण नहीं है) भयानक है। – dashesy

+0

यह अभी भी लुना में मौजूद है। उपरोक्त संशोधन मुद्दे को हल करते हैं। यह ग्रहण के भीतर एक सेटिंग होना चाहिए। – eluong

6

यदि आपके पास कस्टम फॉर्मेटर कॉन्फ़िगरेशन है, तो इसे पहले निर्यात करें (सेटिंग्स> सी/सी ++ सामान्य> फ़ॉर्मेटर> संपादन> निर्यात)। फिर निम्न पंक्ति को "सम्मिलित न करें" में बदलें। एक्सएमएल सहेजें।

<setting id="org.eclipse.cdt.core.formatter.insert_new_line_before_identifier_in_function_declaration" value="do not insert"/> 

वर्तमान कॉन्फ़िगरेशन हटाएं और आपके द्वारा बदला गया आयात करें।

+0

क्या आप व्याख्या कर सकते हैं कि ग्रहण UI के माध्यम से इसे कैसे बदला जाए? – einpoklum