Over a million developers have joined DZone.

First Blush Doing Plugin Development in Years

DZone's Guide to

First Blush Doing Plugin Development in Years

· Java Zone ·
Free Resource

Download Microservices for Java Developers: A hands-on introduction to frameworks and containers. Brought to you in partnership with Red Hat.

I had a long post I was doing here, but Safari start dribbling all over itself, choking the CPU to death, so I killed it (not thinking I was flushing a pretty much fully baked piece (guess it‘s time to start using some software instead of this browser interface)).

So on the good side, the OOB experience of the PDE is really good now. When I did my first tour, I bought the Gamma/Beck book and went through the examples and got underway. Back then, setting up the environment was a drag. Not a ‘jesus, I want to kill myself and I haven‘t written a line of code‘ nightmare, but still, importing the plugins, and all was kind of a drag. Now you just run the wizard, get your project, then just run the project as an Eclipse app and up comes the other instance of Eclipse.


On the JET side, the two part tutorial is actually good. Of course, there is some sense that you have to go through a lot of crap to get some code generated. Also, the fact that they recommend turning off Build Automatically is kind of a joke (since it turns it off on all the other projects in the workspace). But once you get into the actual writing of code that will write code, you are going to have a plugin with the template and after hooking an action you will then be getting a JETEmitter and generating the code programmatically.

The one part of the process that was a nightmare was hooking the actions. I wanted to just put an item in the context menu so I could right click on a source file and choose ‘Generate/Entity Interface Components.‘ Well that turned out to be hellish? How could that be? There‘s a wizard for making a popup menu. But of course, the code in the tutorial didn‘t match the current state of the PDE. Then, the generated hook didn‘t seem to come up. Kept restarting things, guessing, reading, finally got it to work, but turned out it would only come up in the Navigator view. Still not sure why that is. So, staying true to the now, what 5 year tone of this blog, let me ask the question: did it never occur to these guys that there are much better ways to spend time than learn the arcana of some hooking little language?? Two ancillary thoughts on this: 1. I have been thinking a lot about Lean still lately, and in Lean we would have seen in an early iteration of this thing, that people were spending inordinate amounts of time on this part of the process and the devs would have done something about it, and 2. little languages of this sort, done in XML, are by-and-large, nightmarish torture devices. How hard would it be to provide some kind of in situ means of finding the desired implantation site? Now, the counter to this whiney gripe is that I remember the Gamma/Beck book talking about using the existing code as your guide. I guess part of the quicker OOB was once I was wading in the goo, the quicker OOB also meant that I didn‘t know where the source was for all the existing plugins. Guess I‘ll go look for that.

Download Building Reactive Microservices in Java: Asynchronous and Event-Based Application Design. Brought to you in partnership with Red Hat


Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}