विजुअल स्टूडियो - कस्टम पथ मैक्रोज़ को कहाँ परिभाषित करें?


90

मैंने अभी किसी और के विजुअल स्टूडियो प्रोजेक्ट को खोला है और उनकी बिल्ड प्रॉपर्टीज में उनके पास कुछ कस्टम पाथ मैक्रो हैं, जो वे अपने शामिल और लिबर डायरेक्टरी के लिए उपयोग कर रहे हैं। मैक्रो नाम इस तरह की चीजें हैं:

$(MY_WHATEVER_INCLUDE_DIR)

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


2
अच्छी तरह से ठगना, मुझे उम्मीद थी कि यह वास्तव में खोजने में आसान होगा। 10 मिनट के बाद मैंने हार मान ली। । । मुझ से +1। यह वी.एस. 6.0 दिनों से बदल गया है। । । किसी भी मौका आपके उपयोगकर्ता ने सीधे अपने वातावरण में परिभाषित किया है?
फ्रैंक मेरो

1
gregseth के उत्तर में इस समस्या का वास्तविक समाधान होता है: संपत्ति शीट का संपादन करते समय सामान्य गुणों के नीचे एक उपयोगकर्ता मैक्रो अनुभाग होता है, लेकिन केवल अगर वह शीट समाधान / परियोजना के लिए विशिष्ट है। इसलिए यदि आप उन डिफ़ॉल्ट शीट को संपादित कर रहे हैं जो सभी परियोजनाओं में साझा की जाती हैं, तो उपयोगकर्ता मैक्रोज़ नहीं दिखाएंगे। नीचे gregseth के उत्तर पर मेरी टिप्पणी देखें।
कैम जैक्सन

1
मैक्रो को परिभाषित / परिवर्तित करने के लिए .props फ़ाइल का उपयोग दृश्य स्टूडियो 2010 में करता है। इससे पहले, फ़ाइल एक्सटेंशन .vsprops था।
आदित्य कुमार पांडे

1
मैंने यहाँ संपत्ति के उपयोग के बारे में कुछ और जानकारी लिखी है: stackoverflow.com/q/25810603/398670
क्रेग रिंगर

जवाबों:


47

यह लिंक http://msdn.microsoft.com/en-us/library/a2zdt10t(v=vs.90).aspx आपको रूचि दे सकता है। मुझे प्रोजेक्ट बनाने के लिए अपने पूरे सिस्टम कॉन्फ़िगरेशन को बदलने का विचार पसंद नहीं आया। पृष्ठ पर सबसे दिलचस्प हिस्सा अंतिम टिप्पणी है:

यह पृष्ठ इस संवाद को प्राप्त करने में विफल रहता है:

प्रॉपर्टी मैनेजर से, प्रॉपर्टी पेज पर डबल क्लिक करें। पेड़ नियंत्रण में "आम गुण" के तहत "उपयोगकर्ता मैक्रोज़" पर क्लिक करें।


8
हम्म .. मैं "आम गुण" के तहत "उपयोगकर्ता मैक्रोज़" विकल्प नहीं है। मैं वीएस 2010 प्रो
जेल वेरर्ज

21
@Jelle उपरोक्त लिंक से बड़ी टिप्पणी में आपको आवश्यक अतिरिक्त जानकारी शामिल है! 'उपयोगकर्ता मैक्रोज़' केवल 'कॉमन प्रॉपर्टीज़' के तहत प्रदर्शित होगा यदि आप जो सम्पत्ति संपादन कर रहे हैं वह प्रोजेक्ट / समाधान के लिए विशिष्ट है! इसलिए आपको वीएस में प्रॉपर्टी मैनेजर विंडो खोलने की जरूरत है, अपने प्रोजेक्ट पर राइट-क्लिक करें और एक नई प्रॉपर्टी शीट जोड़ें। फिर नई बनाई गई शीट पर राइट-क्लिक-> गुण, और अब आपको 'कॉमन प्रॉपर्टीज' के नीचे 'यूजर मैक्रोज़' विकल्प दिखाई देगा! उम्मीद है कि मदद करता है :)
कैम जैक्सन

1
यह काफी छुपा हुआ विकल्प है। यह MSVS सपोर्ट पेज ( msdn.microsoft.com/en-us/library/f2t8ztwy%28v=vs.90%29.aspx ) के लिए नया लिंक है , लगभग कुछ भी नहीं। इस पृष्ठ में ( sites.google.com/site/pinyotae/Home/visual-studio-visual-c/… ) चरणों की एक सूची है जो अधिक विस्तृत है, न कि संपूर्ण लेकिन आपको कुछ संकेत देती है।
जेवियर मि।

