2009-06-23 18 views
19

उदाहरण के लिए, मैं सी ++ कोड में नामस्थानों को इंडेंट नहीं करना चाहता हूं, लेकिन प्रीफैन में इस ग्रैन्युलरिटी का निर्णय लेने के लिए कोई जगह नहीं है। क्या कुछ छिपी हुई कॉन्फ़िगरेशन फ़ाइल या कुछ है? या मैं बस भाग्य से बाहर हूँ?क्या एक्सकोड की इंडेंट शैली को अनुकूलित करना संभव है?

उत्तर

8

ऐप्पल के एक्सकोड दस्तावेज़ में full list of user preferences शामिल है, उनमें से कई जिनमें कोई संबंधित यूआई नहीं है। मैं कुछ भी नहीं देख रहा हूं जो नेमस्पेस-विशिष्ट है, इसलिए मुझे लगता है कि आप भाग्य से बाहर हो सकते हैं।

हालांकि, मैंने सोचा कि अगर मैं उपयोगी हो तो मैं वरीयता सूची के साथ पास करूंगा।

+2

Dude, लिंक टूटी हुई है :( – 8090PZ

4

मैं एक्सकोड के इंडेंटिंग को पूरी तरह से बाईपास करता हूं, और एक उपयोगकर्ता स्क्रिप्ट है जो वर्तमान में प्रदर्शित दस्तावेज़ पर uncrustify पर कॉल करती है।

#!/bin/sh 
#echo -n "%%%{PBXSelection}%%%" 
uncrustify -q -c ~/.uncrustify/sample.cfg -l oc+ 
#echo -n "%%%{PBXSelection}%%%" 

नोट्स:

  • uncrustify अपने पथ में होना चाहिए
  • आप अपने config फ़ाइल का स्थान समायोजित करना पड़ सकता
  • अगर आप Xcode में चयनित नए कोड करना चाहते हैं, दो इको स्टेटमेंट्स को असम्बद्ध करें (इसका उपयोग "प्रारूप प्रारूप" स्क्रिप्ट बनाने के लिए भी किया जा सकता है, "प्रारूप सभी"

स्क्रिप्ट सेटिंग्स:

  • इनपुट: पूरे दस्तावेज
  • निर्देशिका: घर निर्देशिका
  • आउटपुट: बदलें दस्तावेज़ सामग्री
  • त्रुटियाँ: चेतावनी
6

में प्रदर्शन मैं भी ऐसा करने का प्रयास किया इस।

उत्तर यह है कि जो भी एक्सकोड में कोड स्वरूपण करता है वह पूरी तरह से अनजान प्रतीत होता है कि ऐप्पल के अलावा अन्य उद्देश्य कोड या कोडिंग शैलियों के अलावा अन्य भाषाएं हैं।

यहां उन चीजों की एक सूची है जो एक ऐसा करना चाहते हैं जो एक्सकोड में नहीं किया जा सकता है।

  1. इंडेंट सार्वजनिक: या निजी: केवल एक स्थान।
  2. इंडेंट नेमस्पेस शून्य रिक्त स्थान।
  3. उद्घाटन के लिए वैकल्पिक इंडेंटेशन उद्घाटन कोष्ठक के सापेक्ष नहीं।

अंतिम व्यक्ति को थोड़ी सी चर्चा की आवश्यकता है। कभी कभी, एक समारोह या विधि नाम काफी लंबा है, साथ ही अपनी पहली तर्क हो सकता है, तो आप भी चाहते हैं इस तरह इंडेंट करने के लिए सक्षम होने के लिए:

someExcitingClass->AVeryLongMethodNameTraLaLaLaLa(
    someLongExpressionOrVariableNameGoesHere, 
    anotherNameHere); 
बेशक

, आप बनाने के लिए subexpressions निकालने जा करने के लिए चाहते हो सकता है रेखा कम है, लेकिन वास्तविक दुनिया कोड में यह हर समय आता है, और सब कुछ ठीक करने के लिए उप-अभिव्यक्तियों को उचित लाइन लंबाई में फिट करने के लिए परेशान है।

यह एक भयानक शर्म की बात है और मुझे वास्तव में पता नहीं है कि क्या करना है।मैं व्यक्तिगत रूप से emacs में लिखता हूं और केवल बिल्ड सिस्टम के रूप में एक्सकोड में डुबकी लगाता हूं लेकिन :- यह सबके लिए नहीं है।

2

एक और संभावना आर्टिकस्टिक स्टाइल (अस्थिर) का उपयोग करना है। एक ट्यूटोरियल कैसे स्वचालक और सेवाओं का उपयोग XCode में astyle एकीकृत करने के लिए यहां पाया जा सकता: http://eatmyrandom.blogspot.com/2011/03/xcode-astyle-part-2-for-xcode-4x.html और http://youtu.be/d8bbE6_OHGc

4

Xcode के रूप में 4.3.1 कोई कस्टम नाम स्थान मांगपत्र विकल्प उपलब्ध हैं, हालांकि मैं वरीयताएं- लिए> पाठ नेविगेट करके इस जलन से उबरे संपादन-> इंडेंटेशन और अक्षम करना "सिंटेक्स-जागरूक इंडेंटिंग"।

3

चूंकि एक्सकोड इंडेंटर केवल लेक्सर का उपयोग करता है, न कि एएसटी, आप घुंघराले ब्रेसिज़ को परिभाषित करके स्वरूपण को 'मूर्ख' बना सकते हैं।

मेरे पास है:

#define NAMESPACE_OPEN(_name) namespace _name { 
#define NAMESPACE_CLOSE(_name) } 

#define dsmsg_namespace_open NAMESPACE_OPEN(dsmsg) 
#define dsmsg_namespace_close NAMESPACE_CLOSE(dsmsg) 

जैसे कि, एक सामान्य 'NAMESPACE_OPEN/बंद' को परिभाषित है, और एक मेरी सबसे इस्तेमाल किया नाम स्थान 'dsmsg' के लिए विशिष्ट परिभाषित करते हैं। फिर, जब भी मैं नाम स्थान खोलना चाहते हैं, मैं

dsmsg_namespace_open 

... code ... 

dsmsg_namespace_close 

बदसूरत हैक उपयोग करें, लेकिन मैं काफी एक विशिष्ट होने की तरह, 'करीब' नाम

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