2011-07-05 13 views
5

क्या सेटिंग्स और आदेशों एक प्रदर्शन करने के लिए Emacs में इस तरह की टिप्पणियां करने की जरूरत है:टिप्पणी ब्लॉक

/** 
    * 
    * something here 
    */ 

धन्यवाद।

उत्तर

4

यह टिप्पणी डालने के लिए अपने स्वयं के आदेश को परिभाषित करने का एक आसान तरीका है। अपने .emacs फाइल करने के लिए इस जोड़ें:

(defun insert-doc-comment() (interactive) 
    (insert "/**\n * Brief description. Long description. \n * @param \n * @return \n * @exception \n * @see \n * @author \n */")) 

तो अपनी पसंद का एक प्रमुख करने के लिए नए आदेश के लिए बाध्य:

:

(define-key global-map [(S-f1)] 'insert-doc-comment) 

अब दबाने Shift-F1 इस तरह एक टिप्पणी ब्लॉक डाल देगा

/** 
* Brief description. Long description. 
* @param 
* @return 
* @exception 
* @see 
* @author 
*/ 
+0

जैसा आपने कहा था। लेकिन Shift + F1 दबाकर, यह '2P' प्रदर्शित करता है। तुम जानते हो क्यों? – ajmartin

+2

शायद आप टर्मिनल पर हैं जो Shift + function कुंजी को नहीं पहचानता है। यह देखने के लिए कि Emacs उन कुंजी को 'एस-एफ 1'' के रूप में पहचानता है या नहीं, 'सी-एच के'' और फिर 'एस-एफ 1' दबाएं। – sanityinc

+0

हां, यह Shift कुंजी को पहचाना नहीं था। कुछ और करने के लिए कुंजी संशोधित। धन्यवाद। – ajmartin

0

आप M-x comment-region और अपने विशेष मोड के लिए अपने दोस्तों को देख रहे हैं।

+0

मैंने कोशिश की, लेकिन यह स्लेश के साथ टिप्पणी करने लगता है। मुझे स्लेश और सितारों के संयोजन की आवश्यकता है (जैसा कि ऊपर दिखाया गया है)। मैं कैसे अनुकूलित कर सकता हूं? – ajmartin

1

आप Emacs के साथ टेम्पलेट्स बना सकते हैं। टेम्पलेट्स फ़ाइल संरचना के लिए कंकाल हैं, और विशिष्ट एक्सटेंशन वाली फ़ाइलों से बंधे जा सकते हैं। उदाहरण के लिए, आप एक जावा टेम्पलेट बना सकते हैं जो आपके द्वारा .java एक्सटेंशन के साथ बनाई गई किसी भी नई फ़ाइल पर लागू होता है, और आप एक सी ++ टेम्पलेट बना सकते हैं जो आपके द्वारा बनाई गई किसी भी फ़ाइल पर लागू होता है .cpp एक्सटेंशन (और .h फ़ाइलों के लिए दूसरा अगर जरुरत हो)।

यह wiki में सी ++ कक्षा टेम्पलेट के साथ शुरू करने में आपकी सहायता के लिए अधिक उदाहरण हैं।

-1

आप काम करने के लिए एक कीबोर्ड मैक्रो परिभाषित कर सकते हैं, और इसे चला सकते हैं। अपनी स्थिति के लिए, शुरुआत /* टाइप करें, फिर C-x ( करें, C-n M-m * और C-x)। पिछली पंक्ति तक C-x e करें जब आप टिप्पणी करना चाहते हैं। आखिरी पंक्ति पर, इसे / के साथ समाप्त करें।

मुझे पता है कि यह बहुत बदसूरत दिखता है, और ऐसा, लेकिन एफडब्ल्यूआईडब्ल्यू, यह मेरे लिए काम करता है। जब मुझे बड़े ब्लॉक पर टिप्पणी करना है, तो मैं इस दृष्टिकोण का उपयोग करता हूं।

0
M-x customize-group RET comment 

"टिप्पणी शैली" चर के "मूल्य मेनू" को देखें।

(तो फिर तुम दोनों "टिप्पणी-dwim" का उपयोग कर सकते हैं या "टिप्पणी या टिप्पणी हटाएं-क्षेत्र" टिप्पणी टॉगल करने के लिए में और चयनित ब्लॉकों में से)

आप भी इस का उपयोग कर सकते है अगर आप वर्तमान पंक्ति चाहते हैं/बाहर में टिप्पणी की अगर कोई क्षेत्र सक्रिय है:

(defun px-toggle-comments() 
    "If region is set, [un]comments it. Otherwise [un]comments current line." 
    (interactive) 
    (if (eq mark-active nil) 
     (progn 
       (beginning-of-line 1) 
       (set-mark (point)) 
       (forward-line) 
       (comment-dwim nil)) 
    (comment-dwim nil)) 
    (deactivate-mark)) 

मैं आमतौर पर मोहम्मद को यह बाँध:

(global-set-key (kbd "M-d") 'px-toggle-comments) 
1

उपयोग yasnippet snipept, यदि आप इसे अभी तक उपयोग नहीं कर रहे हैं, यह कोशिश करते हैं।

आप के टुकड़े में इस रखो/** - मोड/

# -*- mode: snippet -*- 
# name: dock 
# key: /* 
# -- 
/* 
* $1 
*/ 
$0 

या किसी अन्य संस्करण:

# -*- mode: snippet -*- 
# name: docblock 
# key: /** 
# -- 
/** 
* ${1:name} - ${2:short description} 
* @${3:argv1}: $4 
* @${5:argv2}: $6 
* 
* ${7:long description} 
*/ 
$0 

मैं गया मेरे स्निपेट में दोनों दो /, वैसे आप yasnippets-xx/snippets को कॉपी चाहिए ~/.emacs.d/snippets की तरह एक और जगह है, और अपने .emacs में रखते:

(setq yas-snippet-dirs '("~/.emacs.d/snippets")) 

जब भी आप yasnippet को अपडेट करते हैं, yasnippet-xx/snippets लेखक के स्निपेट द्वारा प्रतिस्थापित किए जाएंगे, तो आप अपनी खुद की जरूरतों के लिए ~/.emacs.d/snippets में अपने स्वयं के स्निपेट add/delete/modify कर सकते हैं।

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