1
कुछ अधिक जानकारी और उदाहरण यहां जोड़ा गया: stackoverflow.com/q/25810603/398670 । समझने के लिए एक महत्वपूर्ण बात यह है कि संपत्ति शीट सभी, कुछ, या सिर्फ एक कॉन्फ़िगरेशन / प्लेटफ़ॉर्म कॉम्बो से जुड़ी हो सकती है। सामान्य गुण संपादक के विपरीत, विभिन्न कॉन्फ़िगरेशन / प्लेटफ़ॉर्म के लिए अलग-अलग मान नहीं हैं; यदि आप चाहते हैं कि, आप प्रत्येक के लिए अलग-अलग शीट का उपयोग करें। एक बार जब आप यह पता लगाते हैं कि एक से अधिक शीटों को कैसे मिलाया जाए और दूसरे में मैक्रोज़ का संदर्भ दिया जाए, तो काफी लचीला।
क्रेग रिंगर

विजुअल स्टूडियो 2019 के संबंध में और डौग किम्जे की टिप्पणी के साथ, वीएस 2019 में उन्हें जोड़ना संभव है। सर्ज रोजैच द्वारा प्रतिक्रिया के संकेत दिए गए प्रक्रिया के बाद उपयोगकर्ता मैक्रोज़ को जोड़ा और संपादित किया जा सकता है। मुझे इसे खोजने में थोड़ा समय लगा। :)
हम्प

37

यहाँ दृष्टिकोण को चित्रों के साथ वर्णित किया गया है: https://sites.google.com/site/pinyotae/Home/visual-studio-visual-c/create-user-defined-environment-variables-macros

विज़ुअल स्टूडियो में आपको निम्न करने की आवश्यकता है:

  1. मुख्य मेनू "दृश्य" पर क्लिक करें, फिर "संपत्ति प्रबंधक"
  2. "प्रॉपर्टी मैनेजर" विंडो के खाली स्थान पर राइट-क्लिक करें और पॉप-अप मेनू में "नया प्रोजेक्ट प्रॉपर्टी शीट जोड़ें" पर क्लिक करें
  3. प्रॉपर्टी शीट जोड़ने के बाद, इसे प्रॉपर्टी मैनेजर विंडो में डबल क्लिक करें और लेफ्ट सेलेक्ट प्रॉपर्टी पेज "यूजर मैक्रोज़" पर ट्री में
  4. फिर आप "Add Macro" बटन पर क्लिक कर सकते हैं

यहाँ प्रोजेक्ट प्रॉपर्टी शीट्स पर एक ट्यूटोरियल है: http://www.dorodnic.com/blog/2014/03/20/visual-studio-acacros/


6
इस उत्तर को और अधिक बढ़ाने की जरूरत है। कृपया यह स्वीकार करें कि उत्तर स्वीकृत है। वर्तमान स्वीकृत उत्तर भी प्रश्न का उत्तर नहीं देता है।
माइक एस

1
मामले में यह स्पष्ट नहीं है (यह मेरे लिए नहीं था) आपको अपनी सभी परियोजनाओं के लिए अपनी संपत्ति शीट को जोड़ना होगा (यह मानते हुए कि आपके पास एक ही समाधान में कई हैं)। मैं यह पता नहीं लगा सका कि यह क्यों काम नहीं कर रहा था, लेकिन तब मुझे एहसास हुआ कि मैंने इसे एक अलग प्रोजेक्ट में जोड़ दिया है।
मैट


7

एक संपत्ति शीट सही समाधान होने की संभावना है; यह उत्तर @ gregseth के स्थान पर इसे प्रतिस्थापित करने के लिए विस्तृत है, क्योंकि यह एक टिप्पणी के लिए बहुत लंबा है।

मैंने पाया कि मुझे 32-बिट और 64-बिट लक्ष्य के लिए अलग-अलग रास्तों की आवश्यकता थी, और ऐसा करने में थोड़ा सा लग गया, इसलिए मैंने इस प्रक्रिया को विस्तार से बताया है

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

आप उन सभी के लिए, या केवल कुछ सबसेट के लिए केवल एक कॉन्फ़िगरेशन / प्लेटफ़ॉर्म कॉम्बो में एक संपत्ति पत्रक जोड़ सकते हैं।

यदि आप वैश्विक सेटिंग्स करना चाहते हैं तो कॉन्फ़िगरेशन / प्लेटफ़ॉर्म ओवरराइड्स यह सुनिश्चित करके कर सकते हैं कि अधिक विशिष्ट संपत्ति पत्रक अंतिम हैं। तो आपके पास एक प्रॉपर्टी शीट "सभी कॉन्फ़िगरेशन" हो सकती है, फिर "x86" के लिए एक, "x64" के लिए एक "डीबग" के लिए और एक "रिलीज़" के लिए। X64 डिबग लक्ष्य में "सभी", "x86", "डीबग" पत्रक होंगे। मूल रूप से वीएस का संपत्ति संपादक आंतरिक रूप से अनुकरण करता है।


3

पुन: हम्म .. मुझे लगता है कि "आम गुण" के तहत "उपयोगकर्ता मैक्रोज़" विकल्प नहीं है। मैं वीएस 2010 प्रो का उपयोग कर रहा हूं

यदि आप सामान्य फ़ाइल दृश्य में करते हैं, तो उपयोगकर्ता मैक्रोज़ विकल्प नहीं दिखाता है, यदि आप किसी प्रॉजेक्ट फ़ाइल के लिए गुण संवाद खोलते हैं। आपको प्रॉपर व्यू पर स्विच करना होगा, कुछ प्रोजेक्ट का विस्तार करना होगा और एक प्रॉपर्टी पेज (* .प्रॉप्स) चुनना होगा जिसे आपने उद्देश्य के लिए जोड़ा था। उपयोगकर्ता मैक्रोज़ वहाँ दिखाते हैं।

