क्या IntelliJ IDEA में मल्टीलाइन टूडू का उपयोग करना संभव है?


90

यदि हाँ, तो कैसे?

यदि नहीं, तो क्या समान कार्यक्षमता प्राप्त करने के लिए कोई समाधान है?

संपादित करें:

मेरा मतलब कुछ इस तरह है:

// TODO line1
// line2
// line3

और लाइन 1, लाइन 2, लाइन 3 उसी के हैं TODOऔर नीले रंग के साथ हाइलाइट किए गए हैं।


जवाबों:


53

नहीं, अभी के लिए नहीं।

इस विशेषता पर चर्चा की गई है , लेकिन अभी तक इसे लागू नहीं किया गया है।

संपादित करें / अपडेट:

यह 2018.3 संस्करण में लागू किया गया है।


12
कृपया उस लिंक का अनुसरण करने के लिए कुछ समय लें और इस टिकट को प्राथमिकता प्राप्त करने के लिए मुद्दे पर वोट करें। दाईं ओर "मतदाताओं" के बगल में एक अंगूठे का चिह्न है।
adamdport

2
यह अब IDEA 2018.3 में लागू किया गया है, वर्तमान में EAP में। blog.jetbrains.com/idea/2018/09/…
डेविड

और अब एंड्रॉइड स्टूडियो 3.4 रिलीज के साथ एंड्रॉइड के लिए उपलब्ध है क्योंकि यह आईडिया 2018.3 पर आधारित है
shaktiman_droid

54

यह 2018.3 के बाद से समर्थित है

मल्टीलाइन TODO टिप्पणियां

मल्टीलाइन TODO टिप्पणियां

IntelliJ IDEA 2018.3 अब मल्टीलाइन TODO टिप्पणियों का समर्थन करता है , अब पहले और सभी बाद में TODO टिप्पणी लाइनों को संपादक में हाइलाइट किया गया है और TODO टूल विंडो में सूचीबद्ध किया गया है । बस अपनी मल्टीलाइन TODO टिप्पणी की दूसरी पंक्ति से शुरू होने वाले इंडेंट को जोड़ें, और IDE इसे एक सामान्य टिप्पणी से अलग करेगा।


धन्यवाद! बहुत उपयोगी। एकमात्र समस्या यह है कि जब मैं अपनी फाइल को प्रारूपित करने के लिए Ctrl-Alt-L पर क्लिक करता हूं तो इंडेंटेशन हटा दिया जाता है। किसी भी विचार यह कैसे को रोकने के लिए?
15

27

मेरी सेटिंग में मैं मल्टीलाइन TODO के लिए इस तरह के रेगेक्स का उपयोग कर रहा हूं:

\/(\/|\*)[ ]*\btodo\b(.|\n)*(\*\/|)

एकमात्र समस्या यह है कि यह बहु * टिप्पणी के अंतिम * / प्रतीकों को उजागर नहीं करता है। अगर कोई इसे हल कर सकता है, तो यह बहुत अच्छा होगा!


1
कम से कम Android स्टूडियो के लिए इसके साथ दो संभावित बग (या मेरी ओर से संभावित त्रुटियां) मिले। एक, किसी कारण से, यह मेरी रेपो इंडेक्सिंग को मेरी परियोजना में एकल वर्ग के लिए फेंक देता है। हर बार भी वही क्लास। TODO सूची से इसे हटा दें और इसे उचित रूप से फिर से जोड़ा जाए। दूसरा, यह IDE लोड होने पर एक StackOverflow समस्या बनाता है, लेकिन IDE चेतावनी या बल को बंद या कुछ भी पोस्ट नहीं करता है, इसलिए मुझे गंभीरता का यकीन नहीं है। मैं इसे देखता रहूंगा, लेकिन अगर कोई और इसमें चला जाए तो यह ध्यान देने योग्य है। यह कहा जा रहा है, यह ऐसा प्रतीत होता है जैसा कि इसके बाहर होना चाहिए।
zgc7009

हाय zgc7009! क्या आप कृपया अपनी TODO टिप्पणी यहाँ पोस्ट कर सकते हैं? अधिक लोग इसे देखते हैं - तेजी से हमें समस्या मिल जाएगी :-)
नॉनगेट

