Recently I have had to work a lot with NetBeans. We are working on integrating GridGain management console with SUN VisualVm, so NetBeans is pretty much the only IDE we have available for the task.
Overall, I was quite exited to try out a new IDE and I can definitely say that NetBeans6 has tremendously leaped forward comparing to its previous versions. It also looks quite nice on Fedora Linux. However, it has certain annoyances that still make IDEA or Eclipse much superior IDEs. Some of them are:
- Project Views
Although you can import arbitrary sources from various folders, in Package View I can only look at Java code. Why can't I have one view where NetBeans would auto detect Java code and show it as packages and non-Java code - as regular folders? It's getting tiresome to switch between package and File views just to look at my XML files - Hierarchical Package View
First of all, to switch Package View from flat into hierarchical mode was not easy. I really had to look for it. Moreover, unlike other IDEs, NetBeans does not have an option to group empty packages. Also, there is no expand-all/collapse-all option, which makes hierarchical view virtually unusable. - Imports
There is practically no way in NetBeans to configure a project to auto-include package level imports, with '*' at the end. The only way to work with NetBeans is to have single-class imports. I constantly have to manually fix imports because we have a project-wide coding standard to only use package-level imports. - Javadoc
I would like to have an option to configure all Override method to auto-include @Override annotation. I also want to have all methods that implement an interface or override methods from superclass to have automatic {@inheritDoc} Javadoc inserted. Eclipse, for example, has the best support for it. - Library Dependencies
It is annoying to have to specify every single JAR file separately as project dependency (we have over 30 JARs that I need to specify). I love the support from IDEA which allows me to simply specify a folder and IDEA will automatically scan all JAR files in it.
I will stop here, although I could name a few more. Hope NetBeans 6.5 will address some of these issues. I will definitely give it a shot once it comes out of beta.
And by the way, I am definitely not an advanced NetBeans user, so if I missed any features of NetBeans that already solve these problems, please comment on this blog.


9 comments:
Thanks for the post, i need some advice. I'm a seasoned ASP.NET programmer and eager to start some java. my problem with Java is always the IDE , I can't effort IntelliJ
I don't remember if this was not in 6.0, but in NetBeans 6.1 when you add libraries it has "add library" or "add jar/folder" (which can also add zip files).
When looking at packages I can right click on the project window as select "View Packages As" and it gives me list or tree options.
I think use * for imports is frowned upon, and NetBeans makes it easy to not have to do that. Maybe your dev-team should rethink that policy based on new technology to help simplify import management.
Well, I thought I was clear on some of these points in my original post:
1. "Add Jar/Folder" does not let me add a folder with multiple jars in it - it only lets me add a folder with compiled classes. Take a look at IntellyJ IDEA on how convenient it is to add libraries.
2. "View Packages As Tree" option does not allow me to group empty packages together and forces me to expand every individual package even though there is nothing in it. Again, see IDEA or Eclipse on how convenient it is there.
3. As far as '*' imports - I don't think NetBeans team should decide for me what kind of imports I should use in my project. Both, IDEA and Eclipse let me configure it either way.
Again, I don't mean to come down on NetBeans. I am just hoping that NetBeans team starts paying attention to the little things.
Best.
que0x
welcome to the open source, free as in both beer and freedom, world! in addition to netbeans, you may want to try eclipse. to find reviews, google netbeans and eclipse in the same box, you'll find a bunch.
Don't add jar/folder. Instead, define a library:
Project Properties|Libraries|Add Library|Create...
Add the jars you need to the library.
After that, any time you can add the named library and all the JARs are included.
import x.y.* is bad practice and should be avoided.
You are free to type import x.y.* manually, or you can create a code template for new files to do this if you wish.
Overall, your criticism is that NetBeans isn't the same as IntelliJ or Eclipse. Having been a heavy user of both NetBeans and Eclipse (and some other IDEs over the years) I would say that you would have similar criticisms if you were a hard-core NetBeans user going to Eclipse.
The truth is that no IDE is perfect - in Eclipse I find myself wishing for Netbeans features and vice versa.
Hi Anonymous poster,
I already have the named library created, however, whenever I want to add a JAR, I need to explicitly add it to the library. I can tell that you are not familiar with IntellyJ way to add libraries.
I disagree with you that this is a matter of being used to an IDE. I am a heavy IntellyJ IDEA user, but I consider Eclipse a good IDE too because in many cases there is always a convenient way to do things.
I don't care if NetBeans has a different way of doing things. I do care however if it does not provide me with a way to do things conveniently or sometimes even gets in the way.
Best.
Did you submit these suggestions as Feature Requests to the Netbeans bug tracking system?
Your feedback will help the Netbeans developers decide what features to add in future versions.
This is no different than with any other IDE. Blogging is a great catalyst for interesting discussions, but nothing will change unless you tell the developers.
You said that "First of all, to switch Package View from flat into hierarchical mode was not easy. I really had to look for it."
Actually, I searched a lot but I couldn't find a way to do this. Can you tell how we can change the Package View to hierarchical mode?
Thanks really.
To switch to hierarchical view, right-click anywhere in white space inside of Projects window and select "View Java Packages As Tree"
Post a Comment