मैं Xcode में "टू डू" टिप्पणियों को कैसे चिह्नित कर सकता हूं?


111

वर्तमान में मैं एक iOS पर आधारित छवि हेरफेर कार्य कर रहा हूं।

संकट:

मैं अलग-अलग मॉड्यूल पर काम कर रहा हूं। इसलिए यदि मुझे भविष्य में किसी मॉड्यूल में कुछ जोड़ने की आवश्यकता है, तो मैं इसे एक टू नोट के रूप में चिह्नित करना चाहता हूं। क्या Xcode में नोट करने के लिए कोई अन्य मैक्रो या समान है?

मैंने कोशिश की:

इसके लिए वर्तमान में मैं #pragmaजैसे उपयोग कर रहा हूं :

#pragma mark -
#pragma mark To do: Add the Image processing methods.

मुझे मिला:

लेकिन यह विधि खंड में सूचीबद्ध है जैसे:

करने के लिए

मुझे वास्तव में क्या चाहिए:

मुद्दा यह है, यह विधियों की सूची के तहत सूचीबद्ध है इसलिए कभी-कभी मैं इसे अनुभाग से निकालना भूल गया, यह भी पूरे स्रोत कोड में इसे खोजना बहुत मुश्किल है। (संपूर्ण सूचियां दिखाने के लिए #pragma परिणाम खोजना)

तकनीकी जानकारी:

मैं Xcode संस्करण 4.6.2 का उपयोग कर रहा हूं।


मैं उस विशेष दृष्टिकोण पर कैसे पहुँच सकता हूँ जहाँ Xcode सभी तरीकों, प्रचार के निशान और TODO एनोटेशन को सूचीबद्ध करता है?
मिशा

@ मिचा: मेरे उत्तर की जाँच करें, यह विधि सूची बार के अंतर्गत है।
मिधुन MP

मैंने आपके उत्तर की जांच की और यह संकेत नहीं दिया कि उस पॉप-अप को कैसे दिखाया जाए। लेकिन मुझे लगता है कि मुझे यह अब मिल गया है: यह उस "नेविगेशन" बार में कोड संपादक के शीर्ष पर है, है ना?
मिशा

Btw: इस परियोजना के सभी TODOs को एक बार में दिखाने का कोई तरीका है?
मिशा

@ मिचा: हाँ यह कोड संपादक के शीर्ष पर है, और मेरी जानकारी में सभी को एक बार में टिप्पणी करने के लिए प्रदर्शित करने का कोई तरीका नहीं है (पूरी परियोजना को खोजने के बजाय)
मिधुन एमपी

जवाबों:


133

मैं समझ गया।

लेखन की तरह टिप्पणी:

// TODO: Do something

तरकीब करेगा।

मुझे कुछ इस तरह मिला:

करने के लिए


इसके अलावा भी बहुत सारे विकल्प हैं :

  1. // FIXME: Midhun

  2. // ???: Midhun

  3. // !!!: Midhun

  4. // MARK: Midhun

16
आप // FIXME: या #warning का भी उपयोग कर सकते हैं। जब आप #warning का उपयोग करते हैं, तो आपको Xcode में एक चेतावनी मिली और आप सीधे उस हिस्से पर जा सकते हैं।
ब्रश51

6
क्या ऐसा नहीं है कि @ Dev2rights ने आपसे एक घंटे पहले पोस्ट किया हो? आप उसके उत्तर को स्वीकार क्यों नहीं करते?
ट्रोजनफॉ

@trojanfoe: हाँ। लेकिन मुझे मेरे लिए अधिक उपयुक्त समाधान मिल गया // MARK: और #warning। इसलिए मैंने इसे स्वीकार नहीं किया
मिधुन एमपी

1
खैर // FIXME, // MARKऔर #warningके रूप में ही नहीं हैं // TODOऔर इतनी है कि आपके प्रश्न का उत्तर नहीं देता है।
ट्रोजनफॉ

1
@Domsou: वर्तमान में सूचीबद्ध लोगों के बजाय कोई अन्य विकल्प उपलब्ध नहीं हैं। अगर मुझे कोई मिला तो मैं अपना जवाब अपडेट करूंगा।
मिधुन एमपी

129
// TODO: the thing todo

क्या आप टूडू कार्यों को कैसे दिखाते हैं।


10
आप // FIX: Everything crashes all the timeअपने कोड के उन हिस्सों को वापस लाना आसान बना सकते हैं जो जंप बार का उपयोग करके समस्याएँ उत्पन्न करते हैं।
मार्टन

यह अजीब तरह से XCode 5.1.1 में टिप्पणी नहीं दिखाता है
loretoparisi

2 और मार्कर जो यहां प्रासंगिक लगते हैं वे हैं #warning और #error i.imgur.com/KVjrVwG.png
Zane

3
Nitpick: के बीच एक रिक्ति रखो //और TODO:। उदाहरण के लिए // TODO: Read this from prefs:। यदि आप स्विफ्ट और ऑब्जेक्टिव सी भाषाओं के दस्तावेज़ीकरण की समीक्षा करते हैं, तो इस स्थान सम्मेलन का लगातार अनुसरण किया जाता है।
जेफरो

43

का उपयोग करते हुए

//TODO: some thing here

काम करता है अगर आप सब करना चाहते हैं ड्रॉप डाउन में todos की सूची को देखने के लिए है

यदि आप घुसपैठ करना चाहते हैं तो आप #warningइसके बजाय निशानों का उपयोग कर सकते हैं :

#warning this will create a compiler warning.

और जब आप ऐप का निर्माण करते हैं तो आपको एक कंपाइलर वार्निंग (एक पीले त्रिकोण, एक कंपाइलर त्रुटि नहीं) मिलेगी जो आपको उन चीजों को याद दिलाने के बारे में है जो आपको करने की ज़रूरत है।


मुझे लगता #warningहै कि सबसे अच्छा समाधान है क्योंकि यह आपको संकलन समय पर चेतावनी देगा। धन्यवाद
डक

36

नीचे दी गई स्क्रिप्ट से आप चेतावनी जैसे सभी आवश्यक टैग देख सकते हैं।

  1. प्रोजेक्ट नेविगेटर में अपनी परियोजना का चयन करें
  2. साइडबार में लक्ष्य खोलें और "चरण बनाएँ" टैब पर जाएं
  3. "+" चिन्ह पर क्लिक करें
  4. "नया रन स्क्रिप्ट बिल्ड चरण" चुनें स्क्रिप्ट जोड़ना
  5. "रन स्क्रिप्ट" स्क्रिप्ट के नीचे स्क्रिप्ट जोड़ें तैयार स्क्रिप्ट :

    KEYWORDS="TODO:|FIXME:|DevTeam:|XXX:"
    find "${SRCROOT}" \( -name "*.h" -or -name "*.m" -or -name "*.swift" \) -print0 | xargs -0 egrep --with-filename --line-number --only-matching "($KEYWORDS).*\$" | perl -p -e "s/($KEYWORDS)/ warning: \$1/"

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

यहां से मूल उत्तर लिया गया था

एक और विकल्प Xcode के लिए XToDo प्लगइन है।


महान समाधान, क्या सभी पॉड फ़ाइलों को बाहर करने का एक तरीका है? मेरे प्रयुक्त एक्सटेंशन में टोडोस ओडर मिक्सम्स के एक जोड़े हैं?
मार्को वेबर

इस पोस्ट में अपने आप से एक समाधान मिला stackoverflow.com/q/37157027/6003494 स्क्रिप्ट है:KEYWORDS="TODO:|FIXME:|\?\?\?:|\!\!\!:" find "." \( -name "*.h" -or -name "*.m" -or -name "*.swift" \) -not -path "./Pods/*" -print0 | xargs -0 egrep --with-filename --line-number --only-matching "($KEYWORDS).*\$" | perl -p -e "s/($KEYWORDS)/ warning: \$1/"
मार्को वेबर

6

आप XToDo प्लगइन का उपयोग कर सकते हैं

https://github.com/trawor/XToDo

लिस्ट विंडो को चालू / बंद करने के लिए ctrl + t का उपयोग करें

लिस्ट विंडो को चालू / बंद करने के लिए ctrl + t का उपयोग करें

टूलबार की छूट

सूची विंडो को चालू / बंद करने के लिए alcatraz उपयोग के साथ आसान स्थापित करें ctrl + t


1
यह सुझाव देने के लिए नीचे स्क्रॉल कर रहा था कि, पूरी तरह से सिफारिश करें।
MANIAK_dobrii

6

मैंने शुरुआत की

// TODO: Implement bubble sort

फिर मैं एक बड़ी परियोजना में शामिल हो गया और कभी-कभी मुझे एक डब्ल्यूआईपी कमिट की तुलना में लंबे समय तक रहने के लिए एक टूडू की जरूरत होती थी और इसलिए अपने साथियों से अपने ताडों को अलग करने के लिए मैंने अपने टूडू को अपने इनिशियल्स के साथ नाम दिया।

// TODO: SM: Implement bubble sort

कभी-कभी मैं अधिक दृश्यता चाहता था इसलिए मैंने कुछ स्थानों पर व्यावहारिक चेतावनी का उपयोग करना शुरू कर दिया।

#warning Implement bubble sort

एक दिन मैंने -Werrorअपने cflags को जोड़कर हार्ड मोड चालू करने का फैसला किया । दुर्भाग्य से यह व्यावहारिक चेतावनी को बेकार कर देता है क्योंकि वे संकलन को रोकते हैं। और इसलिए मैं // TODO:जब तक जेफ नादेउ ने मुझे बताया कि मैं डाल सकता हूं, तब तक मैं वापस उपयोग कर सकता हूं

-Wno-error=#warnings

मेरे cflags में त्रुटियों के रूप में व्यावहारिक चेतावनी का इलाज नहीं करने के लिए। तो अब #warningऔर -Werrorएक दूसरे के साथ रह सकते हैं।


3

मैं ठीक से लिखता हूं // TODO: Blah blah blah

फिर मैं सिर्फ एक COMMAND-SHIFT-F करता हूं और "// TODO" ढूंढता हूं।

फ़ाइल की आउटलाइन ड्रॉप डाउन का उपयोग करना आपको केवल वर्तमान फ़ाइल के लिए TODO दिखाएगा, लेकिन मैं अपनी परियोजना की TODO स्थिति देखना चाहता हूं।

किसी न किसी समाधान, लेकिन यह काम करता है।


2

मैंने अपने उपयोग के लिए मान्यता प्राप्त टोकन को चेतावनी और त्रुटियों में विभाजित किया, सोचा कि मैं इसे यहां साझा करूंगा:

KEYWORDS="STUB:|WARNING:|TODO:|FIXME:|DevTeam:|\?\?\?:" 
find "${SRCROOT}" \( -name "*.h" -or -name "*.m" -or -name "*.swift" \) -not -path "${SRCROOT}/Pods/*" -print0 | xargs -0 egrep --with-filename --line-number --only-matching "($KEYWORDS).*\$" | perl -p -e "s/($KEYWORDS)/1: warning: \$1/"

KEYWORDS="ERROR:|XXX:|\!\!\!:" 
find "${SRCROOT}" \( -name "*.h" -or -name "*.m" -or -name "*.swift" \) -not -path "${SRCROOT}/Pods/*" -print0 | xargs -0 egrep --with-filename --line-number --only-matching "($KEYWORDS).*\$" | perl -p -e "s/($KEYWORDS)/1: error: \$1/"
ERROR_OUTPUT=`find "${SRCROOT}" \( -name "*.h" -or -name "*.m" -or -name "*.swift" \) -not -path "${SRCROOT}/Pods/*" -print0 | xargs -0 egrep --with-filename --line-number --only-matching "($KEYWORDS).*\$" | perl -p -e "s/($KEYWORDS)/1: error: \$1/"`

exit ${#ERROR_OUTPUT}

0

एक और सरल विधि, बॉक्स के बाहर, यदि आप बार लिस्टिंग के तरीकों को अव्यवस्थित नहीं करना चाहते हैं, तो टिप्पणियों के भीतर एक कन्वेंशन का उपयोग //Todo:करना है और जब आप उन्हें एन-मस्से को संबोधित करना चाहते हैं, तो बस फाइंड नेविगेटर का चयन करें, मैच केस और के लिए खोज//Todo:

मैं इसे पसंद करता हूं क्योंकि मुझे स्पगेटी-कोड की तरह दिखने वाले तरीके नहीं पसंद हैं। और हाँ, मेरे पास अक्सर बहुत सारे टोडो हैं:;)


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.