या, आप बस XML को सीधे संपादित कर सकते हैं। मैक्रोज़ ठीक काम करते हैं यदि एक। * प्रोज फ़ाइल में परिभाषित किया गया है, लेकिन अगर कोई संपादन पृष्ठ नहीं है, तो इसे "उपयोगकर्ता मैक्रो" बनाना व्यर्थ है। तो बस इसे एक संपत्ति बनाएं <संपत्ति संपत्ति>।

जैसा कि पहले बताया गया है, यह पर्यावरण चर में भी खींचती है। हालाँकि, आपको उन्हें एक ऐसे संदर्भ में स्थापित करना सुनिश्चित करना होगा जहां देवेन उन्हें देखेगा! एक कमांड शेल में ऐसा करें और फिर उसी कमांड प्रॉम्प्ट से DEVENV चलाएं। जब मेरे पास वह स्थिति थी, तो मैंने उचित चर सेट करने और DEVENV लॉन्च करने के लिए एक बैच फ़ाइल बनाई, और उस बैट फ़ाइल आइकन को डेस्कटॉप पर रखा।


1
"प्रॉपर्टी व्यू" आपके वीएस संस्करण में "प्रॉपर्टी मैनेजर" हो सकता है, जिसे व्यू -> अन्य विंडोज के माध्यम से एक्सेस किया जा सकता है।
क्रेग रिंगर

1
मुझे लगता है कि यह फ़ाइल, कक्षा और संसाधन ट्री दृश्यों के साथ टैब के रूप में डॉक किए जाने पर दृश्य बन जाता है।
JDługosz

2

प्रत्येक प्रॉपर्टी शीट को जोड़ने की परेशानी के बिना दूसरे तरीके की कोशिश करें

विंडोज ओएस के लिए जाओ सिस्टम गुण > पर्यावरण चर , बस नए और इनपुट चर जैसे: MY_PATH और मूल्य जैसे: डी: \ Dev_Path \

उसके बाद आपको अपना Visual Studio पुनः आरंभ करना होगा, आपको मैक्रो सूची में $ {MY_PATH} होना चाहिए

पी / एस: बस नोटिस जेसन विलियम्स ने जवाब दिया ऊपर ओएस पर्यावरण चर विधि है


एक अच्छा विचार नहीं है, अगर आप चाहते हैं कि आपकी संपत्ति केवल आपकी परियोजना से संबंधित हो।
मिया शनि

इन गुणों को सेट करने के लिए आप किस एप्लिकेशन का उपयोग कर रहे हैं?
डग किम्जेई जुले

1

@Serge Rogatch के रूप में एक ही उत्तर, सिवाय इसके कि मैं व्यू में "प्रॉपर्टी मैनेजर" खोजने में सक्षम नहीं था।

त्वरित नेविगेशन के लिए दृश्य कदम: यहां छवि विवरण दर्ज करें


0

नवीनतम दृश्य स्टूडियो संस्करणों के लिए रास्ता (2015+) इस प्रकार है:

उपयोगकर्ता-परिभाषित मैक्रो बनाने के लिए:

  1. प्रॉपर्टी मैनेजर विंडो में (मेन्यू बार पर, व्यू, प्रॉपर्टी मैनेजर चुनें), प्रॉपर्टी शीट के लिए शॉर्टकट मेनू खोलें (इसका नाम .user में समाप्त होता है) और फिर प्रॉपर्टीज चुनें।
  2. प्रॉपर्टी शीट के लिए प्रॉपर्टी पेज डायलॉग बॉक्स खुलता है। संवाद बॉक्स के बाएँ फलक में, उपयोगकर्ता मैक्रोज़ का चयन करें। दाएँ फलक में, जोड़ें मैक्रो बटन जोड़ें उपयोगकर्ता मैक्रो संवाद बॉक्स खोलने के लिए।
  3. संवाद बॉक्स में, मैक्रो के लिए एक नाम और मान निर्दिष्ट करें। वैकल्पिक रूप से, इस मैक्रो को बिल्ड एन्वायरमेंट चेक बॉक्स में एक पर्यावरण चर के रूप में चुनें।

स्रोत


विजुअल स्टूडियो 2019 के व्यू मेनू में "प्रॉपर्टी मैनेजर" नाम की कोई चीज नहीं है। विजुअल स्टूडियो 2019 के प्रॉपर्टी पेजों में "यूजर मैक्रोज़" जैसी कोई प्रविष्टि नहीं है। "यूजर मैक्रोज़" लॉन्च करने के लिए सर्चिंग हेल्प विजुअल स्टूडियो 2019 है। नया आइटम "संवाद।
डग किम्जेई जुले

VS2019 - देखें -> अन्य विंडोज -> संपत्ति प्रबंधक (और आप सही रास्ते पर होंगे!)
किर्क बेट्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.