2008-09-14 12 views
30

विशेष रूप से, वहां सबसे अच्छा स्निपेट पैकेज क्या है?Emacs के लिए सबसे अच्छी कोड टेम्पलेट सुविधा क्या है?

विशेषताएं:

  • नए के टुकड़े (सादा पाठ, चूक के साथ कस्टम इनपुट) स्निपेट में पूर्वनिर्धारित स्थितियों के बीच
  • आसान नेविगेशन परिभाषित करने के लिए आसान
  • ही कस्टम इनपुट के कई प्रविष्टि
  • वर्तमान में चयनित इनपुट को कस्टम इनपुट
  • क्रॉस-प्लेटफ़ॉर्म (विंडोज़, लिनक्स)
  • के रूप में स्वीकार किया गया टेक्स्ट स्वीकार करता है
  • गतिशील रूप से मूल्यांकन भाव (एम्बेडेड कोड) एक संक्षिप्त प्रोग्रामिंग भाषा में लिखा (पर्ल, पायथन, रूबी पसंद किया जाता है)
  • अच्छी तरह से दूसरों के पैकेज के साथ Emacs में

उदाहरण कोड टेम्पलेट की, में coexists एक सरल for पाश सी:

for (int i = 0; i < %N%; ++i) { 
    _ 
} 

यह इस तरह के सामान्य कोड के लिए बहुत अधिक टाइपिंग है। मैं एक कोड टेम्पलेट या स्निपेट का आह्वान करना चाहता हूं जो को मेरे लिए बॉयलरप्लेट कोड सम्मिलित करता है। इसके अतिरिक्त यह %N% पर (टैब या अन्य कीस्ट्रोक पर) बंद हो जाता है (मेरा इनपुट इसे बदल देता है) और कर्सर की अंतिम स्थिति _ है।

उत्तर

23

TextMate's snippets सबसे निकटतम मैच है लेकिन यह एक क्रॉस-प्लेटफ़ॉर्म समाधान नहीं है, न कि Emacs के लिए।

दूसरी सबसे नज़दीकी बात yasnippet (screencast मुख्य क्षमताओं को दिखाती है)। लेकिन यह मेरे सेटअप में hippie-expand पैकेज में हस्तक्षेप करता है और एम्बेडेड भाषा EmacsLisp है जिसे मैं .emacs के बाहर आरामदायक नहीं हूं।

संपादित करें: yasnippet पर वोटिंग की अनुमति देने के लिए यहां मेरा उत्तर पोस्ट किया गया।

3

EmacsWiki एक page of template engines है।

इनमें से, मैंने tempo को (दूरस्थ) अतीत में html-helper-mode पर तालिका समर्थन जोड़ने के लिए उपयोग किया है, लेकिन यह नहीं पता कि पिछले 15 वर्षों में यह कैसे प्रगति हुई है। , सेट -

3

मैं tempo snippets के लिए अपने वोट जोड़ना होगा ... सेटअप करने के लिए आसान, शक्तिशाली (& कक्षाएं,, आदि ताकि आप चीजों को downcase कर सकते हैं, देखने फ़ाइल नाम चीजों को गिनने आप अपने टेम्पलेट में मनमाने ढंग से elisp चला सकते हैं) खरोज, abbrevs के साथ एकीकृत ... मैं इसे एक बहुत का उपयोग करें;)

2

मैं के लिए http://cedet.sourceforge.net/srecode.shtml

वोट यह बहुत साफ वाक्य रचना है और Semantic के माध्यम से कोड पर्यावरण के लिए पहुँच नहीं है।

यह भी बड़े पैमाने पर समर्थित CEDET वितरण (जो 24.x संस्करण श्रृंखला के लिए Emacs में बनाया गया था) का एक हिस्सा है।

अद्यतनhttps://github.com/capitaomorte/yasnippet भी शक्तिशाली टेम्पलेट इंजन है। लेकिन यह बदसूरत फ़ाइल नामकरण स्कीमा (आपकी फ़ाइल का नाम === टेम्पलेट नाम) का उपयोग करता है क्योंकि आप कई टेम्पलेट्स को एकल फ़ाइल में नहीं डाल सकते हैं और राष्ट्रीय चरित्र सेट के साथ समस्याएं हैं ...

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