2012-06-01 9 views
5

मेरी कस्टम ग्रहण प्लगइन में, मेरे पास जावा क्लास का एक पूर्ण श्रेणी का क्लास नाम स्ट्रिंग के रूप में है, और इसके वास्तविक फ़ाइल पथ को जानना चाहता हूं। असल में, मैं उस स्रोत फ़ोल्डर का नाम जानना चाहता हूं जिसमें यह रहता है।एक्लिप्स प्लगइन में जावा स्रोत फ़ाइल का पूर्ण फ़ाइल पथ कैसे निर्धारित करें?

कक्षा वर्कस्पेस में किसी भी जावा प्रोजेक्ट से हो सकती है। स्रोत फ़ोल्डर नाम मनमानी हैं।

मैं ग्रहण 3.6 का उपयोग करता हूं।

धन्यवाद!

उत्तर

2

आपको खोज इंजन API का उपयोग करना होगा। org.eclipse.jdt.core.search.SearchEngine देखें।

आप देख सकते हैं कि विभिन्न स्थिर कार्य हैं जिन्हें आप कॉल कर सकते हैं, प्रत्येक अपने स्वयं के विकल्पों के साथ। आपको उपयुक्त org.eclipse.jdt.core.search.SearchPattern बनाने की आवश्यकता होगी और उसके बाद उसे एक स्कोप (वर्कस्पेस) और एक अनुरोधकर्ता (कुछ परिणाम जो सभी परिणामों को एकत्रित करता है) के साथ खोज इंजन में पास कर देगा।

आमतौर पर, आपको IType एस जैसे सामानों का एक गुच्छा मिलेगा, जो जावा मॉडल में प्रकारों तक पहुंचने के लिए सार्वजनिक एपीआई हैं। किसी भी प्रकार के फाइल सिस्टम स्थान प्राप्त करने के लिए आप IType.getResource().getLocation() पर कॉल कर सकते हैं। GetResource विधि शून्य वापस आ सकती है, इसलिए आपको इसकी जांच करनी होगी।

+0

धन्यवाद! यह बहुत ही आशाजनक लगता है। मैं सोमवार को कोशिश कर पाऊंगा, और अगर यह काम करता है तो आपको बताएगा। क्या आप किसी विशेष 'SearchEngine' विधि की अनुशंसा कर सकते हैं? –

+0

ओपन टाइप डायलॉग (कंट्रोल + शिफ्ट + टी) एक ही सर्चइंजिन का उपयोग करता है। – Ravi

+0

@ रवि हां, मैं यही उम्मीद कर रहा था! बीटीडब्ल्यू, क्या मैं बस 'सर्चइंजिन' कक्षा का एक नया उदाहरण बना सकता हूं, या क्या मुझे इसे कुछ ग्रहण कारखाने से प्राप्त करने की आवश्यकता है? –

2

जावा क्लास के IResource पर जाने के लिए आपको JDT API stuff का उपयोग करने की आवश्यकता होगी। वहां से आप युक्त फ़ोल्डरों और जो भी आपको चाहिए, प्राप्त करने के लिए संसाधन API का उपयोग कर सकते हैं।

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