2015-08-29 9 views
8

कैसे इंडेंट कर सकता हूं मुझे ग्रहण में कोई सेटिंग नहीं मिल रही है ताकि मैं इसे अपने प्रीप्रोसेसर मैक्रोज़ को कोड को इंडेंट करने के तरीके को स्वचालित रूप से इंडेंट कर सकूं। उदाहरण के लिए ग्रहण इस तरह के कोड को प्रारूपित करने का प्रयास करता है।ग्रहण मैं सी ++ प्रीप्रोसेसर मैक्रोज़

int main() 
{ 
#ifdef SOMETHING 
    cout << "Something Defined" << endl; 
#endif 
    return 0; 
} 

जबकि मैं इसे की तरह लग रहे करना चाहते हैं ...

int main() 
{ 
    #ifdef SOMETHING 
    cout << "Something Defined" << endl; 
    #endif 
    return 0; 
} 

कोई भी विचार करने के लिए ग्रहण यह कर मैं कैसे करना चाहते हैं?

उत्तर

1

ग्रहण इंडेंटेशन सही है। आस-पास के कोड के इंडेंटेशन के बावजूद प्रीप्रोसेसर निर्देश बाएं कॉलम पर होना चाहिए।

+0

कोई उद्देश्य कारण? "यह और अधिक खड़ा है, और मुझे लगता है कि यह खड़ा होना चाहिए।" – WhiteViking

2

प्री-एएनएसआई सी प्रीप्रोसेसर ने लाइन की शुरुआत और "#" चरित्र के बीच की जगह की अनुमति नहीं दी; अग्रणी "#" को हमेशा पहले कॉलम में रखा जाना था।

प्री-एएनएसआई सी कंपाइलर इन दिनों मौजूद नहीं हैं। आप जिस शैली को पसंद करते हैं ("#" से पहले स्थान या "#" और पहचानकर्ता के बीच की जगह का उपयोग करें)।

लेकिन मैं सुझाव है कि आप ऐसा करते हैं: enter image description here

बस का उपयोग का पता लगाएं/संवाद और धक्का "सभी बदलें"

+0

खैर मुझे पता है कि मैं बस सब कुछ ठीक कर सकता हूं लेकिन यह बहुत परेशान है क्योंकि मुझे प्रत्येक पंक्ति के बाद ऐसा करना है क्योंकि जब मैं # टाइप करता हूं तो संपादक स्वचालित रूप से मेरा इंडेंटेशन हटा देता है। मानक देखने के लिए – chasep255

+0

+1। ग्रहण की पागल जटिलता और इसकी सेटिंग्स के कारण यह मुझे भी f *** से परेशान करता है, आपको लगता है कि अगर हम वास्तव में ... –

1

मुझे लगता है कि मैक्रो खरोज के लिए कोई विकल्प नहीं है बदलें। लेकिन मुझे लगता है कि क्लैंगफॉर्मैट में मैक्रो इंडेंटेशन के लिए विकल्प है, इसलिए आप अपने स्वयं के क्लैंग प्रारूप (http://clang.llvm.org/docs/ClangFormatStyleOptions.html) को कस्टमाइज़ कर सकते हैं और डिफ़ॉल्ट के बजाय क्लैंगफॉर्मैट का उपयोग करने के लिए ग्रहण को कॉन्फ़िगर कर सकते हैं।

+1

एक प्लगइन है जो क्लैंग- ग्रहण के लिए वैकल्पिक कोड फॉर्मेटर के रूप में प्रारूपित करें: [सीपीपी स्टाइल] (https://marketplace.eclipse.org/content/cppstyle), [सीपीपी स्टाइल के गीथब रेपो] (https://github.com/wangzw/CppStyle) – 865719

1

प्रीप्रोसेसर को इंडेंट करने के लिए आपको Neatbens का उपयोग करने की आवश्यकता हो सकती है। यह फॉर्मैटर preANSIc की उपेक्षा करता है।

+0

मुझे पता था कि । हालांकि मैं इस मामूली कारण के लिए सिर्फ नेटबीन पर नहीं जा रहा हूं। – chasep255

+0

आप सही हैं, लेकिन मैंने समय सीमा से पहले जमा करने के लिए कम से कम समय छोड़ने के लिए ऐसा किया है, मेरा मानना ​​है कि मैक्रोज़ को इंडेंट करने की कॉन्फ़िगरेशन को पढ़ने के लिए ग्रहण को "मनाने" का एक तरीका है। – Sam

0

दूसरों की तरह पहले से ही संकलक निर्देशों की ओर इशारा करते हैं # मानक अनुरूप होने के लिए पहले कॉलम में प्रारंभ करना होगा। फिर भी उन्हें पीछे की जगह रखने की अनुमति है। तो मेरा पसंदीदा समाधान निम्नानुसार दिखता है और फिर यह ग्रहण मुद्दा नहीं होना चाहिए।

int main() 
{ 
# ifdef SOMETHING 
    cout << "Something Defined" << endl; 
# endif 
} 
संबंधित मुद्दे