2012-01-29 4 views
32

मैं एक्सकोड 4 को कस्टम फ़ाइल एक्सटेंशन (उदा। * .lx) को सिंटैक्स हाइलाइटिंग और इंडेंटेशन उद्देश्यों के लिए उद्देश्य-सी के रूप में पहचानना चाहता हूं। मैं स्वचालित रूप से ऐसा करने के लिए टूल कैसे प्राप्त करूं?एक्सकोड को सिंटैक्स हाइलाइटिंग के लिए उद्देश्य-सी के रूप में कस्टम फ़ाइल एक्सटेंशन को कैसे पहचानें?

+0

मुझे नहीं पता कि यह अभी तक स्वचालित रूप से कैसे करें, लेकिन आप फ़ाइल इंस्पेक्टर पैनल में फ़ाइल को पहचानने के लिए एक्सकोड को बता सकते हैं। –

उत्तर

8

Xcode में जब आपकी फ़ाइल संपादक में सक्रिय हैं, आप संपादक मेनू में जाने -> सिंटेक्स रंग -> ऑब्जेक्टिव-सी

यह एक फाइल करने के लिए रंग भरने उद्देश्य-सी वाक्य रचना लागू होगी। इसके विस्तार के बावजूद मेरे लिए एक सादे पाठ फ़ाइल के साथ काम किया।

यह स्वत: खरोज के लिए काम करने के लिए लग रहा था भी

+10

जो मैं खोज रहा हूं वह हाइलाइट को स्वचालित रूप से सिंटैक्स करने का एक तरीका है। मैन्युअल रूप से नहीं। – user1175914

+0

यह फ़ाइल के अंदर मेरे लिए स्वचालित वाक्यविन्यास हाइलाइट करता है जिसे मैंने बदल दिया है। या क्या आपका मतलब है 'फ़ाइल प्रकार के लिए डिफ़ॉल्ट' सिंटैक्स हाइलाइटिंग को बदलें ताकि उस प्रकार की किसी भी फ़ाइल में ऐसी हाइलाइटिंग हो? यदि ऐसा है, तो मुझे यह कामकाज मिला है ... हालांकि परीक्षण नहीं किया गया है: http://lists.apple.com/archives/xcode-users/2007/Dec/msg00679.html – pontidm

25

Xcode निर्धारित करता है के आधार पर अपने यूजर इंटरफेस में एक फ़ाइल का प्रतिनिधित्व करने के लिए कैसे फ़ाइल के Uniform Type Identifier। जहां तक ​​मुझे पता है कि मौजूदा यूटीआई में अतिरिक्त फ़ाइल एक्सटेंशन टैग जोड़ना संभव नहीं है, लेकिन आप एक नई यूटीआई घोषित कर सकते हैं जो उस प्रकार के अनुरूप है जिसे आप मानचित्र बनाना चाहते हैं। सिस्टम तब आपके नए यूटीआई के साथ निर्दिष्ट फ़ाइल एक्सटेंशन (एस) को जोड़ देगा और अनुरूपता एक्सकोड के माध्यम से और अन्य सभी यूटीआई-जागरूक एप्लिकेशन फ़ाइलों को मैप किए गए प्रकार के स्रोत कोड के रूप में पहचानेंगे।

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

  1. एक्सकोड में एक नया कोको एप्लिकेशन प्रोजेक्ट बनाएं।
  2. प्रोजेक्ट सेटिंग्स में, एप्लिकेशन लक्ष्य का चयन करें, फिर जानकारी टैब का चयन करें।
  3. एक नया निर्यात किया गया यूटीआई बनाएँ। UTI definition example
  4. पहचानकर्ता फ़ील्ड को उस डोमेन के लिए रिवर्स DNS नोटेशन का उपयोग करके एक अद्वितीय नाम पर सेट करें जिसे आप नियंत्रित करते हैं। उदाहरण के लिए, com.yourdomain.objective-c-source
  5. कॉन्फ़ॉर्म को उस यूटीआई में फ़ील्ड पर सेट करें जिसे आप मैप करना चाहते हैं, जैसे public.objective-c-source। आप system-declared UTIs की सूची ब्राउज़ करके या एक्सकोड की Info.plist में निर्यात किए गए इसे ढूंढ सकते हैं।
  6. विस्तार फ़ील्ड को उन एक्सटेंशन की अल्पविराम से अलग सूची में सेट करें जिन्हें आप नए यूटीआई के साथ जोड़ना चाहते हैं।
  7. वापसी को दबाकर या फोकस को एक अलग क्षेत्र में ले जाकर अंतिम क्षेत्र में परिवर्तन को कम करें।
  8. इसे लॉन्च सेवाओं के साथ पंजीकृत करने के लिए एप्लिकेशन बनाएं और चलाएं।
  9. एक्सकोड पुनरारंभ करें।

एक्सकोड अब निर्दिष्ट एक्सटेंशन (ओं) वाली फ़ाइलों के लिए उचित वाक्यविन्यास हाइलाइटिंग का उपयोग करना चाहिए।

यदि यह काम नहीं करता है, तो यह सुनिश्चित करने के लिए निर्मित एप्लिकेशन की Info.plist जांचें कि सभी अपेक्षित जानकारी बिना किसी पिछली सफेद जगह के हैं। आप यह भी देख सकते हैं कि यूटीआई lsregister का उपयोग कर दर्ज किया गया है:

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -dump 

अपने यूटीआई के पहचानकर्ता के लिए उत्पादन खोजें और सत्यापित करें कि यह वर्तमान और सक्रिय है।

+0

यह काम किया! C++ .ipp फ़ाइलों के लिए, मैंने पहचानकर्ता नाम के रूप में 'public.c-plus-plus-source' का उपयोग किया। –

+0

यह काम करता है! मैंने .ejs फ़ाइल को HTML फूले – kamyFC

+0

+1000 के साथ संबद्ध करने के लिए भी इस्तेमाल किया .leaf वाष्प फ़ाइल एक्सटेंशन के लिए भी मेरे लिए काम करता है। (- public.html के अनुरूप) –

10

Xcode में "इंस्पेक्टर विशेषता" एक "प्रकार" क्षेत्र है अपनी परियोजना में फ़ाइलों के लिए ("उपयोगिताएँ" सही साइडबार में टैब वाम-पंथी):

identity and type settings

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

enter image description here

नोट: फ़ाइल एक समूह (अंदर नहीं एक फ़ोल्डर संदर्भ) के भीतर अपनी परियोजना में जोड़ा जाता है यह केवल काम करता है अगर:

fastlane group

यह आदर्श नहीं हो सकता है, लेकिन Xcode फ़ाइलें जो स्पष्ट रूप से प्रोजेक्ट फाइल में ट्रैक नहीं कर रहे हैं की विशेषताओं जारी रहती है नहीं कर सकते। फ़ोल्डर्स, डिज़ाइन द्वारा, एक्सकोड प्रोजेक्ट में उनकी सामग्री के लिए प्रविष्टियां नहीं हैं, क्योंकि यह गतिशील होने का मतलब है।

+0

धन्यवाद, यह है बिल्कुल मुझे क्या चाहिए – Flar

+0

धन्यवाद ब्रायन, यह वही है जो मुझे चाहिए और स्वीकार्य उत्तर होना चाहिए। –

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

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