2010-03-07 10 views
6

में प्रोजेक्ट एक्सप्लोरर में एक फ़िल्टर जोड़ना, मैं प्रोजेक्ट एक्सप्लोरर में एक नया फ़िल्टर जोड़ना चाहता हूं, उपयोगकर्ता से छिपाने के लिए कुछ परियोजनाएं जो ग्रहण आरसीपी अनुप्रयोग में स्वचालित रूप से बनाई गई हैं।ग्रहण

अब तक मैंने पाया दो विस्तार अंक:

org.eclipse.ui.ide.resourceFilters

मुझे फिल्टर करने के लिए नेविगेशन

org.eclipse.jdt.ui की अनुमति देता है .javaElementFilters

मुझे फिल्टर करने के लिए जावा दर्शकों की अनुमति देता है

मुझे उम्मीद है कि परियोजना एक्सप्लोरर के लिए एक समान एक्सटेंशन बिंदु है, लेकिन अब तक मुझे कोई भाग्य नहीं मिला है।

मैं org.eclipse.ui.navigator और org.eclipse.ui.navigator.resources आयात करने की कोशिश की लेकिन मैं किसी भी दिलचस्प लग रही विस्तार बिंदु नहीं मिल सकता है या तो

मैं के लिए आधार के रूप में ग्रहण 3.3.2 का उपयोग कर रहा यह आरसीपी आवेदन

धन्यवाद!

उत्तर

7

मैं विस्तार अंक का सही सेट मिल गया। यह एक दर्द है जो मुझे उम्मीद थी, क्योंकि परियोजना एक्सप्लोरर सामान्य नेविगेटर का एक विशेषज्ञ है।

  • विस्तार org.eclipse.ui.navigator.navigatorContent

    • इस विस्तार के मुद्दे पर एक आम फ़िल्टर जोड़ें:

      यह एक दो चरणीय प्रक्रिया है।

    • फिल्टर
    • करने के लिए एक नाम और आईडी सेट को लागू वांछित तर्क के साथ फिल्टर दर्शक
  • org.eclipse.ui.navigator.viewer

    • का विस्तार एक viewerContentBinding
    • जोड़े
    • सामग्री आईडी को org.eclipse.ui.navigator.ProjectExplorer
    • दो जोड़ें
    • पहले में शामिल

और फिर फिल्टर एक गपशप है कि आम फिल्टर

  • की आईडी से मेल खाता है दूसरे में जोड़ने शामिल जोड़ने आईडी org.eclipse.ui.navigator.resourceContent, आम परियोजना एक्सप्लोरर

    से संबद्ध होता है
  • +0

    @ मारियो: बहुत रोचक; उत्तर के लिए धन्यवाद, हालांकि आप इसे थोड़ा और विस्तृत कर सकते हैं;)। +1 – VonC

    2

    फ़िल्टर ... परियोजना एक्सप्लोरर व्यू के लिए?

    उस पर कुछ लंबे समय से कीड़े हैं:

    कि कुछ विशिष्ट विकास requiere सकता है (के रूप में सुझाव दिया this thread)

    आप शायद इसे क्रेआ द्वारा पूरा कर सकते हैं एक कक्षा को टिंग करना जो ViewFilter बढ़ाता है और प्रोजेक्ट एक्सप्लोरर के साथ आपकी कक्षा को जोड़ता है।

    (नोट: FilterViewer broken in Eclipse3.3.1 थे, कुछ यहाँ 3.3.2 का उपयोग कर एक अच्छा विचार है)

    +0

    इस टिप्पणी ने एक संकेत दिया। दरअसल, यह व्यूफिल्टर को विस्तारित करके किया जाता है। मुश्किल भाग को परियोजना एक्सप्लोरर को पंजीकृत करने के लिए सही विस्तार बिंदु संयोजन प्राप्त हो रहा था। –

    8

    ये लीजिए:

    <extension point="org.eclipse.ui.navigator.navigatorContent"> 
        <commonFilter 
         description="Hides *.pj resources" 
         id="com.xyz.commonFilter.hidePj" 
         name="*.pj resources" 
         activeByDefault="true"> 
         <filterExpression> 
          <and> 
           <adapt type="org.eclipse.core.resources.IResource"> 
            <test property="org.eclipse.core.resources.name" value="*.pj"/> 
           </adapt> 
          </and> 
         </filterExpression> 
        </commonFilter> 
    </extension> 
    <extension point="org.eclipse.ui.navigator.viewer"> 
        <viewerContentBinding 
          viewerId="org.eclipse.ui.navigator.ProjectExplorer"> 
          <includes> 
          <contentExtension pattern="com.xyz.commonFilter.hidePj"/> 
          </includes> 
        </viewerContentBinding> 
    </extension> 
    

    org.ec आयात करने के लिए मत भूलना lipse.ui.navigator पैकेज

    +0

    मेरे लिए पूरी तरह से काम किया और अच्छा है कि आपको एक कक्षा बनाने की आवश्यकता नहीं है। धन्यवाद! –