Skip to main content
Submitted by Xenoveritas on
Topics

I'm using the Web Toolkit (WTP) version of Eclipse, since I'm working on a web service. Well, another project wants to try creating a client using the Rich Client Platform (RCP), so I start messing around with that, too. Start following the instructions in Eclipse Rich Client Platform and get up to the point where you're supposed to add a view to an extension point.

Whoops. No view on the context menu. Wha? Search the web for a reason, searching, searching, nothing. Arg.

Finally discover that essentially, if you want the PDE to work, you must use the SDK versions of the packages. Yay. So it's off to download Eclipse itself, the EMF (use the emf-sdo-xsd-SDK bundle, BTW), the GEF, something called JEM from the Visual Editor site, and finally, the Web Standard Tools themselves. Fun, huh?

Unpack, unzip, cool. Start up a test workspace, yay! I can add a view in a quick Hello RCP project!

Install Subclipse, and bounce back to the main project where I'm running through the tutorial. Doesn't work. Of course. So now I'm thinking Subclipse is screwing it up. Run through that for a couple of hours, and finally decide to restart my little sample project, and notice that it's running fine. Grr.

So now I'm thinking, "maybe my project is messed up." Close Eclipse, open a terminal in my project directory, and move ".metadata" to "metadata_dead" and restart. Get an empty workspace (gee, wonder why). I "import" the existing projects, and, lo and behold, I can add a "view"!

Final lessons:

Install the SDK versions of the Eclipse packages if you want to be able to create RCP applications. If you don't, the schemas will be missing, and you'll break the Extension editor.

If you've already created a workspace without the SDK versions, you'll need to delete the ".metadata" directory within that workspace and start from scratch. Yes, you'll lose all your settings (essentially anything set through Windows -> Preferences), but you'll be able to use the Extension Editor again.

Update: Ah-ha! I was wrong - the Eclipse PDE takes its queues from the current Target Eclipse installed. So if your Target Eclipse isn't an SDK, it won't work.