बिना किसी मैनुअल हस्तक्षेप के, कई समाधानों के बीच एक ही Resharper सेटिंग्स को कैसे साझा करें?


79

हमारी परियोजनाएं एक मास्टर समाधान (प्रत्येक परियोजना युक्त) और संबंधित परियोजनाओं के समूह युक्त कई छोटे समाधानों में आयोजित की जाती हैं।

मैं हर समाधान में एक ही Resharper सेटिंग्स साझा करना चाहता हूं, यह सुनिश्चित करते हुए कि डेवलपर्स को कभी भी Resharper में कॉन्फ़िगरेशन फ़ाइलों को आयात करने या उस मामले के लिए मैन्युअल रूप से कुछ भी करने की आवश्यकता नहीं है। जिस संस्करण का हम उपयोग कर रहे हैं, वह नवीनतम 7.0.1 में से एक है। TFS में चेक की गई DotSettings फ़ाइल एकल समाधान पर बहुत अच्छी तरह से काम करती है, लेकिन 20-30 समाधानों के लिए एक ही फ़ाइल की नकल करना कोई नहीं है।

क्या डेवलपर्स के लिए इसे स्पष्ट रूप से कॉन्फ़िगर करने की आवश्यकता के बिना पूरी परियोजना में हर परियोजना / समाधान के साथ समान कॉन्फ़िगरेशन साझा करने का कोई तरीका है? आदर्श रूप से, प्रत्येक समाधान के लिए .DotSettings फ़ाइल का पथ बदलना संभव होना चाहिए ताकि जब कोई एकल .Dotettings फ़ाइल संपादित की जाए तो यह स्वचालित रूप से टीम के प्रत्येक समाधान को प्रभावित करे।

अपडेट करें:

मैंने इस बारे में थोड़ा खोज किया है और 2 अलग-अलग तरीकों की कोशिश की है, लेकिन उनमें से कोई भी 100% काम नहीं करता है:

  • Hardlinks का उपयोग कर mklink उपकरण पूरी तरह से स्थानीय स्तर पर काम करते हैं, लेकिन TFS उन्हें समर्थन नहीं करता
  • सामान्य शॉर्टकट भी इसके लिए एक उचित समाधान होगा, लेकिन Resharper उन्हें नहीं पढ़ता है

मैं यहाँ विकल्पों से बाहर हूँ।

अपडेट 2:

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

बग के बारे में अधिक जानकारी यहां पाई जा सकती है:

http://youtrack.jetbrains.com/issue/RSRP-288235


ReSharper के कौन से संस्करण का उपयोग कर रहे हैं?
डैनियल हिल्गारथ

मैं उपकरण के 7.0.1 संस्करण का उपयोग कर रहा हूं। प्रतिबिंबित करने के लिए प्रश्न को अद्यतन करेगा।
जूलियागॉन

संस्करण 10 अभी भी इसके लिए कोई विशिष्ट समाधान प्रदान नहीं करता है। मैं इसे उदाहरण के लिए एक पूरी तरह से अलग परत के रूप में देखना चाहूंगा।
मारियोडीएस 12

जवाबों:


77

Resharper विकल्प लेयरिंग का समर्थन करता है।

आप इसे इस तरह उपयोग करेंगे:

  1. इसमें अपनी सभी सेटिंग्स के साथ एक DotSettings फ़ाइल रखें।
  2. प्रत्येक समाधान के लिए ये चरण करें:
    1. ReSharper -> विकल्प प्रबंधित करें
    2. "समाधान 'आपका समाधान' टीम-साझा" पर राइट-क्लिक करें
    3. Add Layer -> Open Settings File को चुनें
    4. केंद्रीय DotSettings फ़ाइल चुनें

यह प्रत्येक समाधान के लिए एक DotSettings फ़ाइल बनाएगा। आपको केंद्रीय DotSettings फ़ाइल के साथ TFS में इनकी जाँच करने की आवश्यकता है।
महत्वपूर्ण: समाधान की DotSettings फ़ाइल में केवल केंद्रीय एक लिंक होता है, वे सेटिंग्स को दोहराते नहीं हैं।


