Trying out NetBeans 5.5
I use Eclipse both at home and at work, but finally decided to give NetBeans a spin. Overall, the IDE is solid, but some of the features seem too 'literal'. For lack of a better word, let me use an example instead. When I'm writing test cases, I'll constantly comment and uncomment lines. Instead of providing one comment toggle control, NetBeans has two different ones:
- ctrl+shift+T to comment
- ctrl+shift+D to uncomment
Two things: does T and D have anything to do with the noun 'comment', and why isn't the IDE smart enough to do this with one command? Consequently, running the comment command multiple times will keep on adding more '//' to the beginning of your lines. Great.
Hotkeys aside, I'll always try to right click to find associated features. This is fairly confusing in NetBeans for common tasks such as implementing abstract methods or generating bean accessors. When you are writing APIs and deal with inner classes, this only adds additional confusion with the IDE.
Right-clicking on a Class, under the Refactor sub-menu, you are presented with a list of options for all Java types-- including: Extract Method and Change Method Parameter types-- what does that have to do with a Class declaration? Feel free to pick these options, but you will be presented with an error.
If I'm declaring a new class, or add an additional abstract method, why can't I right-click and implement those methods. Yes, the option is on the top menu, under 'Source', but I'm concerned with the context of my cursor in the code-- may it be a method or class file, not 'mousing' away from it to the top menu under 'Source'.
Finally, many of the options around refactoring are always forced into a review dialog before committing the changes. If I want to generate getters and setters, and select the fields I want, why always force me to review in a second dialog? I've gotten caught off guard so many times because that bottom pane has everything loaded into it for output, junit results, etc. Clicking on 'next' in the pop-up dialogs, closes the dialog, then adds yet another tabbed panel to the bottom with the next step to confirm what I just said I wanted to do. It seems unecessary and should be an optional flow-- and even if I wanted confirmation, why close the dialog and put the next step in another panel?
Overall, NetBeans isn't bad. It's just not as intuitive as others I've used. It's still never obvious to me with what classes have errors and which ones don't without hitting the recompile button.