Eclipse Papercut #8 – Filtered PackageExplorer by project name

I recently learned from Ian Bull about Feature Patch Projects which allow you to patch existing features.

This allowed me to replace my self-written clone of the package explorer with a modified one based on the JDT implementation. The benefit of this approach is that the Mylyn filtering also works which I really missed in my implementation.

The filtered package explorer allows to filter the projects by name as demonstrated in the following screenshot.

I created an update site you that you can try it out. Please note that Eclipse only allow one feature patch per features, so in case you have already something installed which modifies JDT my patch will properly not work. I think STS, AspectJ, Groovy and the like also patch JDT but I’m not sure if they only patch JDT core or also JDT UI.

p2 Update Site:

http://www.vogella.com/updatesite/jdt

I also opened a bug to discuss if that feature would be used in the standard JDT Package Explorer: Bug report.

If you want to restore the original package explorer, just use p2 to de-install it again.

About Lars Vogel

Lars Vogel is the founder and CEO of the vogella GmbH and works as Eclipse and Android consultant, trainer and book author. He is a regular speaker at international conferences, He is the primary author of vogella.com. With more than one million visitors per month this website is one of the central sources for Java, Eclipse and Android programming information.
This entry was posted in Eclipse, Papercut and tagged . Bookmark the permalink.

9 Responses to Eclipse Papercut #8 – Filtered PackageExplorer by project name

  1. Hi Lars,
    can you please point me to the modified code?
    Thanks,
    Andrey

  2. Lars Vogel says:

    Andrey: I pushed it to https://github.com/vogella/jdt-package-explorer/

    The commit is commit/97a8c0d31938112a6d39e3a7cada8538590f3b58 Looks like I committed a lot of whitespace but I assume you find the relevant changes fast.

  3. Eric Rizzo says:

    It would not install into my Eclipse Helios SR2 – just says “Filtered Package Explorer is not applicable to the current configuration and will not be installed.” Is this feature perhaps specific to Juno/4.2 ? If so, can you port it to 3.x?

  4. Eric Rizzo says:

    Sorry, I meant to say Indigo SR2, not Helios.

  5. Lars Vogel says:

    @Eric, Another good reason to upgrade your Eclipse installation. :-) I prefer people to use Eclipse 4.2 and to report bugs if they find issues, hence I do not plan to downgrade that feature.

  6. Eric Rizzo says:

    That’s too bad. Some of us can’t or don’t want to use 4.2 as our daily tool. Personally, I have 2 reasons:
    A) I gave it an honest try up to about Milestone 5, but it just isn’t ready for prime time in my opinion. There was very little new that I found benefit from, and there are some regressions and design choices that I don’t like.
    B) My current client has all their developers on 3.7; when I touch some PDE files with later versions, sometimes they become incompatible with older versions of PDE, so I literally can’t use 4.x on a daily basis unless I’m very careful. Not worth the headache to me.

  7. Tobias Breßler says:

    Hello Lars,

    your Patch doesn’t filter the Package Explorer, when ‘Top Level Elements > Working Sets’ is enabled. I tried it with the latest release: Juno/4.2.

    Best regards,
    Tobias

  8. Lars Vogel says:

    @Tobias: Yes, this is not supported as I personally never use this. Please feel free to supply a patch to my patch.

  9. Eric Rizzo says:

    Got it installed into 3.8 SDK, works great.
    However, it would be nice if the UI were designed and implemented like the filter field in Error Log view. In Error Log, the control to clear the filter field is embedded into the field itself, probably using the ICON_CANCEL style bit for Text widgets (in a platform-consistent way); in your Package Explorer patch, the “erase” button takes up a lot of space and messes up visual alignment (at least on Mac it does). At the least, I think the “erase” button would be better as a button without a border, so it looks more natural part of its surroundings and takes up less space.

Comments are closed.