Mark has posted 1 posts at DZone. View Full User Profile

Mark Wilmoth: My Five Favorite NetBeans IDE Features!

02.15.2014
| 2949 views |
  • submit to reddit
Following on from Ciprian Turcu's five favorite NetBeans IDE featuresMark Stephen's five favorite NetBeans IDE features, Josh Juneau's five favorite NetBeans IDE features, Marcus Eisele's five favorite features, David Heffelfinger's five favorite NetBeans IDE features, and Lou Dasaro's five favorite NetBeans IDE features, here's the next part in a series of articles focusing on NetBeans IDE users and their 5 favorite NetBeans IDE features, by Mark Wilmoth, an Extreme NetBeans IDE Tester, Java Programming Enthusiast, and Barbecue Aficionado. -- NetBeans team.

I had never programmed much in Java and most of my programming endeavors were C/C++ command line programs for various Mechanical Engineering and Computer Science classes.  In a software engineering class I attended at the University of Missouri in Kansas City, a class project was specified to operate on Windows and MAC OS, so naturally we chose Java for our programming language being that it is cross platform, well known and stable.

I had used Visual Studio for C/C++ console programs, but I didn’t use it for anything more than a text editor and I had no idea how to use any of its IDE capabilities. I had played with the Visual Studio GUI capabilities a bit, so I knew it was as simple as dragging and dropping controls onto a form and then moving them into position.

In my research to painlessly assemble a GUI for our project, I downloaded Eclipse, IntelliJ, and NetBeans. I attempted to create a form with a button and label, it was not intuitive or obvious how I could position the controls within Eclipse or IntelliJ, but NetBeans was intuitive and simple. I know I probably could have read a tutorial and been up to speed on the other IDEs in a short time, but with NetBeans it was as simple as dragging and dropping controls onto a form and I could immediately position them where I liked without any hassles.

That is how I started using NetBeans and it is now the Java IDE of my choice.

What are your 5 favorite NetBeans IDE features?

1. GUI Builder. It is simple and it works. NetBeans has a Palette from where I can drag and drop a component onto a Swing panel. I can then double click on the component and the most common type of event listener and empty handler are generated for the component. 

Each component has event properties which allow me to add any sort of event listener and empty event handler to the panel’s source code.



2. Automatic Imports. I can type a library class name and if the containing package is in the class path, project, or in my project’s libraries, NetBeans recognizes the package that contains the class. NetBeans will then automatically add an import statement for it. If there are duplicate names in different packages, NetBeans prompts me for which one I want. 



3. Automatic Code Formatting. NetBeans allows me to define detailed automatic formatting so I can arrange my source code any way I please. Usually I keep my code formatted as I go, but if it gets in a mess, I use the automatic formatting feature and it quickly fixes everything the way I like it. Automatic formatting also comes in handy when pasting code into a source file as it will most always never be formatted right. 



4. Easy to Use GIT and Mercurial Versioning System Integration. If you have Mercurial installed and in the System path, the Mercurial integration works automatically. GIT just works—there is nothing extra to install.



5. Easy Renaming of Classes, Members, Packages, and Source Files. I can easily rename a package or source file and NetBeans will refactor all the usages in a project to account for the new names. It is the same if I rename a field or method and NetBeans will rename usages throughout the project. If I change a class name, NetBeans will rename the source file to match the new name. 

Published at DZone with permission of its author, Mark Wilmoth.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)