Java 在Eclipse中向Project Explorer添加筛选器
我想向projectexplorer添加一个新的过滤器,以向用户隐藏在eclipsercp应用程序中自动创建的一些项目 到目前为止,我发现了两个扩展点: org.eclipse.ui.ide.resourceFilters 允许我过滤导航 org.eclipse.jdt.ui.javaElementFilters 允许我过滤Java查看器 我希望ProjectExplorer也有类似的扩展点,但到目前为止,我还没有得到它 我尝试导入org.eclipse.ui.navigator和org.eclipse.ui.navigator.resources,但也找不到任何有趣的扩展点 我使用Eclipse3.3.2作为这个RCP应用程序的基础 谢谢 过滤器。。。对于Project Explorer视图 这上面有一些长期存在的错误:Java 在Eclipse中向Project Explorer添加筛选器,java,eclipse,eclipse-rcp,Java,Eclipse,Eclipse Rcp,我想向projectexplorer添加一个新的过滤器,以向用户隐藏在eclipsercp应用程序中自动创建的一些项目 到目前为止,我发现了两个扩展点: org.eclipse.ui.ide.resourceFilters 允许我过滤导航 org.eclipse.jdt.ui.javaElementFilters 允许我过滤Java查看器 我希望ProjectExplorer也有类似的扩展点,但到目前为止,我还没有得到它 我尝试导入org.eclipse.ui.navigator和org.ecl
- (2008年)
- (…2001!)
ViewFilter
的类并将您的类与项目浏览器关联来实现这一点
(注意:FilterWeber是,一些使用3.3.2的人在这里是个好主意)我找到了正确的扩展点集。这比我预想的更痛苦,因为ProjectExplorer是CommonNavigator的一个专门化 这是一个分为两步的过程:
- 扩展org.eclipse.ui.navigator.navigator内容
- 将公共筛选器添加到此扩展点
- 设置过滤器的名称和id
- 使用所需的逻辑实现过滤器查看器
- 扩展org.eclipse.ui.navigator.viewer
- 添加viewerContentBinding
- 将内容id设置为org.eclipse.ui.navigator.ProjectExplorer
- 添加两个包含项
- 在第一个包含中,添加与公共过滤器id匹配的图案
- 在第二个包含中,添加id org.eclipse.ui.navigator.resourceContent
<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.navigatorpackage这条评论给出了一个提示。实际上,这是通过扩展ViewFilter来实现的。棘手的部分是获得正确的扩展点组合,以便将其注册到项目浏览器。@Mario:非常有趣;谢谢你的回答,不过你可以再详细一点;)+1对我来说非常有效,很好,您不需要创建单个类。谢谢