2012-12-19 20 views
13

से एक्सकोड रोकना मैं एक्सकोड 4.5.2 के साथ काम कर रहा हूं, और ध्यान दिया है कि यदि आप अनुक्रमण कर रहे हैं, तो आपको सबकुछ बंद करने और इसे नौकरी करने की आवश्यकता है, अन्यथा आप नीचे गिर जाएंगे। यह एक समस्या बन गया है, क्योंकि परियोजना एक बड़ी है, और अनुक्रमण में काफी समय लग रहा है, और यह लगातार इसे करेगा। प्रोजेक्ट पर थोड़ा सा काम करने के बाद, इस परियोजना के लगभग 75% को फिर से अनुक्रमित करना शुरू करने के बाद, एक उदाहरण यह पूरी परियोजना को अनुक्रमित किया गया था। मैंने स्रोत नियंत्रण के साथ जांच की, और इस परियोजना में कोई समय नहीं आया जब मैंने उस पर काम किया था।इंडेक्सिंग

क्या इंडेक्सिंग को पूरी तरह से रोकने के लिए कोई तरीका है, या यह कितनी बार अनुक्रमित करता है? इंडेक्सिंग बंद करने के कोई डाउनसाइड्स हैं? मैंने पिछले प्रश्नों में पढ़ा था जहां कहा गया था कि यह ऑटो-पूर्ण और परियोजना के माध्यम से खोज को रोकता है।

उत्तर

25

बस अनुक्रमण बंद करने के लिए टर्मिनल में इस कमांड चलाएँ:

defaults write com.apple.dt.XCode IDEIndexDisable 1 

यह पुन: चालू करने, इस चलाएँ:

defaults write com.apple.dt.XCode IDEIndexDisable 0 

(नोट: जाहिर है आप में इस कुंजी को हटाने की आवश्यकता परिवर्तन को प्रभावित करने के लिए आदेश, हालांकि, मैंने उपर्युक्त आदेश का उपयोग किया और यह ठीक काम किया। इसलिए यदि उपर्युक्त काम नहीं करता है, तो कुंजी को हटाने का प्रयास करें)

EDIT

क्षमा करें, प्रश्न का मिस्ड हिस्सा। हां, यह ऐसा कर देगा ताकि खोज तेजी से काम न करे। शायद ऑटो-पूर्ण अक्षम हो जाएगा। इंडेक्सिंग वह है जो एक्सकोड को आपके द्वारा किए गए कार्यों को तुरंत याद रखने की अनुमति देती है। इसे बंद करने से काम करने में थोड़ा मुश्किल हो जाएगा, लेकिन यह लोडिंग समय में सुधार करता है।

+0

आप वास्तव में पुन: सक्षम अनुक्रमण के लिए महत्वपूर्ण नष्ट करने के लिए है, http://stackoverflow.com/questions/7328041/how-to- देखना सक्षम-अनुक्रमण-इन-एक्सकोड -4 –

+0

@StephanTolksdorf, हम्म, मैंने उपर्युक्त आदेश का उपयोग किया और यह ठीक ठीक हो गया। लेकिन मैंने बस अपना जवाब अपडेट किया। धन्यवाद! – Josiah

+9

यह मेरे लिए एक्सकोड 5.1 में काम नहीं करता प्रतीत होता है। –

2

यदि आप एक बड़ी परियोजना पर काम कर रहे हैं और सेमीकैम के साथ xcodeproj उत्पन्न करते हैं, तो आप इसमें बड़ी बाइनरी जोड़ते समय समस्याएं प्राप्त करेंगे। यदि cmake एक्सटेंशन को पहचान नहीं पाता है तो यह उन्हें डिफ़ॉल्ट रूप से 'स्रोत कोड' के रूप में टैग करता है!

... और उन बाइनरी को फिर एक्सकोड द्वारा अनुक्रमित किया जाएगा, जिसका अर्थ है कि आपकी मशीन लगातार अनुक्रमणित होती है (और जब भी आप वर्कस्पेस को पुन: उत्पन्न करते हैं तो स्क्रैच से शुरू होते हैं)। इसके अलावा-इन-फाइलें काम नहीं करेंगी (यह बस लटकती है)।

एक आसान समाधान है कि आप अपनी बाइनरी को टैग करें और उन्हें अनदेखा करने के लिए एक्सकोड बताएं। इस तरह (3.2 और उच्चतर CMake, अन्यथा XCODE_EXPLICIT_FILE_TYPE समर्थित नहीं है):

# fill cmake-variable with some files 
file(GLOB MYGAME_BINARIES RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "binaries/*") 
# tag them as "not-sourcecode" (maybe there is sth better than 'compiled', but it worked for my purpose) 
set_source_files_properties(${MYGAME_BINARIES} PROPERTIES XCODE_EXPLICIT_FILE_TYPE "compiled") 
संबंधित मुद्दे