Twitter github

Cooking in the PDE Kitchen

I have a new feature that I put in PDE that I’m requesting feedback on. I need feedback soon since I will disappear and bury myself in EclipseCon preparation and also be vacationing in Whistler, BC for a week.

I created a new schema attribute type called ‘identifier’ that can be used when you define your extension points. Instead of explaining things in words, I like to do things using pictures:

In the picture above, I’m working with the ‘pespectiveExtensions’ extension point. If you’re familiar with this extension point, it allows you to extend perspectives defined in other plug-ins. It lets you do this by referencing the id of an already defined perspective, but this suffers from the magical identifier problem in Eclipse. To help with this issue, I’ve modified the pespectiveExtensions extension point to have its ‘targetID’ field be of type ‘identifier’ and be based on perspective ids (in simple terms).

Now what does this look like to end users working with the ‘perspectiveExtensions’ extension point? Look at the figure below:

Now, instead of the ‘targetID’ field being just a string, it becomes hyperlinkable along with a ‘Browse…’ button that when clicked, displays all the valid identifiers for this attribute (in this case, it’s all the perspective ids found). On top of that, if you notice in the Problems view, identifiers that don’t belong will be properly flagged with a warning.

If you want to toy with this functionality and provide feedback, checkout the latest I-build of Eclipse where Paul Webster assisted me in the PDE kitchen by modifying some of the Platform UI extension points. Try to create a command with keybinding now >:)

Thanks to Paul Webster and Remy Suen for motivating me to finish this feature.

Note: There’s no guarantee that this feature is set in stone yet so don’t go changing all your extension points just yet. The PDE kitchen is closed until I get back from Whistler 🙂