2012-01-13 5 views
6

जब मैं अनुप्रयोगों के लिए मेरी एपीआई बारे में मैं हमेशा एक सेट पैटर्न का पालन (जो does not !?) है कि इस तरह दिखता है:क्या रिशेर्पर के साथ एक टेम्पलेट/मैक्रो के माध्यम से एकाधिक फाइलें उत्पन्न करने का कोई तरीका है?

User (Folder/Namespace) 
    User.cs 
    UserDao.cs 
    UserDaoFactory.cs 
    UserService.cs 
    UserServiceFactory.cs 

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

+1

दुर्भाग्य से रीशेर्पर के साथ काम नहीं करेगा, आपको अपना खुद का विजुअल स्टूडियो टेम्पलेट बनाना होगा। [यह लिंक] (http://msdn.microsoft.com/en-us/library/6db0hwky%28VS.80%29.aspx) आपको प्रारंभ करने में मदद करनी चाहिए। – Nuffin

उत्तर

6
  1. एक एकल फाइल में इन सभी वर्गों बनाएँ (यदि आप चाहते हैं मानक वर्गों के सेट वाली फ़ाइल टेम्पलेट बनाने)
  2. लिखें अपने तर्क
  3. प्रेस Shift + Alt + एल डाल करने के लिए ध्यान केंद्रित समाधान एक्सप्लोरर
  4. प्रेस Ctrl + Shift + आर में फ़ाइल पर Refactor लागू refactorings की एक सूची के साथ इस मेनू प्रदर्शित करने के लिए।
  5. का चयन करें मिलान फ़ाइलों में प्रकार, रीफैक्टरिंग विज़ार्ड को पूरा करें, और अलग-अलग फ़ाइलों में अलग-अलग वर्गों को देखें।
  6. सभी नव निर्मित वर्गों को किसी फ़ोल्डर में रखने के लिए, उन्हें समाधान एक्सप्लोरर में चुनें, और फिर को इन पर पुनर्विचार करें।
  7. इस बार, का चयन करें फ़ोल्डर पर जाएं।
  8. रिफैक्टरिंग विज़ार्ड में नए फ़ोल्डर का नाम निर्दिष्ट करें, दबाएं इस फ़ोल्डर को बनाएं, और विज़ार्ड को पूरा करें।
+0

फ़ाइल को _before_ इसे पुन: सक्रिय करने के लिए फ़ाइल को रखना आसान नहीं है? जैसे, नई फाइल बनाने के लिए स्थान चुनते समय? – Nuffin

+0

एक नए फ़ोल्डर से शुरू करना बिल्कुल ठीक है, जब तक आप जानते हैं कि यह कहां स्थित होना चाहिए। रीशेर्पर की परियोजना रिफैक्टरिंग सुविधाओं के साथ, आप अनिश्चित होने का जोखिम उठा सकते हैं) – gorohoroh

+0

जबकि मैं इस उत्तर की सराहना करता हूं (+1 किया गया) यह अभी भी पर्याप्त स्वचालन प्रदान नहीं करता है कि मैं कितनी बार ऐसा करता हूं। मैं ऐसा कुछ ढूंढ रहा हूं जो समाधान एक्सप्लोरर में किसी फ़ोल्डर में अनिवार्य रूप से राइट-क्लिक करना होगा, उस मेनू से मेरा फ़ाइल प्रकार चुनना, बेस क्लास नाम इनपुट करना (मेरे उदाहरण में उपयोगकर्ता) और यह फ़ोल्डर और उपरोक्त सभी फाइलें जेनरेट करेगा बॉयलरप्लेट कोड। – SventoryMang

0

मैं रीशेपर के साथ .tt टेम्पलेट्स का उपयोग करने पर विचार करता हूं।

  1. रीशेर्पर के साथ मास्टर फ़ाइल बनाएं।
  2. आंशिक कीवर्ड वाले आश्रित (.partial.cs) फ़ाइलों को स्वत: उत्पन्न करने के लिए एक या कई टीटी फ़ाइलों का उपयोग करके।
  3. आवश्यक होने पर जेनरेट किए गए वर्गों का विस्तार करें।
2

ऐसा लगता है कि आर # 8 Resharper Help Page

से इस सुविधा

जोड़ा ReSharper 8.0 से शुरू, जब यह लागू किया जाता है प्रत्येक फ़ाइल टेम्पलेट एक से अधिक फ़ाइल जोड़ सकते हैं। यह> WPF, वेब और अन्य परियोजनाओं के लिए सहायक हो सकता है जहां संबंधित डेटा विभिन्न फ़ाइलों में सहेजा जा सकता है।

  • एक फ़ाइल टेम्पलेट हमेशा एक मुख्य फ़ाइल, और वैकल्पिक रूप से माध्यमिक फ़ाइलों के किसी भी संख्या में शामिल हैं:

    यहाँ कुछ चीजें आप बहु फ़ाइल टेम्पलेट के बारे में पता करने की जरूरत है। तो जैसे ही आप पर कोई माध्यमिक फ़ाइल जोड़ते हैं, आपको कोई फ़ाइल टेम्पलेट मिलता है, आपको एक बहु-फ़ाइल टेम्पलेट मिलता है।

  • द्वितीयक फ़ाइल जोड़ते समय, आप किसी मौजूदा फ़ाइल टेम्पलेट को संदर्भित कर सकते हैं (मौजूदा टेम्पलेट विकल्प से फ़ाइल जोड़ें)। ध्यान दें कि यदि संदर्भित टेम्पलेट में कई फ़ाइलें भी हैं, तो जब आप टेम्पलेट को लागू करते हैं तो संदर्भित टेम्पलेट की केवल मुख्य फ़ाइल जोड़ दी जाएगी।
  • पैरामीटर का सेट एक बहु-फ़ाइल टेम्पलेट की सभी फ़ाइलों को फैलाता है। यानी, यदि आप का उपयोग करते हैं तो एक बहु-फ़ाइल टेम्पलेट की कई फ़ाइलों में $ PARAM $ समान पैरामीटर, टेम्पलेट लागू होने पर सभी संबंधित फ़ाइलों में समान मूल्य होगा।
  • यदि एक बहु-फ़ाइल टेम्पलेट्स संपादन योग्य पैरामीटर हैं, तो हॉट स्पॉट सत्र, जो आप इस टेम्पलेट को लागू करते समय तैनात करते हैं, आपको सभी बनाई गई फ़ाइलों के माध्यम से मार्गदर्शन करेगा जहां उपयोगकर्ता इनपुट आवश्यक है।
संबंधित मुद्दे

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