2009-04-30 12 views
6

मैं एक emacs उपयोगकर्ता हूं जिसने अभी एक नई कंपनी के लिए काम करना शुरू किया जहां ग्रहण मानक है। मैंने ग्रहण करने की कोशिश की है, लेकिन मैं जेडीईई के साथ भी प्रयोग करना चाहता हूं (मैं लंबे समय के बाद जावा पर वापस आ रहा हूं)। प्रमुख ठोकरें ब्लॉक अब तक इंडेंटेशन प्राप्त कर रहा है। क्या ऐसा करने का कोई आसान तरीका है, या क्या मुझे emacs इंडेंटेशन के पागल और बोल्ट में गहराई से खोदने की आवश्यकता होगी?Emacs पर ग्रहण इंडेंटेशन

संपादित करें: इस प्रश्न में भ्रम के लिए खेद है: मैं ग्रहण की नकल करने के लिए ग्रहण प्राप्त नहीं करना चाहता, मैं चाहता हूं कि इमैक ग्रहण की नकल करें। मैं एक्लिप्स उपयोगकर्ताओं की अपेक्षा की गई इंडेंटेशन को खराब किए बिना कोड को संशोधित करने के लिए emacs का उपयोग करने में सक्षम होना चाहता हूं।

उत्तर

5

आप जावा मोड में खरोज अनुकूलित करने के लिए की जरूरत है: आप भी अपने जावा कोड यहाँ का स्वरूप बदल सकते हैं। here, here और here पर एक नज़र डालें।

+0

हाँ, यह नट्स और बोल्ट्स की तरह मैं ग्रहण इंडेंटेशन (या कम से कम उस शैली की शैली का उपयोग कर रहे हैं) की कुछ विशिष्टताओं के कारण बचने की कोशिश कर रहा था। मैं उम्मीद कर रहा था कि किसी ने पहले ही एक ग्रहण शैली तैयार की है जिसे मैं अभी छोड़ सकता हूं। रेफरी के लिए धन्यवाद। – user98166

+1

ठीक है, अगर आप इसे कभी भी पूरा करते हैं - क्या आप अलिस्ट प्रकाशित कर सकते हैं? यहाँ भी हो सकता है? – Arkadiy

+0

एक अच्छी, सरल शुरुआत के लिए http://stackoverflow.com/questions/5556558/getting-consistent-indentation-in-eclipse-and-emacs देखें। जैसा कि Arkadiy ने कहा, अगर कोई इसे नाखून, कृपया पोस्ट करें! –

1

मैं ईमानदार रहूंगा: मुझे यकीन नहीं है कि ग्रहण इंडेंटेशन मैच Emacs बनाकर आप वास्तव में क्या मतलब है। लेकिन आप यहां इंडेंटेशन को संशोधित कर सकते हैं: Windows->Preferences-General->Editors

'टेक्स्ट एडिटर्स' विकल्प पर क्लिक करें, और आपको टैब चौड़ाई गुण दिखाई देंगे। Windows->Preferences->General->Keys

'योजना' के अंतर्गत, Emacs के लिए एक विकल्प है:

एक और थोड़ा ध्यान दें, ग्रहण Emacs शैली कुंजी बाइंडिंग यह में बनाया गया है।

नोट: Windows->Preferences->Java->Code Style->Formatter

8

ग्रहण (और इंटेलिजे) और Emacs डिफ़ॉल्ट जावा स्वरूपण के बीच पाया गया मुख्य अंतर यह है कि Emacs लाइन अप फ़ंक्शन तर्क पिछले तर्कों के साथ एक नई पंक्ति पर जारी रहे। Emacs करता है:

BigLongJavaStuff.doFoobarToQuux("argument 1", 
           "argument 2"); 

और ग्रहण करता है:

BigLongJavaStuff.doFoobarToQuux("argument 1", 
     "argument 2"); 

निम्नलिखित आप को जोड़ा गया ~/.emacs फ़ाइल कर देगा Emacs जावा-मोड भी ऐसा ही:

;; eclipse-java-style is the same as the "java" style (copied from 
;; cc-styles.el) with the addition of (arglist-cont-nonempty . ++) to 
;; c-offsets-alist to make it more like default Eclipse formatting -- function 
;; arguments starting on a new line are indented by 8 characters 
;; (++ = 2 x normal offset) rather than lined up with the arguments on the 
;; previous line 
(defconst eclipse-java-style 
    '((c-basic-offset . 4) 
    (c-comment-only-line-offset . (0 . 0)) 
    ;; the following preserves Javadoc starter lines 
    (c-offsets-alist . ((inline-open . 0) 
         (topmost-intro-cont . +) 
         (statement-block-intro . +) 
         (knr-argdecl-intro  . 5) 
         (substatement-open  . +) 
         (substatement-label . +) 
         (label     . +) 
         (statement-case-open . +) 
         (statement-cont  . +) 
         (arglist-intro . c-lineup-arglist-intro-after-paren) 
         (arglist-close . c-lineup-arglist) 
         (access-label . 0) 
         (inher-cont  . c-lineup-java-inher) 
         (func-decl-cont . c-lineup-java-throws) 
         (arglist-cont-nonempty . ++) 
         ))) 
    "Eclipse Java Programming Style") 
(c-add-style "ECLIPSE" eclipse-java-style) 
(customize-set-variable 'c-default-style (quote ((java-mode . "eclipse") (awk-mode . "awk") (other . "gnu")))) 
+0

संबंधित पोस्ट http://stackoverflow.com/questions/5556558/getting-consistent-indentation-in-eclipse-and-emacs टैब और रिक्त स्थान के मूलभूत मुद्दे से संबंधित है जो पहले 90% को हल करता है। उपरोक्त पोस्ट उत्तर 10% के एक टुकड़े को संबोधित करने की कोशिश करता है, जो मैं बता सकता हूं। –

+0

मुझे यह बहुत उपयोगी पाया! मुझे जिस व्यवहार को मैं चाहता था उसे पाने के लिए मुझे थोड़ा सा बदलना पड़ा - मैं विधि आमंत्रण के बाद लाइन पर तर्क सूची शुरू करने में सक्षम होना चाहता था। (Arglist-intro। +) (Arglist-cont। +) के बाद जोड़ें (arglist-cont-nonempty। +)। (मैंने ++ से + भी बदल दिया) –

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