Josh Juneau: My Five Favorite NetBeans IDE Features!
Josh Juneau is an application developer and technical writer. He develops primarily Java EE and desktop applications, also interfacing with other languages, such as Jython and Groovy.
Josh has written books on Java, and Java EE, always covering some NetBeans IDE features within the books. He is an extensive user of NetBeans IDE for his day job, and enjoys the simplicity that it provides for development.
What are your 5 favorite NetBeans IDE features?
It is difficult to slim my list of favorite NetBeans IDE features down to the top five. I've been a NetBeans IDE user for years, and I believe that the IDE has seen some of its most significant advancements in the past couple of years.
That said, I am going to list the features that I take advantage of the most. Being an avid Java EE developer, I am constantly using Maven based Web Application projects… utilizing JSF, EJB, JPA, etc. These five features save me a significant amount of time each day.
1. Expression Language Support. I work within many different JSF views each day, spanning across several projects. If I need to make an addition or update to a view, the expression language auto-completion becomes a great time saver. Many of my JSF controller names are long, and contain many different properties and methods. The expression language auto-completion makes it easy to begin typing a controller name, and then have the matching controllers for the selected project appear in a list.
It is also nice to have that controller's available properties and methods appear when I add the dot after the controller name.
2. Maven. Many of my projects are Maven based, as mentioned previously. NetBeans IDE contains excellent support for Maven. For starters, the Maven project has an easy to use, and well organized structure. All of the Web Pages are in their own folder, as are the REST Services, Test Packages, and Dependencies. Another nice feature is easy management of dependencies. For instance, it is easy to add dependencies to a project by right-clicking on the Dependencies folder.
3. Entity Classes from Database. I am constantly creating new entity classes to work with databases. Using the NetBeans "Entity Classes from Database" allows me to select one or more database tables, and the entity classes for those tables are then automatically generated. NetBeans also provides the option to generate named query annotations for persistent fields. This feature alone is a significant time saver.
4. Chrome Plug-In. Since NetBeans IDE 7.4, I've been making use of the Chrome Plugin for lightening fast web page development. Using the plugin, I can modify a JSF view or HTML5 page, and then instantly see the changes in the browser.
The interaction between the browser and the IDE is beneficial for doing things such as for pinpointing CSS styles applied to elements of a page. For instance, if you select an element in the browser window, you can see the styles that are applied to that element being highlighted within the IDE Browser DOM window. The plugin also lets you change the layout of the browser window to match the standard sizes for different devices, such as tablets and phones. This makes it easy to see how your web pages will layout across different devices.
5. Version Control Integration. Whether you use Git, Mercurial, or Subversion, NetBeans IDE has you covered. I have used Mercurial for years, and NetBeans IDE provides seamless integration for projects that contain a Mercurial repository. It is easy to perform a diff, commit, and see history. I've also been utilizing Git for some of my more recent projects and the integration is just as good. Simply right-click on a project or particular file to access a plethora of features for your version control.
These are just a handful of my favorite features of NetBeans IDE. The IDE makes development much easier, I could never imagine going back to a text editor and working from the command-line.
Do you also want to share your favorite NetBeans features with the world? Write to netbeans dot webmaster at gmail dot com.