且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

在Eclipse中向Project Explorer添加过滤器

更新时间:2023-09-22 10:33:34

我找到了正确的一组扩展点。这是一个令人痛苦的事情,我预计,因为项目浏览器是一个专业的通用导航器。



这是一个两步的过程:




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




    • 为此扩展点添加一个公共过滤器

    • 设置过滤器的名称和id

    • 实现具有所需逻辑的过滤器查看器


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




    • 添加一个viewerContentBinding

    • 将内容标识设置为org.eclipse.ui.navigator.ProjectExplorer

    • 添加两个包含

    • 在第一个包含添加匹配公共过滤器的id的图案

    • 在第二个include中添加id org.eclipse.ui.navigator .resourceContent




然后,过滤器与常用Project Explorer


I want to add a new filter to the Project Explorer, to hide from the user some projects that are created automatically in an Eclipse RCP Application.

So far I've found two extension points:

org.eclipse.ui.ide.resourceFilters

Allows me to filter Navigation

org.eclipse.jdt.ui.javaElementFilters

Allows me to filter the Java Viewers

I expect there is a similar extension point for the Project Explorer, but so far I haven't had any luck getting it.

I tried importing org.eclipse.ui.navigator and org.eclipse.ui.navigator.resources but I could not find any interesting looking extension point either

I am using Eclipse 3.3.2 as the basis for this RCP Application

Thanks!

I found the right set of extension points. It is more of a pain that I expected, because the Project Explorer is a specialization of the common navigator.

This is a two-step process:

  • extend org.eclipse.ui.navigator.navigatorContent

    • Add a common filter to this extension point.
    • Set a name and id to the filter
    • Implement the filter viewer with the desired logic
  • extend org.eclipse.ui.navigator.viewer

    • Add a viewerContentBinding
    • Set the content id to org.eclipse.ui.navigator.ProjectExplorer
    • Add two includes
    • In the first include add a patter that matches the id of the common filter
    • In the second include add the id org.eclipse.ui.navigator.resourceContent

And then, the filter is associated to the common Project Explorer