Ode to Eclipse Bug 8009
Some people reading this post will already know about the bug of which I speak. For those of you who are unaware, I give you Eclipse bug 8009. This is the Eclipse Bugzilla entry for the absence of split editor windows in the popular IDE. The bug is now over 10 years old. The bug has a very rich history, and I encourage you to read through at least a portion of the thread. One of my favorite parts is at the very end of the comment history, where folks raise a glass to toast the 10 year anniversary of the bug. I also enjoyed the attempt to fill a virtual tip jar with money to bribe the developers to implement this feature. It looks like they raised at least $270.
I recently had the unfortunate experience of revisiting this bug (hadn’t seen the thread in a while) because of the newly released Eclipse 4.2 (Juno). At SlickEdit, we are currently working on our next version of the SlickEdit Core for Eclipse plugin, which will be built on Eclipse 4.2. In Eclipse 4.2, the split editor window problem has again become a major hurdle. I’ll refrain from voicing any dissenting opinion about the new UI released in Juno, though all the criticism seems to be warranted, and focus on the issue at hand. Several plugins, ours included, have implemented their own ways of providing split editor window capabilities within Eclipse. These implementations may have relied on internal APIs (bad practice), but there was no publicly available way to go about providing this feature. So we did what we had to do to provide what our customers wanted. Eclipse sure didn’t seem interested in actually providing a way to split an editor window in their IDE (remember, 10 years). And please don’t say, “Click and drag the window.”
Enter Juno, the new Eclipse workbench UI, and API changes which have broken these implementations. Of course there is no guarantee that internal Eclipse APIs will not change or break between releases, so this to no fault of Eclipse. Although maybe if the bug was addressed sometime in the last 10 years this wouldn’t be such a problem in the first place.
For now we are left searching for another workaround, and checking the status of this epic bug. The comment history has gone through a civil phase, a nasty phase, and then what seems to be phases of disbelief, and now acceptance. I really just wanted to share this thread to some who might not have seen it before. Maybe now you feel a little bit better about some of the long-standing bugs in your code. I hope we don’t ever have to toast them.
(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)