2009-12-02 7 views
17

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

हालांकि, मुझे लगता है कि उनमें से कोई भी यह समझने के लिए पर्याप्त बुद्धिमान नहीं है कि सदस्य वर्ग चर/कौन सा वर्ग संबंधित है। उदाहरण के लिए:

class Square; 
... 

Square a; 
... 
a.rotate(); 

rotate() की परिभाषा को खोजने के लिए भी अन्य वर्गों से सदस्य कार्यों को लाएगा, त्रिभुज की तरह का प्रयास कर रहा। मैं विम में g] का उपयोग मिलान टैग की एक सूची लाने के लिए करता हूं और सौभाग्य से ctags प्रत्येक प्रविष्टि के लिए संबंधित कक्षा सूचीबद्ध करता है। हालांकि, जब एक ही सदस्य समारोह के साथ 200 कक्षाएं होती हैं, तो सही टैग का शिकार करने के लिए यह कठिन हो सकता है।

इसके अलावा, अगर मैं एक समारोह परिभाषा पर हूँ:

Square::rotate() 
{ 
    ... 
} 

cscope का उपयोग कर rotate() के लिए सभी कॉल को खोजने के लिए प्रयास कर रहा है त्रिभुज के और अन्य वर्गों के 'घुमाने कार्यों के लिए कॉल को लाता है।

इस वजह से

, मैं अपने आप को दृश्य SlickEdit के लिए हर अब और फिर कूद परिभाषा या एक सदस्य समारोह या सदस्य वेरिएबल का संदर्भ खोजने के लिए लगता है। क्या कोई तरीका है कि मैं इसे पुराने पुराने विम में पूरा कर सकता हूं?

उत्तर

1

मैंने पहले भी cscope तुलना में बेहतर समाधान के लिए देखा है, लेकिन कुछ नहीं मिला। अंत में शायद बुद्धिमानी की कमी की कमी वास्तव में परेशान नहीं है।

समस्या यह है कि बाजार पर कोई शक्तिशाली और खुली इंटेलिजेंस लाइब्रेरी नहीं है। शायद CodeInsight

3

SrcExpl आपको आवश्यक प्लगइन हो सकता है। कोशिश करो।

1

लगता है जैसे यह एक अच्छे उम्मीदवार http://vim.wikia.com/wiki/C%2B%2B_code_completion होगा। जावा में इसी तरह की चीजें करने के साथ मुझे कुछ शुभकामनाएं थीं। पूरी तरह से यह सुनिश्चित नहीं है कि यह आपको वह सब कुछ मिल जाए जो आप करने की कोशिश कर रहे हैं।

1

आप taglist प्लगइन की कोशिश कर सकते हैं, कुछ का विस्तार, हालांकि यह अभी भी करने के लिए निर्मित ctag सहायता के रूप में एक ही समस्या से ग्रस्त है। यह उसी प्रकार काम करता है जो SrcExpl करता है।