将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
,添加“名称过滤模式”CommonNavigator
filter (2008) - bug 1970:最初来自导航视图的相同请求 (… 2001!)
这可能需要一些特定的开发(如本主题所示 )
您可以通过创建一个扩展
ViewFilter
并将您的类与项目资源管理器相关联的类来实现此目的。
(注意: 在Eclipse3.3.1中破解了 FilterViewer,有些使用3.3.2这里是个好主意)