Developers tend to stick with particular tools, unless you’re the daring type. Once they learn and familiarize with something it’s hard to get them to change. I’m a believer in constant change. Always look for the new and improved. Keep your eye on what’s out there even if it costs you some downtime to relearn or experiment with a familiar way of doing something. In case you didn’t realize, I’m beginning another raving post about my favorite software package under the sun… IntelliJ Idea. I rate this software above any other software on the market. That includes operating systems, graphic editors, Spreadsheet apps, word processors, everything! It doesn’t include all of those features but as far as software quality and direction the guys (and gals) on the Jet Brains team get it. They understand me. They understand you (if you write Java code). They understand us better than we understand us. Where else will you get software that adapts to your working style while teaching you how to better do your job? I could rave about Idea for years (and I will). That’s all… no “buts”. Just a frank expression of how I can and will rave about Idea for years.
Why am I writing this?
I found yet another gem in Idea that just jumped right out and tickled me. I have this custom-self-made template for generating Java source code that I keep registered as a plain text file. I frequently make changes in the template, which is essentially Java source with Ant place-holder markers and I’ve been getting annoyed that I can’t auto complete symbols in the file. Well this morning I was calling a method on a variable that had been declared on an earlier line in the template and I blindly decided to try the ol’ Ctrl+Space (or option space on my Mac) combo. There was know way for Idea to know what methods were available on the reference. There was no way for Idea to know it was a reference because I had told Idea that I was editing plain text. There’s no variables, symbols, or references in plain text! However… lo and behold… I get the popup with all the available methods for the variable’s declared type! Unbelievable! That might not make much sense to many of you out there. It waas one of those developer moments that you just had to live to appreciate. You know the feeling like when you fix that long standing bug that finally allows a colon to show on a GUI widget label? And then after you fix it you run around poking everyone in the office pointing out a colon on a widget label like it’s the coming of the new millennium? And then that frustrated feeling of “they don’t appreciate what I just done did” forces you into the long-winded explanation of some core logic that nobody but your compiler understands? Yeah that’s the feeling I have right now explaining this to you all. In my mind Idea just found the cure to Alzheimer’s and y’all just ain’t recognizin’!