2010-08-19 10 views
15

यह Eclipse CDT, .hpp का उपयोग कर एक नया वर्ग बनाते समय/सीपीपी में गार्ड शामिल उत्पन्न स्वत: के नाम पर नाम स्थान जोड़ना संभव (और कैसे) है टेम्पलेट्स?ग्रहण-CDT: उपयोग स्वत: में नाम स्थान उत्पन्न शामिल-गार्ड

मेरे लिए ग्रहण अच्छी तरह से नामस्थान के साथ एक नई कक्षा उत्पन्न करता है, लेकिन इसमें शामिल गार्ड में नामस्थान नहीं है, इसलिए यदि एक ही शीर्षलेख फ़ाइल दो अलग-अलग निर्देशिकाओं में दो बार मौजूद है, तो केवल एक को शामिल किया जा सकता है।

मेरे मामले में नामस्थान का नाम, ग्रहण परियोजना का नाम और स्रोत निर्देशिका का नाम समान है, इसलिए ये गार्ड शामिल करने के लिए उपसर्ग के रूप में विकल्प हो सकते हैं।

+0

अच्छा सवाल - ग्रहण इंडिगो + सीडीटी का उपयोग करके, मैंने प्रीफ़्स -> सी ++ -> कोड स्टाइल -> कोड टेम्पलेट्स -> फ़ाइलें -> सी ++ हैडर फ़ाइल -> डिफ़ॉल्ट सी ++ हैडर टेम्पलेट और नेमस्पेस के लिए कोई चर नहीं है। तो वर्तमान में मुझे लगता है कि इसका कोई जवाब नहीं है (अभी भी) – synthesizerpatel

उत्तर

6

तो सी/सी ++ -> कोड स्टाइल -> कोड टेम्पलेट्स के तहत प्राथमिकता संवाद में आप टेम्पलेट को संशोधित कर सकते हैं जो आपको चाहिए, उदाहरण के लिए यदि आपको गार्ड में नेमस्पेस की आवश्यकता है, तो आप कुछ ऐसा कर सकते हैं ।

${filecomment} 

#ifndef ${namespace_name}_${include_guard_symbol} 
#define ${namespace_name}_${include_guard_symbol} 

${includes} 

${namespace_begin} 

${declarations} 

${namespace_end} 

#endif /* ${namespace_name}_${include_guard_symbol} */` 
+0

मैंने ऐसा किया, लेकिन आप नेमस्पेस को कैसे निर्दिष्ट करते हैं ताकि नेमस्पेस तत्व ठीक से भर जाए? अगर मैं नई -> हैडर फ़ाइल का उपयोग करता हूं, तो कोई नामस्थान प्रविष्टि फ़ील्ड नहीं है। –

+0

हां वास्तव में, यदि आप एक नई कक्षा बनाते हैं तो यह आपके लिए हेडर और सीपीपी फ़ाइल तैयार करेगा (यदि आप निश्चित रूप से नामस्थान दर्ज करते हैं) – Stuart

2

एक छिपा वरीयता तुम वहाँ के बजाय सिर्फ CLASSNAME_H_ में कम से कम फ़ाइल के पथ या एक UUID प्राप्त करने के लिए सेट कर सकते हैं नहीं है। मेरा पूरा उत्तर here देखें।

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