2010-05-13 8 views
6

मैं एक कॉलम में सभी सी ++ वर्ग सदस्य नाम (सदस्य प्रकारों से भ्रमित न करें) को संरेखित करना चाहता हूं।Emacs में एक कॉलम में C++ क्लास सदस्य नामों को कैसे संरेखित करें?

क्या हम द्वार पर है उदाहरण देखते चलें:

class Foo 
{ 
public: 
    void method1(); 
    int     method2(); 
    const Bar *  method3() const; 
protected: 
    float m_member; 
}; 

और इस हम अंत में करना चाहते हैं क्या है:

class Foo 
{ 
public: 
    void   method1(); 
    int   method2(); 
    const Bar * method3() const; 
protected: 
    float   m_member; 
}; 

तो सबसे लंबे समय तक सदस्य प्रकार घोषणा परिभाषित करता है कॉलम सदस्य नाम किस कॉलम को गठबंधन किया जाएगा। मैं emacs में ऐसे परिवर्तन कैसे कर सकता हूं?

+0

प्रभाव को प्राप्त करने के लिए आप कुछ अजीब चीजों के साथ 'align-regexp' का उपयोग कर सकते हैं लेकिन मैं नील से सहमत हूं। –

+0

क्या होता है जब आपकी टीम पर जिमी एक नई विधि जोड़ती है जो 'const Thingummyjiggle *' देता है? क्या वह आपकी हेडर फ़ाइल में हर दूसरी पंक्ति को संपादित करना चाहिए? – Johnsyweb

+1

नील: किसी की प्राथमिकताओं के बारे में चर्चा करना मुश्किल है :) मैं व्यक्तिगत रूप से सोचता हूं कि कक्षा मेमबर स्वरूपण का यह रूप अच्छा और सुरुचिपूर्ण है। यह आपकी आंख की मांसपेशियों को बहुत ज्यादा तनाव के बिना सदस्य विधियों को तेज़ी से पढ़ने में भी मदद करता है। – KotBerbelot

उत्तर

6

विधि घोषणाओं के साथ क्षेत्र का चयन करें

M-x align-regexp 

स्ट्रिंग [^ ]+\((\|;\) दर्ज करें और Enter दबाएं

संपादित मिलान, जो सदस्य चर के रूप में अच्छी तरह से संरेखित करता है में ; जोड़ने के लिए।

+0

मैंने अर्धविराम जोड़ा जो सदस्य चर को संरेखित करता है। –

+0

और @Tray, आपका विलय समाधान पोस्ट की गई समस्या हल करता है। आप दोनों को धन्यवाद :) – KotBerbelot

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