2013-10-16 3 views
10

में '// @ फॉर्मेटर: ऑफ' टैग का स्वरूपण जैसा कि आप जानते हैं, ग्रहण आपको स्रोत कोड के कुछ अनुभागों के लिए कोड फ़ॉर्मेटर को अक्षम करने देता है (उदाहरण के लिए this question देखें)।ग्रहण

अब, मेरी समस्या यह है कि फॉर्मेटर स्पष्ट रूप से लाइन की शुरुआत में स्वरूपण कोड रोकता है जहां //@formatter:off टैग मिलता है। इसका नतीजा यह है कि फॉर्मेटर टैग स्वयं (जो अनिवार्य रूप से केवल एक टिप्पणी पंक्ति है) लाइन की शुरुआत में इंडेंटेशन के बिना में एक queer स्थान में रखा गया है।

इस उदाहरण को देखें।

मैं क्या दर्ज:

//@formatter:off 
    Some code { 
    with indentation 
     that I dont want to be formatted. 
    } 
    //@formatter:on 

मारने के बाद [Ctrl + F] यह इस तरह दिखता है:

//@formatter:off 
    Some code { 
    with indentation... 
     that I dont want to be formatted. 
    } 
    //@formatter:on 

ठीक है, मुझे लगता है कि यह विशुद्ध रूप से एक कॉस्मेटिक मुद्दा है, लेकिन मेरे ओसीडी है जब मैं इसे कोड में हर जगह देखता हूं तो मुझे पागल कर देता है। विशेष रूप से कोड के बाद विशेष रूप से स्वरूपण टैग का उपयोग करके कोड को अच्छे बनाने के लिए।

उत्तर

1

ग्रहण का कौन सा संस्करण आप उपयोग कर रहे हैं?

मैंने अभी ग्रहण 4.3.1 में यह कोशिश की, और ऐसा लगता है कि आप ठीक वैसे ही काम करना चाहते हैं। इससे भी बेहतर, यदि आपका कोड आपके दूसरे कोड ब्लॉक में समाप्त होता है, तो फॉर्मेटर वास्तव में इंडेंट करता है कि पहले //@formatter:off सही इंडेंटेशन पर ब्लॉक करें।

शायद आपको ग्रहण के अपने संस्करण को अपग्रेड करना होगा?

+3

बस इस मुद्दे को दोबारा जांच लिया - ऐसा लगता है कि मैंने कुछ अजीब किनारे के मामले पर ठोकर खाई। मैंने पहली बार कोशिश की थी कि _object संदर्भ_ और उसके _method call_ के बीच '// @ formatter: off' टैग पेश करना था। उस विशिष्ट मामले में यह काम नहीं करता है, या उपर्युक्त के रूप में काम करता है। आप सही हैं कि यह (ज्यादातर?) अन्य मामलों में ठीक काम करता है। – fgysin

+0

उत्सुक !! Https://bugs.eclipse.org/bugs/ में एक बग फेंकने लायक हो सकता है। –

+1

@fgysin धन्यवाद, आपकी टिप्पणी ने इसे हल किया। अगर मैं अभिव्यक्ति के भीतर टैग्स को बंद/रखता हूं (मैंने इसे सरणी प्रारंभिक 'नया ऑब्जेक्ट [] {// @ फॉर्मेटर: ऑफ ... // @ फॉर्मेटर: ऑन} पर इस्तेमाल किया;') यह इंडेंटेशन को हटा देता है, अगर आप इसे अभिव्यक्ति के बाहर रखें, यह इंडेंटेशन रखता है। –