将filter添加到Eclipse中的Project Explorer

我想在Project Explorer中添加一个新的filter,以向用户隐藏一些在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应用程序的基础

谢谢!

你去:

                  

不要忘记导入org.eclipse.ui.navigator

我找到了正确的扩展点集。 这更像是我所期待的痛苦,因为Project Explorer是常用导航器的专业化。

这是一个两步过程:

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

    • 为此扩展点添加一个通用filter。
    • 为filter设置名称和ID
    • 使用所需的逻辑实现filter查看器
  • 扩展org.eclipse.ui.navigator.viewer

    • 添加viewerContentBinding
    • 将内容id设置为org.eclipse.ui.navigator.ProjectExplorer
    • 添加两个包含
    • 在第一个包含添加与普通filter的id匹配的模式
    • 在第二个包含添加id org.eclipse.ui.navigator.resourceContent

然后,filter与常见的Project Explorer相关联

filter…用于Project Explorer视图?

有一些长期存在的错误:

  • bug 226046: CommonNavigator ,添加“名称过滤模式” CommonNavigatorfilter (2008)
  • bug 1970:最初来自导航视图的相同请求 (… 2001!)

这可能需要一些特定的开发(如本主题所示 )

您可以通过创建一个扩展ViewFilter并将您的类与项目资源管理器相关联的类来实现此目的。

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