2010-07-19 21 views
6

मैं कुछ समय के लिए एक्लिप्स सीडीटी का उपयोग कर रहा हूं, और मुझे यह पसंद है, लेकिन कुछ कठिन चीजें हैं जिन्हें मैं इसके बारे में ठीक करना चाहता हूं।ग्रहण सीडीटी "नई कक्षा" टेम्पलेट

जब आप कोई नई फ़ाइल बनाते हैं, तो विकल्पों में से एक "नया" -> "कक्षा" होता है। मैं सोच रहा था कि अगर कोई इस "कक्षा" टेम्पलेट के "$ {घोषणाएं}" खंड को संपादित करने का तरीका जानता है।

अधिक विशिष्ट होने के लिए, मैंने "विंडो" -> "प्राथमिकताएं" मेनू देखा है और कुछ भी ढूंढने में असमर्थ रहा है। मैंने "सी/सी ++" -> "कोड स्टाइल" -> "कोड टेम्पलेट्स" और "सी/सी ++" -> "संपादक" -> "टेम्पलेट्स" दोनों को बदल दिया है। केवल दो में से पहला वास्तव में वर्ग निर्माण पर दिखाई देने वाला प्रतीत होता है, और यह मुझे "$ {घोषणाओं}" खंड में बदलने की अनुमति नहीं देता है। क्या किसी को यह पता है कि इसे कैसे बदला जाए?

धन्यवाद, क्रिस

उत्तर

6

वरीयता C/C++ -> Editor -> Templates टेम्पलेट्स जो प्रसंग के माध्यम से मैन्युअल डाला जाता है असिस्ट द्वारा प्रयोग किया जाता है। एक नई फ़ाइल बनाने का प्रयास करें, clas टाइप करें और संदर्भ सहायता के लिए ctrl+space दबाएं। आपको दो सहायक प्रस्ताव मिलना चाहिए: एक कीवर्ड प्रस्ताव और एक टेम्पलेट प्रस्ताव (यदि आप class टाइप करते हैं और ctrl+space दबाते हैं तो बाद वाले को स्वचालित रूप से डिफ़ॉल्ट रूप से ट्रिगर किया जाएगा)।

टेम्पलेट प्रस्ताव के चयन पर, एक वर्ग निकाय टेम्पलेट के अनुसार जेनरेट किया जाएगा जिसे आप इस वरीयता में परिभाषित कर सकते हैं।


C/C++ -> Code Style -> Code Templates के लिए, यह स्वचालित पीढ़ी में उपयोग किया जाता है। जब आप नई कक्षा विज़ार्ड का उपयोग करते हैं, तो Default C++ Source template और Default C++ Header template का उपयोग किया जाता है और $(declarations) वैरिएबल को नए क्लास विज़ार्ड द्वारा जो भी कोड जेनरेट किया जाता है, उसे प्रतिस्थापित किया जाता है।


इसका मतलब यह होगा कि आप संभवतः के साथ न्यू क्लास जादूगर एक नामित वर्ग बनाने और फिर अपने कस्टम द्वारा शीर्षक में डिफ़ॉल्ट वर्ग शरीर की जगह के माध्यम से मैन्युअल संपादक टेम्पलेट्स में से एक ट्रिगर, द्वारा एक कस्टम टेम्पलेट का उपयोग कर सकते हैं टेम्पलेट।

या आप सुझाव देते हैं कि नई कक्षा विज़ार्ड में कोई महत्वपूर्ण फ़ील्ड नहीं है और इसे विस्तारित किया जाना चाहिए?

+0

ये सभी अच्छे विकल्प हैं। यह अच्छा होगा अगर सचमुच $ (घोषणाएं) में विस्तार करने का एक आसान तरीका था, लेकिन यह अच्छी तरह से करेगा। धन्यवाद! –

2

या क्या आप सुझाव देते हैं कि न्यू क्लास विज़ार्ड में कोई महत्वपूर्ण फ़ील्ड नहीं है और इसे विस्तारित किया जाना चाहिए?

हाँ निजी प्रतिलिपि और असाइन ऑपरेटर।

+0

* शब्द * मैं पूरी तरह से सहमत हूं। मुझे यह चुनने के लिए चेकबॉक्स होना पसंद है कि आमतौर पर उपयोग की जाने वाली कक्षा विधियों को स्वत: जेनरेट किया जाना चाहिए या नहीं। – jvriesem

1

ओह! अंत में एक जवाब मिला।

  1. एक्लिप्स सीडीटी (जूनो) में, File -> Preferences पर जाएं।
  2. प्राथमिकता विंडो के बाएं पैनल पर निम्न फलक पर नेविगेट करें: C/C++ -> Code Style -> Code Templates
  3. Code Templates विंडो में, Files -> C++ Header File पर नेविगेट करें।
  4. हेडर फ़ाइल संपादित करें:
  5. ${declarations} लाइन निकालें, और अपनी खुद की सामग्री डालें।

यह न्यू क्लास विज़ार्ड का उत्पादन करने वाली हर चीज़ को खोने का कुछ दुर्भाग्यपूर्ण नुकसान है। यह किसी भी विरासत कक्षाओं या अन्य क्लास विज़ार्ड से चुनने वाली अन्य चीज़ों को अमान्य कर सकता है, लेकिन मैंने जांच नहीं की है।

${filecomment} 

#ifndef ${include_guard_symbol} 
#define ${include_guard_symbol} 

${includes} 

${namespace_begin} 

class ${type_name} 
{ 

public: 

    /* Default Constructor */ 
    ${type_name}(); 

    /* Deconstructor */ 
    virtual ~${type_name}(); 


private: 

    /* Disable the following by default */ 
    ${type_name}(const ${type_name}& other); 
    ${type_name}& operator=(const ${type_name}&); 

}; 

${namespace_end} 
#endif /* ifndef ${include_guard_symbol} */ 

आशा इस मदद करता है:

यहाँ मेरी सी ++ हैडर फ़ाइल टेम्पलेट है!

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