मैं प्रोजेक्ट्स के बीच इंटेलीज रन / डिबग कॉन्फ़िगरेशन कैसे साझा करूं?


143

मेरे ऐप के कई अलग-अलग संस्करण हैं। हर एक एक अलग intellij परियोजना है। जब भी मैं कोई नया खाता खोलता हूं, कॉन्फ़िगरेशन की सूची रिक्त होने लगती है:

यहां छवि विवरण दर्ज करें

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

मैं एक कॉन्फ़िगरेशन का स्क्रीनशॉट ले रहा हूं और दूसरे प्रोजेक्ट में हाथ से फ़ील्ड कॉपी कर रहा हूं। यह एक बहुत ही आदिम समाधान है। क्या एक प्रोजेक्ट से दूसरे प्रोजेक्ट में रन कॉन्फ़िगरेशन प्राप्त करने का अधिक सुविधाजनक तरीका है?

मैं विंडोज 7 पर Intellij 13 का उपयोग कर रहा हूं।


क्या मैं विभिन्न परियोजनाओं में इंटेलीज आइडिया के लिए सेटिंग्स साझा कर सकता हूं? इसका जवाब हो सकता है, लेकिन सवाल अलग है। यह विंडो लेआउट के बारे में है। इसलिए मैं इसे डुप्लिकेट नहीं मानता।



इसके लिए टिकट बनाया । मत जाओ!
ईयाल रोथ

जवाबों:


185

ऐसा करने का सबसे अच्छा तरीका यह है कि जब आप कॉन्फ़िगरेशन संपादित करें / बनाएं तो नाम फ़ील्ड के आगे "शेयर" चेकमार्क पर क्लिक करें। आप इस डायलॉग को रन> एडिट कॉन्फ़िगरेशन के साथ प्राप्त कर सकते हैं।

यहां छवि विवरण दर्ज करें

शेयर चेक-मार्क आपके सेटिंग को खींचता है workspace.xmlऔर इसके बजाय इसे डायरेक्टरी में डालता है .idea\runConfigurations। यह डिज़ाइन किया गया है ताकि आप अन्य लोगों के साथ सेटिंग साझा कर सकें। आप इस फ़ाइल को कॉपी कर सकते हैं और इसे अपने सभी विचार परियोजनाओं में उसी स्थान पर रख सकते हैं।

हालांकि, भविष्य में, आप अलग-अलग परियोजनाओं के बजाय ऐप संस्करणों के लिए स्रोत नियंत्रण शाखाओं का उपयोग करने पर विचार कर सकते हैं। IntelliJ इनको बहुत अच्छी तरह से संभालती है।


1
"आप अलग-अलग परियोजनाओं के बजाय ऐप संस्करणों के लिए स्रोत नियंत्रण शाखाओं का उपयोग करने पर विचार करना चाह सकते हैं" यह कैसे काम करता है? मुझे चिंता है कि 20x स्रोत फ़ाइलें Intellij को धीमा कर देंगी। क्या यह केवल एक बार में एक पर विचार करता है?
डैनियल कपलान

2
@tieTYT हां। स्रोत नियंत्रण शाखा कैसे काम करती है यह शाखा से मेल खाने के लिए आपकी सभी स्थानीय फ़ाइलों को संपादित करता है। फिर आप शाखाओं को स्विच करते हैं, यह फिर से करता है। आप अपने स्थानीय फ़ाइल सिस्टम में कम स्थान का उपयोग करते हैं। Heres आपके लिए एक अच्छा पढ़ा: git-scm.com/book/en/Git-Branching-Basic-Branching-and-Merging
Nick Humrich

2
@tieTYT मूल रूप से, आपके पास एक समय में केवल एक शाखा आपके स्थानीय मशीन पर मौजूद होती है। जब आप किसी अन्य संस्करण पर काम करना चाहते हैं, तो स्रोत नियंत्रण आपके लिए इसे उस संस्करण में बदल देता है। आपके पास "20x स्रोत फ़ाइलें" नहीं होंगी क्योंकि आपके पास केवल एक समय में 1x है।
निक हमरिक

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

