2011-03-09 16 views
12

हम सीधे विजुअल स्टूडियो आईडीई से कोड के सी ++ ब्लॉक/फ़ंक्शंस को दोबारा सुधारने में सक्षम होना चाहते हैं, ताकि डेवलपर्स आसानी से यह सुनिश्चित कर सकें कि नया कोड वे हमारे स्वरूपण दिशानिर्देशों का पालन करते हैं।उन्नत स्टूडियो के साथ उन्नत (सी ++) स्रोत कोड पुन: स्वरूपण?

मुझे Artistic Style tool मिला है, जो कि हमें आवश्यक सुविधाओं को बहुत अधिक कवर करता है। हालांकि, यह केवल सीएलआई से पूरी फाइलों पर काम कर सकता है, इसलिए यह उस चीज़ के लिए बहुत उपयोगी नहीं है जिसे हम इसका उपयोग करना चाहते हैं। (पूरी फ़ाइल सुधारण निश्चित रूप से हम कभी नहीं चाहते हैं [ए]।)

विजुअल स्टूडियो (2005) में ऑटो-प्रारूप सुविधाओं सीमित हैं, लेकिन AFAICS, ये ज्यादातर सही इंडेंटिंग के बारे में हैं, जो कि थोड़ी कमी है।

तो मेरा सवाल यह है कि यदि कोई ऐसा उपकरण है जो वीएस आईडीई से चयन पर उन्नत सुधार करने के लिए कर सकता है, या हो सकता है कि यदि कोई वीएस आईडीई प्लगइन एएसटीएल का उपयोग कर रहा हो?

संपादित करें: एक उपकरण की सिफारिश करने के लिए लिंक किया गया प्रश्न - ProFactor's StyleManager - क्या इस तरह के कोई अन्य उपकरण हैं?

नोट [ए]: संपूर्ण फाइलों या पूरे प्रोजेक्ट पेड़ को सुधारना केवल निजी परियोजनाओं या प्रारंभिक कोड चेकइन, आईएमएचओ के लिए उपयोगी है। एक (बड़ी) टीम प्रोजेक्ट के लिए, कंबल सुधारण फाइलों के भीतर फ़ाइलों या रेखाओं के परिवर्तन इतिहास को गड़बड़ कर देगा, जिससे यह पता चल जाएगा कि किसने बदल दिया है।

+1

मैं व्यक्तिगत परियोजना पर समय-समय पर 'astyle' चलाता हूं। यह स्रोत फ़ाइलों में एक सतत शैली को बनाए रखने में मदद करता है। –

+0

http://stackoverflow.com/questions/1663794/visual-studio-unmanaged-c-code-formatter/1663828#1663828 –

+2

आपके नोट के लिए [ए]: मैंने कभी ऐसे मुद्दों में भाग नहीं लिया। अधिकांश संस्करण नियंत्रण प्रणाली (कम से कम लिनक्स पर) द्वारा उपयोग की जाने वाली diff तंत्र लाइनों के विस्थापन के लिए सहिष्णु है। और अस्थिर को कॉन्फ़िगर किया जा सकता है कि यह उन फ़ाइलों की टाइम स्टैंप को न बदलने के लिए न हो, ताकि यह बिल्ड सिस्टम को पेंच न करे। बशर्ते आप प्रत्येक बार आने से पहले (या निर्माण से पहले) अस्थिर चलाएं, बिल्कुल कोई समस्या नहीं है। –

उत्तर

2

मैं एक ब्लॉग पोस्ट का वर्णन करता है कि कैसे दृश्य स्टूडियो के साथ एक बाहरी कोड फ़ॉर्मेटर एकीकृत करने के लिए मिला: Per-Project Code Formatting in Visual Studio

(। ..) तब आप अपने आईडीई (रों) तो उनके डिफ़ॉल्ट स्वरूपण आदेशों बजाय Uncrustify का उपयोग कॉन्फ़िगर कर सकते हैं। दृश्य स्टूडियो में, उदाहरण के लिए, एक ऊपर एक बाहरी उपकरण सेट कर सकते हैं। यह मानते हुए uncrustify.cfg के बगल में है समाधान फ़ाइल, फिर कमांड लाइन

-c $(SolutionDir)uncrustify.cfg --no-backup "$(ItemPath)"

वर्तमान स्रोत फ़ाइल को दोबारा सुधार देगा। फिर आप त्वरित पहुंच के लिए एक कीबोर्ड मैपिंग (या संपादित करें। FormatDocument, मेरे जैसे) को फिर से असाइन कर सकते हैं।

मैं इसे करने की कोशिश नहीं की है, लेकिन यह दृश्य स्टूडियो में एक बाहरी उपकरण के रूप में अपने फ़ॉर्मेटर (जैसे AStlye/Uncrustify) कॉन्फ़िगर करने के लिए आईडीई से एक स्रोत फ़ाइल पर यह कॉल करने के लिए सक्षम होने के लिए नीचे उबालने के लिए लगता है।

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

1

वहाँ पहले से मौजूद https://stackoverflow.com/questions/1663794/visual-studio-unmanaged-c-code-formatter

इसके अलावा के लिए एक जवाब लग रहा है। मैं केडीवील्ड और कोड :: ब्लॉक में जानता हूं उनके पास अच्छे सी ++ कोड सुधारक हैं और आप शैली को बहुत प्रभावी ढंग से अनुकूलित कर सकते हैं। मैं दोनों की तरह .. लेकिन कोड :: ब्लॉक इस समय मुझ पर दुर्घटनाग्रस्त रहता है :(

+0

मैंने पहले से ही इस प्रश्न/उत्तर को एक टिप्पणी-लिंक में वर्णित किया है और आपके उत्तर से पहले एक प्रश्न संपादित किया गया है। –

0

प्रश्न थोड़ा पुराना है, लेकिन मुद्दा नहीं है।

मैं VS macro का उपयोग अविश्वास के माध्यम से सी ++ कोड को लॉन्डर करने के लिए करता हूं, और इसे कीबोर्ड शॉर्टकट (ALT + SHIFT + U, मेरी वरीयता) द्वारा ट्रिगर करता है।मैक्रो वर्तमान में सक्रिय संपादक दस्तावेज़ पर अविश्वसनीय चलाता है, आउटपुट को एक अस्थायी फ़ाइल में भेजता है, और उसके बाद वर्तमान संपादक के पाठ को अविश्वसनीय आउटपुट के साथ बदल देता है।

स्पष्ट रूप से यह वर्कफ़्लो फ़ाइल में सभी कोड बदलता है, लेकिन शॉर्टकट का लगातार उपयोग आपके कोड को अच्छे और साफ रखेगा। यह कल्पना की जा सकती है कि जब संपादक के पाठ का n% बदलता है तो मैक्रो स्वचालित रूप से ट्रिगर हो जाता है? मैं इसे एनवीडीटीई गुरुओं को छोड़ दूंगा।

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