1
यह काम करता है लेकिन "समाधान 'आपका समाधान' व्यक्तिगत" सेटिंग्स टीम-साझा परत को ओवरराइड करता है। इसलिए मुझे व्यक्तिगत सेटिंग्स के लिए भी 2-4 दोहराना पड़ा। अब मैं उछल रहा हूं कि क्या मुझे अपने sln.DotSettings.user फ़ाइल को स्रोत नियंत्रण में जोड़ने की आवश्यकता है या स्थानीय विकास पर्यावरण कॉन्फ़िगरेशन दिनचर्या में एक और कदम जोड़ें।
साशा

1
@alexander: वास्तव में, यह एक वास्तविक समस्या है और JetBrains इस पर काम कर रहा है: youtrack.jetbrains.com/issue/RSRP-333945
डैनियल हिल्गरथ

"DotSettings फ़ाइल के समाधान के बारे में केवल केंद्रीय एक लिंक शामिल है" कथन के बारे में ... क्या यह सच है? मैंने ऊपर की प्रक्रिया का पालन किया, लेकिन मैंने दो DotSettings फ़ाइलों (केंद्रीय और समाधान) के साथ सेटिंग्स को भर दिया। यह ठीक हो सकता है ... मैं सिर्फ यह सुनिश्चित करना चाहता हूं कि मैं यह सही कर रहा हूं।
जेसन कैप्रियोटी

1
मैंने समाधान सेटिंग्स और केंद्रीय एक के लिंक को हटा दिया और फिर से यह कोशिश की। यह उम्मीद के मुताबिक काम किया। मेरे पास पहले से ही एक समाधान सेटिंग्स फ़ाइल हो सकती है जिसमें सभी सेटिंग्स थीं।
जेसन कैप्रियोटी

21

सवाल पुराना है, लेकिन अगर कोई अभी भी टीम सेटिंग्स साझा करने का तरीका ढूंढ रहा है:

R # के लिए सभी सेटिंग्स को एक NuGet पैकेज के रूप में निर्यात और पैक किया जा सकता है और एक नियमित ReSharper एक्सटेंशन के रूप में वितरित किया जाता है।

यह आपको एक लचीलापन देता है: आप अलग-अलग टीमों के लिए अलग-अलग सेटिंग्स साझा कर सकते हैं, ReSharper नए संस्करण का पता लगाने और डेवलपर को सूचित करने का ध्यान रखेगा। खैर, मूल रूप से सभी लाभ जो आप NuGet का उपयोग करते समय प्राप्त कर सकते हैं।


1
यह वास्तव में बहुत अच्छा है। मैंने उस तरह का काम करने के लिए अपना खुद का आंतरिक NuGet पैकेज बनाने के बारे में सोचा, लेकिन मैं इसे मैन्युअल रूप से करने की सोच रहा था (इसे समाधान स्तर पर एक सामान्य NuGet पैकेज के रूप में स्थापित करना और फिर ReSharat उपभोग करने के लिए संदर्भों के सापेक्ष पथों को संपादित करना। यह)। मुझे नहीं पता था कि ReSharper के खुद के एक्सटेंशन में भी NuGet का इस्तेमाल किया गया था। बहुत उपयोगी है।
13-16 को जुलैलेगॉन

2

2015 में रिस्पेक्टर में

पर जाएँ Resharper-> Options-> Manage(तस्वीर 1) -> Options-> Import and Export(तस्वीर 2) ->from file....

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

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

और अगर आप क्या आपकी टीम आप के लिए कर सकते हैं के लिए आयात करने के लिए Solution settingsतो बजाय Import and Exportमें Optionsजाने के लिए Copy Settings to-> team-shared

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

आशा है कि यह आपको कुछ समय बचाता है।

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