बेस्ट सी ++ इंडेक्सर?


11

मैंने हाल ही में ग्रहण सीडीटी से स्पेसमैक्स पर अपने विकास के वातावरण के रूप में सी ++ परत के साथ स्विच किया है।

अब तक ... कमाल! हालांकि, ग्रहण के बारे में मुझे याद आने वाली चीजों में से एक इसकी अनुक्रमणिका है

फिलहाल मैं जीईयू ग्लोबल का उपयोग जीईडीजीएस लेयर के साथ कर रहा हूं । Gtags के साथ समस्या यह है कि यह एक टैगिंग प्रणाली है, न कि अनुक्रमणिका।

उदाहरण:

setकक्षा में बुलाए गए किसी फ़ंक्शन के संदर्भों की खोज करना Fieldमेरे कोडबेस में 165 संदर्भ देता है, जिनमें से केवल एक वास्तव में संदर्भ हैField::set

setसीडीटी में संदर्भ के लिए खोज 1 परिणाम देता है।

क्या कोई बेहतर अनुक्रमण समाधान है जो मैं ईमेक में उपयोग कर सकता हूं?

ऑनलाइन खोज करने पर मुझे यह पृष्ठ मिला जहां 3 क्लैंग आधारित सूचकांक सूचीबद्ध हैं।

प्रशन:

  • क्या इनमें से कोई भी एक बेहतर अनुक्रमण अनुभव प्रदान करेगा?
  • कोई सुझाव जिस पर उपयोग करना है?
  • क्या कोई बेहतर विकल्प सूचीबद्ध नहीं है?

ध्यान दें:

मैं भी clang-completeकोड पूरा करने के लिए उपयोग कर रहा हूँ , लेकिन यह बहुत धीमी है पाया है । असामान्य रूप से धीमा। ( मैं यह अनुभव करने वाला एकमात्र व्यक्ति नहीं हूं ) यदि कोई भी अनुक्रमण समाधान एक ही समस्या से ग्रस्त है, तो यह काम नहीं करेगा।


ऐसा नहीं है कि मैं C ++ प्रोजेक्ट्स के साथ काम कर रहा हूं, लेकिन शायद आप C ++ सेक्शन के तहत emacs.zeef.com पर सहायक सामग्री पा सकते हैं?
रेनेफ्रॉगर

मैंने देखा है कि clang-indexerहाल ही में कोई विकास नहीं हुआ है, और लेखक खुद कहते हैं कि यह "मोटा" है - इसलिए मैं कोशिश नहीं करूंगा कि दो अन्य पर
स्टीव लोरिमर

rtagsलगता है 3 सूचीबद्ध सबसे लोकप्रिय
स्टीव लोरिमर

1
कड़े शब्दों में, इस सवाल का Emacs से कोई लेना-देना नहीं है?
पायथनटन

1
जैसा कि वर्तमान में, यह प्रश्न बहुत ही व्यक्तिपरक है और मुख्य रूप से राय-आधारित उत्तर देने की संभावना है। कृपया प्रश्न को अधिक ठोस बनाने के लिए अपनी पोस्ट को संपादित करें।
दान Dan

जवाबों:


4

मैं केवल rtags के लिए बता सकता हूं कि मैं पिछले 1-2 वर्षों से सक्रिय रूप से उपयोग कर रहा हूं।

rtags अपेक्षा के अनुरूप काम करता है। यह संकलक आधारित है और सही कोड नेविगेशन प्रदान करता है। कुछ मैं पिछले 10 वर्षों से एक emacs उपयोगकर्ता के रूप में देख रहा हूं।

सेटअप थोड़ा मुश्किल हो सकता है। मैं cmake-ide पर एक नज़र डालने की सलाह देता हूं, जो सेटअप का हिस्सा स्वचालित रूप से करता है। https://github.com/atilaneves/cmake-ide

यह ब्लॉग पोस्ट https://vxlabs.com/2016/04/11/step-by-step-guide-to-c-navigation-and-completion-with-emacs-and-the-clang-based पर मदद कर सकता है। rtags /

आप मेरे स्वयं के विन्यास पर एक नज़र डाल सकते हैं (या उपयोग कर सकते हैं): https://github.com/jardon-u/dotfiles/blob/master/emacs.d/development/c/_init.el मैं cmake के संयोजन का उपयोग करता हूं- ide (प्रोजेक्ट डिस्कवरी), विडंबना (कोड पूरा करने के लिए) और rtags (कोड नेविगेशन के लिए)। मुझे पूरा यकीन है कि इसे सरल बनाया जा सकता है क्योंकि प्रत्येक मोड के बीच कुछ कार्यक्षमताएं ओवरलैप होती हैं, लेकिन परिणाम उस स्तर पर होता है जिसकी मैं एक आधुनिक आईडीई से उम्मीद कर रहा हूं।

rtags भी कोड रीफैक्टरिंग सुविधाएं प्रदान करता है, लेकिन यह काफी सीमित है (ज्यादातर नामकरण)


1
इस जवाब को स्वीकार किए हुए दो साल हो चुके हैं, क्या आप अब भी आरटैग्स का इस्तेमाल कर रहे हैं? मुझे उत्सुकता है अगर सेटअप पर प्रलेखन बदल गया या आसान सेटअप शुरू हो गया। उस पर कोई जानकारी? क्या आप अपना सेटअप / कॉन्फ़िग फ़ाइल साझा कर सकते हैं?
19

@A_P किसी कारण से मैं अब केवल आपकी टिप्पणी देख रहा हूं। मैं अभी भी rtags का उपयोग कर रहा हूं। आपको फिर से cmake-ide पेज + my config (मेरे उत्तर में लिंक) की जांच करनी चाहिए। मैंने अधिकांश इंस्टॉल को स्वचालित भी किया है। जाँच करें: github.com/jardon-u/dotfiles/blob/master/install.sh (हालांकि एमएसीएस संस्करण नवीनतम नहीं हो सकता है। मैं इसे अपडेट करने की कोशिश करूंगा)
log0
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.