2008-09-24 6 views
26

सी, सी ++ और जावा के लिए Emacs में ग्रहण शैली फ़ंक्शन प्राप्तियां कैसे प्राप्त करूं? मैं Emacs पाठ संपादक की शक्ति लेकिन एक "IntelliSense" सुविधा मुझे छोड़ देता है ग्रहण का उपयोग कर की कमी से प्यार है।सी, सी ++ और जावा के लिए Emacs में ग्रहण शैली समारोह पूर्णता?

उत्तर

2

वेब सर्च कर रहे हैं मैं http://www.emacswiki.org/cgi-bin/wiki/EmacsTags#toc7 etags में complete-tab का वर्णन पाते हैं। यह डिफ़ॉल्ट रूप से M-Tab तक बाध्य है। इस बंधन के लिए आप

भी एक समस्या हो सकती, etags कुछ सीमाएं हैं, जो आपको परेशान कर सकते हैं ...

लिंक भी बेहतर प्रतीक पूरा होने समर्थन होने के रूप में CEDET की ओर इशारा करता है।

8

मेरे अलावा कोई और ग्रहण ज्यादा इस्तेमाल नहीं किया के रूप में अपने प्रश्न का उत्तर कर सकते हैं। परंतु! क्या होगा अगर ऐसे सब कुछ आपके द्वारा लिखे गए या अपने Emacs बफर में देखा की एक वास्तव में अच्छा तेज अनुमानी विश्लेषण था, और आप हर जगह सब से अधिक स्मार्ट पूरा होने मिला, न कि केवल कोड में?

 
M-x load-library completion 
M-x global-set-key C-RET complete RET 
18

M-/ अपने वर्तमान बफर की सामग्री पर आधारित एक त्वरित और गंदा स्वत: पूर्ण है। यह आपको ग्रहण में जो कुछ भी मिलता है वह आपको नहीं देगा लेकिन आश्चर्यजनक रूप से शक्तिशाली है।

Java Development Environment for Emacs (JDEE)

JDEE विधि नाम पूरा होने प्रदान करेगा जब आप स्पष्ट रूप से एक jdee प्रदान की समारोह आह्वान:

+1

यह नहीं भूलना कि बाध्यकारी एम-/'हिप्पी-विस्तार' और अधिक पूर्णता संभावनाएं प्रदान करता है। –

7

जब मैं जावा विकास कर रहा था मैं का उपयोग करते थे। यह jdee-mode में इस कार्यक्षमता के लिए एक कीबोर्ड बाध्यकारी है।

6

CEDET पैकेज के लिए पूरा होने प्रदान करता है C/C++ & जावा (और कुछ अन्य भाषाओं के लिए)। प्रारंभिक अनुकूलन के लिए आप my config ले सकते हैं जिसका उपयोग मैं सी ++ परियोजनाओं

3

के साथ काम करने के लिए करता हूं, अभी मैं Emacs के लिए Auto Complete का उपयोग कर रहा हूं। एक मौजूदा विजुअल स्टूडियो और पूर्व ग्रहण उपयोगकर्ता के रूप में, मैं कह सकता हूं कि यह दोनों अनुप्रयोगों को बहुत अच्छी तरह से प्रतिद्वंद्वी बनाता है। यह अभी भी माइक्रोसॉफ्ट के इंटेलिसेन्स सी # के जितना अच्छा नहीं है, लेकिन कुछ लोग कहेंगे कि सी ++ को पार्स करना मुश्किल है।

यह की शक्ति (मेरा मानना ​​है कि) Cedet से Semantic पैकेज का लाभ उठाता है, और मैं इसे जब Smart Complete की तुलना में उपयोग करने के लिए अच्छे महसूस करता है लगता है। यह सी ++ सदस्यों, स्थानीय चर, आदि को पूरा करता है यह बहुत अच्छा है। हालांकि, यह अधिभारित विधियों को पूरा करने में सक्षम नहीं होने पर गिरता है (यह केवल एक पैरामीटर के साथ फ़ंक्शन दिखाता है, लेकिन यह मुझे लगता है कि सीडेट की सीमा है), और अन्य विभिन्न चीजें। हालांकि भविष्य में यह सुधार हो सकता है!

वैसे, मैं गलत यहाँ हो सकता है, लेकिन मैं आपको एक EDE परियोजना काम करने के लिए वर्ग के सदस्य पूरा करने के लिए की स्थापना की जरूरत है (हैं, जैसे आप सिमेंटिक साथ सामान्य रूप से)। मैंने कभी ईडीई प्रोजेक्ट होने के दौरान इसका इस्तेमाल किया है, इसलिए मुझे लगता है कि यह सच है।

0

मैं एक सी ++ में लिखा है - CEDET के शीर्ष पर विशिष्ट पैकेज कि आप क्या चाहते हैं प्रदान कर सकते हैं। यह एक ग्रहण-जैसे फ़ंक्शन तर्क संकेत प्रदान करता है। अधिभारित फ़ंक्शंस फ़ंक्शन तर्क संकेतों के लिए दोनों समर्थित हैं और पूरा होने के लिए। पैकेज यहाँ स्थित है:

https://github.com/abo-abo/function-args

अच्छा स्क्रीनशॉट की जाँच करने के लिए सुनिश्चित करें:

https://raw.github.com/abo-abo/function-args/master/doc/screenshot-1.png

0

auto-complete-clang तुम क्या चाहते है। पूर्णता के लिए वास्तविक C++ कंपाइलर का उपयोग करने में गलत नहीं जा सकता है।

एकमात्र समस्या यह है कि कंपाइलर को पास करने के लिए -I और -D झंडे जानने का कोई तरीका नहीं है। Emacs के लिए पैकेज हैं जो आपको परियोजनाओं की घोषणा करने देते हैं और फिर आप इसका उपयोग कर सकते हैं।

व्यक्तिगत रूप से, मैं सभी सी और सी ++ काम के लिए सीएमके का उपयोग करता हूं इसलिए मैंने निर्देशिका-स्थानीय चर के माध्यम से उस जानकारी को पास करने के लिए कुछ CMake code लिखा था। यह काम करता है, लेकिन मैं एक पैकेज लिखने की सोच रहा हूं जो एममैक्स से सेमेक को कॉल करता है इसलिए कम घुसपैठ है।

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