5

क्या आपका यह मतलब है? का उपयोग कर-कार्य करने की सूचियों

/**
 * todo multi-line
 *  
 */

2
जवाब के लिए धन्यवाद। यह अच्छा होगा यदि ब्लॉक में सभी लाइनें टूडू की हैं और नीले रंग के साथ हाइलाइट की जाएंगी। लेकिन यह सबसे करीबी चीज है जो फिलहाल हमारे पास है।
जेदेदुस


3

नॉनगेट के उत्तर पर निर्माण:

सेटिंग पर जाएं, TODO सेटिंग खोजें, और मौजूदा टूडू प्रविष्टि " \ btodo \ b। * " के साथ बदलें।

(\btodo\b.*)|(\/\*(\*(?!\/)|[^*])*\btodo\b(\*(?!\/)|[^*])*\*\/)

परिणाम:

यहां छवि विवरण दर्ज करें

हाइलाइट बंद करने के लिए आपको * / का उपयोग करना चाहिए।

यह 2 पैटर्न का उपयोग करता है:

  1. (\ btodo \ b। ) टूडू शब्द के साथ किसी भी रेखा को पकड़ता है
  2. (/ \ * (\ * (/) |?! [^ *]) * \ btodo \ बी (\ * (/) |?! [^ *] * \ * /) कब्जा बहु लाइन टिप्पणियों से शुरू होने के साथ / * और के साथ समाप्त हो रहा है * /

कोई अन्य संयोजन काम नहीं कर सकता है।

नोट: आपको टूडू सूची में प्रदर्शित होने वाले एक ही टूडू आइटम के कई उदाहरणों से बचने के लिए मौजूदा रेगेक्स को बदलना होगा।


बस IntelliJ 2017.1.3 में मैक पर इसका इस्तेमाल किया और इसने बहुत अच्छा काम किया। धन्यवाद!
15

2
वर्तमान एंड्रॉइड स्टूडियो में, @Jeremy ने कहा कि यह काम नहीं करता है ... लेकिन यह TODO परीक्षण से पहले / ** परीक्षण का उपयोग करने के साथ काम करता है * /
कोड किए गए

3
चेतावनी: यह बस इंटेलीज और एंड्रॉइड स्टूडियो को एक अरब टुकड़ों में तोड़ देता है। इसमें RegEx रिकर्सन है जिसे Java विकास में लगभग एक पाप माना जाता है क्योंकि RegEx अभिव्यक्तियों को कैसे संकलित किया जाता है और आप कितनी आसानी से SO का कारण बन सकते हैं (जो वास्तव में इसका कारण बनता है)।
mradzinski

-1

यह रेगेक्स मेरे लिए काम करता है:

(?:(?:todo|TODO)(?:\[[A-Z,a-z]+\-\d+\])?\s(\s*\b.*\b)*)|(?:\/\*\s*(?:todo|TODO)(?:\[[A-Z,a-z]+\-\d+\])?\s(?:(?!\*\/)[\s\S])*\*\/)

यह मूल रूप से निम्नलिखित की तलाश करता है:

  • एक टूडू या TODO कीवर्ड वैकल्पिक रूप से एक टिकट / इश्यू आईडी द्वारा कोष्ठक में और किसी भी श्वेत स्थान वर्ण के बाद वर्णों की राशि द्वारा प्रत्यय दिया गया।
  • एक जावा मल्टी लाइन टिप्पणी के साथ शुरू हो रहा है / * के बाद सफेद स्थान की किसी भी राशि और फिर एकल पंक्ति टूडू विवरण में उल्लिखित शर्तों। यह निम्नलिखित में से किसी एक पंक्ति में एक बार * * मिल जाता है ।

एकल-लाइन उदाहरण:

todo some very important stuff
TODO[SAOY-1376] An urgent bug fix described in the SAOY-1376
// todo some very important stuff
// TODO[SAOY-1376] An urgent bug fix described in the SAOY-1376

बहु-पंक्ति उदाहरण:

/* todo assignee or something
    a very important message
    another thing
*/

/* TODO[SAO-13]
 * a very important message
 * another thing
*/
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.