簡體   English   中英

將過濾器添加到Eclipse中的Project Explorer

[英]Adding a filter to the Project Explorer in Eclipse

我想在Project Explorer中添加一個新的過濾器,以向用戶隱藏在Eclipse RCP應用程序中自動創建的一些項目。

到目前為止,我發現了兩個擴展點:

org.eclipse.ui.ide.resourceFilters

允許我過濾導航

org.eclipse.jdt.ui.javaElementFilters

允許我過濾Java查看器

我希望Project Explorer有一個類似的擴展點,但到目前為止我還沒有運氣好。

我嘗試導入org.eclipse.ui.navigator和org.eclipse.ui.navigator.resources,但我找不到任何有趣的擴展點

我使用Eclipse 3.3.2作為此RCP應用程序的基礎

謝謝!

你去:

<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.eclipse.ui.navigator

我找到了正確的擴展點集。 這更像是我所期待的痛苦,因為Project Explorer是常見導航器的專業化。

這是一個兩步過程:

  • 擴展org.eclipse.ui.navigator.navigatorContent

    • 為此擴展點添加一個通用過濾器。
    • 為過濾器設置名稱和ID
    • 使用所需的邏輯實現過濾器查看器
  • 擴展org.eclipse.ui.navigator.viewer

    • 添加viewerContentBinding
    • 將內容id設置為org.eclipse.ui.navigator.ProjectExplorer
    • 添加兩個包含
    • 在第一個包含添加與普通過濾器的id匹配的模式
    • 在第二個包含添加id org.eclipse.ui.navigator.resourceContent

然后,過濾器與常見的Project Explorer相關聯

過濾器...用於Project Explorer視圖?

有一些長期存在的錯誤:

這可能需要一些特定的開發(如本主題所示

您可以通過創建一個擴展ViewFilter並將您的類與項目資源管理器相關聯的類來實現此目的。

(注意: 在Eclipse3.3.1破解了 FilterViewer,有些使用3.3.2這里是個好主意)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM