Yesterday, I found a nice feature in eclipse. It’s neither very special nor is it uber-helpful. But it is the way how I found it, which leads to some thinking. Here’s the story:
I was writing some .bnd files for a couple of OSGi bundles at work. (By the way: bnd is a nifty tool, I recommend to anyone who is writing bundles) Those files hold several parameters and macros which are used to create the OSGi bundles from an (at least in my case) eclipse project. It is pretty well integrated into eclipse, however you need to manually insert package and class names in some circumstances. As a matter of fact, you have to do it, two ore more times per file.
As anyone who is working regularly with java knows, package names and (full qualified) class names can get rather long. To avoid typos, which are getting really annoying as they are sometimes hard to find, I am used to copy the names. My work-flow was to go into the class, mark the package name from the package statement and past it into the bnd file. Or to mark the package, right click, choose “refactor”->”rename” and then copy the name.
Both of this ways work fine, but require a couple of clicks and mouse moving. And here’s what happen yesterday: right before copying the name out of the refactor rename-window, I noticed an entry in the eclipse package explorer context menu: “Copy qualified name”. This make me pause a moment.The last couple of weeks, I was working with the above mentioned way of getting the names of my classes into my .bnd files. Totally unaware of this short, already present function of copying those names with an simple action.
To overlook such an blatant item in the menu is something I find infuriating and embarrassing. But this lead me to the following thinking: What else does I oversee every day? Is there more of blazing simple but helpful functionality of eclipse (or any other program.), sitting there, full of willingness to help me, but I don’t notice them?
I’ve tried several ways to organize my time better and to get more productive at work. Some of them work, some don’t. But as Jeff Attwod stated on his blog, you need to keep your saw sharp: To get more productive (and a better software engineer) you need to improve your skills and you need to now your tools. I think, you need to know them intimate. You should understand, what philosophy is behind their user interface, the way thy store data, etc.
Long story short: Probably we should consider on giving us some short time a day (or a week, or a month) to check out some of the functions in our most used programs which we have not used before. 5 to 15 minutes to try-and-error some menu items, or check the documentation.