2
@ फिर आप हमेशा फ़ाइल को अपने .gitignore में शामिल न किए जाने के लिए जोड़ सकते हैं। !.idea/runConfidurations/name
निक हमरिक

42

रन कॉन्फ़िगरेशन डिफ़ॉल्ट रूप से .idea / कार्यक्षेत्र। Xml में संग्रहीत किए जाते हैं। पहला विकल्प इस फ़ाइल को साझा करना है लेकिन यह संभव नहीं है क्योंकि आप बहुत सारे अनावश्यक कॉन्फ़िगरेशन भी साझा करते हैं। जैसा कि पहले ही कहा गया है, पहला कदम "शेयर" विकल्प को कार्यक्षेत्र.एक्सएमएल से रन कॉन्फ़िगरेशन को अलग करने के लिए जांचना है।

कार्यक्षेत्र। xml से रन विन्यास भेजना

उसके बाद, मैं स्रोत नियंत्रण में runConfigurations जोड़ने की सलाह देता हूं। लेकिन मुख्य समस्या यह है, शायद आपने पहले से ही .idea फ़ोल्डर को नजरअंदाज कर दिया है। आप अपने स्रोत नियंत्रण प्रणाली को कॉन्फ़िगर करके फ़ोल्डर को असाइन कर सकते हैं। उदाहरण के लिए, यदि आप git का उपयोग कर रहे हैं, तो आप निम्न के रूप में .gitignore फ़ाइल को बदल सकते हैं:

.idea/*
!/.idea/runConfigurations

जोड़ना मत भूलना * .idea / के बाद

अंतिम चरण के रूप में, अपने रन कॉन्फ़िगरेशन को स्रोत नियंत्रण में जोड़ें और अपने साझा कॉन्फ़िगरेशन का आनंद लें!


यह नियम, इसके बिल्कुल वही जो मैं जानना चाहता था, क्योंकि वास्तव में हम इसे अनदेखा कर रहे थे। हमारे पास और बिना किसी सिरदर्द के इसे त्यागने का कोई तरीका नहीं था।
डेविड मान

बहुत बढ़िया! यह वही है जो मैं लंबे समय से देख रहा था।
जोनास ग्रोगर

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

17

के लिए जाओ

Run > Edit Configuration > create or select existing configuration you want to use > click save and persist it on file system > click on share check mark

अब इस फ़ाइल से कॉपी करें

 PROJECT_ROOT_DIRECTORY/.idea/runConfigurations/ConfigurationName.xml

NEW_PROJECT_ROOT_DIRECTORY/.idea/runConfigurationsउसी स्थान पर आपके लिए और यह अब आपके रन कॉन्फ़िगरेशन के लिए उपलब्ध है


मुझे लगता है कि आपको पहले शेयर को जांचना होगा जैसे हमिंगर ने कहा
डैनियल कपलान

14

आपको फ़ोल्डर की प्रतिलिपि बनाना चाहिए

~/your-old-project/.idea/runConfigurations 

सेवा

~/your-new-project/.idea/

यह वह फ़ोल्डर है जिसमें रन कॉन्फ़िगरेशन शामिल हैं।


5
मेरा मानना ​​है कि आपको उन्हें स्वीकार किए गए उत्तर में पहले "साझा" करने की आवश्यकता है।
Muhd

0

यह वास्तव में आपके प्रश्न का उत्तर नहीं है, लेकिन यह आपके प्रश्न के समान एक प्रश्न का उत्तर देता है और एक जो मेरे पास था, और मैं दूसरों को भी मान रहा हूं।

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

उस विकल्प पर क्लिक करने से रन कॉन्फ़िगरेशन मेनू आता है और उस बिंदु पर मैं शेयर बॉक्स की जांच करता हूं, जैसा कि कई अन्य पहले ही उल्लेख कर चुके हैं। इसके बाद संस्करण नियंत्रण प्रणाली को मुझसे यह पूछने के लिए संकेत दिया जाएगा कि क्या मैं इस नई रन कॉन्फ़िगरेशन फ़ाइल को जोड़ना चाहता हूं। यदि आपने अपने संस्करण नियंत्रण प्रणाली को पंजीकृत नहीं किया है तो आप नई फ़ाइलों को .idea / runConfigurations के तहत पा सकते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.