2010-03-22 27 views
7

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

+0

मैंने ऐसा करने के लिए एक मैक्रो बनाया है। http://stackoverflow.com/questions/14257113/vs-addin-for-quickly-viewing-preprocessed-or-assembly-output देखें। – Trass3r

उत्तर

3

बाहरी टूल मेनू का उपयोग करके ऐसा करने का कोई शानदार तरीका नहीं है , लेकिन यहां एक समाधान है जो काम करेगा:

  1. अपनी परियोजना के लिए एक नई कॉन्फ़िगरेशन बनाएं। इसे "डीबग-प्रीप्रोक" जैसे कुछ कहते हैं। इस कॉन्फ़िगरेशन में, कंपाइलर के लिए/पी स्विच सेट करें। (प्रीप्रोसेस, कोई संकलन नहीं।)

  2. बाहरी उपकरण सेटअप मेनू पर जाएं। "प्रीप्रोसेस प्रोजेक्ट" नामक एक नया आइटम बनाएं।

    • कमान: C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe
    • तर्क: करने के लिए विकल्पों को सेट करें $(ProjectDir)$(ProjectFileName) /Build "Debug-Preproc|Win32"

अब आप सभी स्रोत फ़ाइलों के खिलाफ पूर्वप्रक्रमक चलाने के लिए अपने मेनू पर "preprocess परियोजना" विकल्प का उपयोग कर सकते हैं वर्तमान में चयनित परियोजना में। यह प्रत्येक के लिए [filename].i उत्पन्न करेगा, जिसे आप एक टेक्स्ट एडिटर में खोल सकते हैं।

यदि आप चाहते हैं, तो आप $(ItemFileName).i खोलने के लिए अपने संपादक को एक नया बाहरी टूल जोड़कर टेक्स्ट एडिटर में फ़ाइल खोलने के लिए एक अतिरिक्त चरण बना सकते हैं।

यह फ़ाइल को राइट-क्लिक करने में सक्षम होने के रूप में लगभग स्वच्छ या सुविधाजनक नहीं है और "प्रीप्रोसेस" चुनें, लेकिन मुझे लगता है कि यह एक बेहतरीन लेखन आपको कम करने के लिए कम होगा।

+0

वास्तव में जिस समाधान की मैं उम्मीद कर रहा हूं, लेकिन मुझे लगता है बकाया कचरे को देने के बजाए यह उतना करीब है जितना मैं आपको सौंप सकता हूं। धन्यवाद :) – Virgil

+0

आप जानते हैं, यह सिर्फ मेरे लिए हुआ - प्रीप्रोसेसर की बात आने पर सभी कंपाइलर विकल्प वास्तव में व्यर्थ हैं। जेनरेट आउटपुट में कोई फर्क नहीं पड़ता कि केवल प्रीप्रोसेसर पेज पर विकल्प हैं, जिनमें से अधिकतर आप शायद नहीं बदल रहे हैं। इसलिए यदि आप बाहरी उपकरण को सीएल/पी फ़ाइल में सेट करते हैं तो आपको उसी आउटपुट को प्राप्त करना चाहिए जैसे कि मैंने सुझाई गई विधि का उपयोग करके प्रोजेक्ट बनाया है। –

+0

सच नहीं है, मेरे पास कमांड लाइन में बहुत सारे परिभाषाएं हैं, निर्देशिकाओं को शामिल करने के लिए पथ भी ... और यह बहुत आम है, मुझे लगता है। – Virgil

2

यूआई में, आप एक "बाहरी उपकरण" (टूल मेनू से) को कॉन्फ़िगर कर सकते हैं। आप ऐसा टूल बना सकते हैं जो वर्तमान फ़ाइल और "/ पी" विकल्प के साथ कंपाइलर को आमंत्रित करता है और स्क्रीन पर कंपाइलर आउटपुट रखता है। बाहरी उपकरण के लिए, इसे आउटपुट विंडो में आउटपुट करने के लिए कॉन्फ़िगर करें।

+0

सही समाधान नहीं है, लेकिन यह काम कर सकता है; हालांकि, मैं इस बाहरी उपकरण को कमांड लाइन का उपयोग करने के लिए कैसे कॉन्फ़िगर कर सकता हूं जो विजुअल स्टूडियो का उपयोग करेगा यदि मैं "फ़ाइल संकलित करें" (और बस इसमें जोड़ें/पी) चुनना था? – Virgil

0

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

+0

क्षमा करें, मैं वास्तव में आपके सुझाव को समझ नहीं पा रहा हूं :( मैं असली सी ++ फ़ाइल के बारे में बात कर रहा हूं; मैं इसके लिए "कस्टम बिल्ड" परिभाषित नहीं कर सकता - मैं नहीं बदलना चाहता कि मेरी परियोजना कैसे बनाई जाए, मैं ' मैं सिर्फ प्रीप्रोसेसर के आउटपुट (अधिक आसानी से) का निरीक्षण करने के लिए एक रास्ता तलाश रहा हूं (कुछ मामलों में, मैक्रोज़ के कारण, संकलक त्रुटियों को समझने के लिए बहुत छोटा नहीं हो सकता है, वास्तव में प्रीप्रोसेसर आउटपुट को देखने में बहुत मदद मिलती है)। और केवल पूर्ववत: मैं "अतिरंजित मैक्रोज़" तर्क से सहमत हूं, लेकिन यह बात नहीं है ... यही वह नहीं है जिसे मैं चर्चा करना चाहता हूं :) – Virgil

1

विजुअल मैक्रोज़ Expander: - विजुअल स्टूडियो के लिए एडिन, यह विस्तारित मैक्रोज़ और यहां तक ​​कि स्वरूप परिणाम भी दिखाता है।

+0

नीचे होना प्रतीत होता है। – Trass3r

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