2011-02-04 2 views
5

मैं एक प्रोजेक्ट शुरू कर रहा हूं जहां हर कोई कोड संपादित करने के लिए माइक्रोसॉफ्ट विजुअल स्टूडियो का उपयोग कर रहा है। लेकिन मैं एक Emacs उपयोगकर्ता हूँ।एमाक्स हैंडलिंग टैब और व्हाईटस्पेस जैसे कोड को विजुअल स्टूडियो में कोड कैसे संपादित करें?

जब मैं अपने Emacs में उन सी ++ फ़ाइलों को खोलता हूं तो वे विचित्र लगते हैं। उदाहरण: '।'

namespace·ns·{ 
»class·Foo·{ 
»»virtual·function_name(·some_type::const_iterator·start 
»»»»»»»»····,·some_type::const_iterator·end 
»»»»»»»»»,·boost::shared_ptr<some_type>·varname·)·=·0; 
»}; 
} 

जहां मैं यहाँ » के रूप में एक टैब, और के रूप में एक अंतरिक्ष प्रदर्शित करते हैं, अंतर दिखाने।

मैं कोड को पारदर्शी रूप से देखना और संपादित करना चाहता हूं, ताकि यह मेरे Emacs में सही लगे और सहेजा गया ताकि यह विजुअल स्टूडियो उपयोगकर्ताओं के लिए सामान्य लगे।

तो, कैसे मैं Emacs सेट इतना है कि यह, फ़ाइलों की तरह वे दिखाया जा करने वाले थे से पता चलता है जो संभवतः कर सकते हैं:

namespace ns { 
    class Foo { 
    virtual function_name(some_type::const_iterator start 
         , some_type::const_iterator end 
         , boost::shared_ptr<some_type> varname) = 0; 
    }; 
} 

और मैं Emacs बताने के लिए टैब का उपयोग कर यह सहेजना चाहते हैं मूल, अजीब, रास्ता में।

उत्तर

-2

आपको सभी टैब को कोड का चयन करने और M-x untabify का उपयोग करके रिक्त स्थान पर कनवर्ट करना चाहिए। यह प्रत्येक संपादक में कोड की उपस्थिति को बहुत अधिक एकीकृत करेगा।

+3

सच? यह टैब से छुटकारा पा जाएगा, और विजुअल स्टूडियो लोग पागल हो जाएंगे। – Frank

+0

यह पुराने टैब-बनाम-स्पेस युद्ध में जाता है। जबकि मैं सार में आपके साथ सहमत हूं, जहां मैं "टैबिस्ट" काम करता हूं, वे हैं और यह सिद्धांत हमारे कोडिंग मानकों में लिखा गया है। –

4

टैब-चौड़ाई 3 स्थापना हमें देता है:

namespace ns { 
    class Foo { 
    virtual function_name(some_type::const_iterator start 
          , some_type::const_iterator end 
          , boost::shared_ptr<some_type> varname) = 0; 
    }; 
} 

जो आपके प्रकल्पित स्वरूपण के रूप में पास के रूप में हम प्राप्त कर सकते है, लेकिन सटीक नहीं। क्या आपको पता है कि विजुअल स्टूडियो क्या दिखाता है?

आप शायद निम्नलिखित चाहता हूँ:

(add-hook 'c++-mode-hook 'my-c++-mode-hook) 
(defun my-c++-mode-hook() 
    (setq tab-width 3 
     indent-tabs-mode t 
     c-basic-offset 3)) 

उम्मीद है कि कि एक अच्छी शुरुआत है, लेकिन वहाँ अन्य कैसे दृश्य स्टूडियो काम करता है से मेल करने के लिए आवश्यक सेटिंग्स होने के लिए बाध्य कर रहे हैं, इसलिए मैं आपको पढ़ना शुरू सुझाव है Emacs विकी पर:

http://www.emacswiki.org/emacs/IndentingC

+0

धन्यवाद! वह बहुत मेल खाता है। क्या आप जानते हैं कि मैं केवल एक विशिष्ट निर्देशिका से फ़ाइलों के लिए अपना सी ++ हुक सेट कर सकता हूं? क्योंकि मैं केवल उन फ़ाइलों के लिए यह सेटिंग चाहता हूं जिनके बारे में मैंने बात की थी, लेकिन मेरी अपनी फाइलों के लिए नहीं, जो एक अलग निर्देशिका में हैं। – Frank

+0

हां, आप निर्देशिका स्थानीय चर के साथ ऐसा कर सकते हैं। Http://www.emacswiki.org/emacs/DirectoryVariables या http://www.gnu.org/software/emacs/manual/html_node/emacs/Directory-Variables.html देखें – phils

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