2009-11-28 13 views
19

मैं सी ++ प्रोग्राम इंडेंट करने के लिए "इंडेंट" प्रोग्राम का उपयोग करने की कोशिश कर रहा हूं। लेकिन यह ठीक काम नहीं लग रहा है। यह इंडेंटेशन को और अधिक गड़बड़ कर रहा है।क्या सी ++ प्रोग्रामों को इंडेंट करने के लिए उपयोगिता है

यह एक क्लास फ़ाइल है। क्या आप कृपया इसके लिए सही विकल्प सुझा सकते हैं या कोई अन्य प्रोग्राम जो काम करता है?

धन्यवाद

+0

हो सकता है कि आप यह उदाहरण दे सकें कि यह क्या कर रहा है जिसे आप पसंद नहीं करते हैं - और अधिक महत्वपूर्ण बात यह है कि आप इसे कैसे व्यवहार करना चाहते हैं। –

उत्तर

18

प्रयास करें Artistic Style:

कलात्मक शैली एक स्रोत कोड indenter, फ़ॉर्मेटर, और सी, सी ++, C# और जावा प्रोग्रामिंग भाषाओं के लिए सजाने वाला है।

+1

यह काम नहीं करता है। यह केवल माइक्रोसॉफ्ट के लिए है। – tchrist

+7

नहीं यह नहीं है: "विंडोज पैकेज में एक संकलित बाइनरी है। अन्य प्लेटफार्मों को स्रोत कोड को संकलित करने की आवश्यकता होगी। मेकफ़ाइल सबसे लोकप्रिय कंपाइलर्स के लिए शामिल हैं" –

11
दृश्य स्टूडियो में

, CTRL + एक, CTRL + कश्मीर, CTRL + होगा ऑटो मांगपत्र पूरी फ़ाइल आप काम कर रहे

5

विम और एमाक्स जैसे कई संपादकों में एक सुविधा है जो इसके अनुसार कोड को पुन: प्रस्तुत करती है अंतर्निहित इंडेंटेशन मानक।

विम में, आप किसी भी गति के साथ = टाइप कर सकते हैं। (जैसा =% किसी भी ब्लॉक सीमांकक या एस वी पर एक क्षेत्र का चयन करने के लिए और फिर = पुन: प्रारूपित करना।) GQ आदेश टिप्पणियां और अन्य पाठ पुन: फ़ॉर्मेट करने के लिए इस्तेमाल किया जा सकता है।

Emacs में, आप एम-एक्सindent-region किसी क्षेत्र का चयन करने के बाद टाइप कर सकते हैं। (जैसे एम < और एम>।) के साथ तुम भी एम एक्सfill-paragraph के साथ टिप्पणी स्वरूपित कर सकती है।

+2

emacs: एस्केप-एक्स इंडेंट-सेक्टर। (पहले क्षेत्र का चयन करें।) –

+1

और मौजूदा बफर की संपूर्णता का चयन करने के लिए 'एम -< C-space M->' का उपयोग करें ... – dmckee

+0

Emacs "जटिल इंडेंटेशन" नहीं कह सकता है, यानी ब्रेसिज़ को लटकाने के लिए, या इसके विपरीत। [यह विकी है] (http://www.emacswiki.org/emacs/IndentingC) बाहरी उपकरणों का उपयोग करने की सलाह देता है। –

2

bcpp, किसी भी लिनक्स डिस्ट्रो (और शायद मिंगव/साइगविन के लिए, लेकिन मैंने इसे चेक नहीं किया है) में उपलब्ध है, एक सी ++ इंडेंटर और ब्यूटीफायर है। आप पैरामीट्रिज़ कर सकते हैं कि यह कोड के साथ कैसे काम करता है।

1

विजुअल स्टूडियो 2008 में एक अन्य लघु कुंजी:

Ctrl + A, Alt + F8

+0

क्यूटी कोड के साथ अच्छी तरह से काम नहीं करता है। हेडर फाइलों में प्रत्येक सिग्नल में, स्लॉट मैक्रो एक स्तर अधिक इंडेंट किया जाता है। अन इंडेंटेशन केवल तभी किया जाता है जब अगले सार्वजनिक/निजी/संरक्षित ओकर्स। –

3

इस ओपी और अन्य पोस्टर के जवाब में है: मैं Windows के तहत काम करते हैं और था एक इंडेंट की तलाश में भी। मैंने यही सीखा:

मैंने बीसीपीपी की कोशिश की। ऐसा लगता है कि यह काफी पुराना है (1 99 6 से कम या कम) और आपको विंडोज एक्सई ढूंढना होगा। मुझे यहां एक मिला: http://www.zeusedit.com/zforum/viewtopic.php?t=1067। फिर भी मुझे लगता है कि यह वास्तव में परेशान नहीं है, क्योंकि यह केवल स्थान/टैब, इंडेंटेशन स्तर और ब्रेस रूपांतरण कर सकता है।

फिर कलात्मक शैली है, जो नया और स्रोतforge है। यह काफी सक्षम प्रतीत हो रहा है, लेकिन ऐसा नहीं, उदाहरण के लिए, समारोह के नाम और पैरामीटर (जैसे के साथ स्पेस पुन: फ़ॉर्मेट, if (a(b)) में if (a (b)) बदल सकते हैं।

मुझे पसंद Cygwin मांगपत्र (http://www.cygwin.com/) सबसे अच्छा है, लेकिन यह केवल अच्छी तरह से काम करता है न्यूलाइन से अलग फाइलों पर, इसलिए आपको इसे "dos2unix < infile | indent ..." जैसा उपयोग करना होगा। लेकिन इंडेंट बॉक्सिंग टिप्पणियों को दोबारा सुधार नहीं करेगा ... :)

शायद कलात्मक शैली और सिगविन इंडेंट का एक संयोजन सबसे अच्छा काम करता है । अब मैं इस कमांड लाइन का उपयोग करता हूं: astyle --style=kr -s3 --break-closing-brackets < infile.cpp | dos2unix | indent --no-tabs --k-and-r-style --indent-level 3 --dont-cuddle-else | unix2dos। मैं थोड़ा लंबा हूं, मैं सहमत हूं, लेकिन इसके अलावा यह एक बहुत अच्छा परिणाम पैदा करता है। :)

+1

मेरा मानना ​​है कि * कलात्मक शैली * ** ** आजकल '--unpad-paren' विकल्प के साथ reformatting रिक्त स्थान को संभाल सकता है। – Magnus

5

सी ++ कोड के स्वचालित स्वरूपण के लिए एक और उपकरण clang-format है।

0

में NetBeans, तो आप बस

Alt + Shift + F

कृपया सुनिश्चित करें कि प्लगइन्स इसी भाषा के लिए स्थापित कर रहे हैं बनाने के लिए कर सकते हैं। उदाहरण के लिए, PHP कोड इंडेंटेशन के लिए, आपको नेटबीन्स PHP चुनना होगा या रिपॉजिटरी से PHP प्लगइन्स इंस्टॉल करना होगा।

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