David Heffelfinger: My Five Favorite NetBeans IDE Features!
Continuing a series of articles focusing on NetBeans users and their five favorite NetBeans IDE features, here's the next part, by David Heffelfinger -- NetBeans team.
David Heffelfinger is the Chief Technology Officer of Ensode Technology, LLC, a software consulting firm based in the greater Washington DC area. He has been architecting, designing and developing software professionally since 1995 and has been using Java as his primary programming language since 1996.
He has worked on many large scale projects for clients including the US Department of Homeland Security, Freddie Mac, Fannie Mae, and the US Department of Defense. He has a Masters degree in Software Engineering from Southern Methodist University. David is editor in chief of Ensode.net (http://www.ensode.net), a website about Java, Linux, and other technology topics. He's also a published author with several books available at PACKT, as well as a screencast course on Java EE 7. He's currently working on a new book about Java EE 7 and NetBeans IDE 8.
What are your 5 favorite NetBeans IDE features?
1. Distraction Free Mode. This is a simple feature, but makes your life so much easier when you are working on a small screen. NetBeans IDE is very powerful, and by default it has a toolbar with several icons near the top of the screen, plus several windows open, the Projects, Files, and Services window on the left, the Navigator window, the Output window at the bottom, plus the main editor area. This is great when working with a large monitor, since there is a lot of information that can be gathered at a glance, and a lot of functionality that can be accessed by a simple mouse click.
However, when working with a small screen, such as a laptop screen, it can get cramped. The distraction free mode introduced in NetBeans IDE 7.4 takes care of this issue, just hit Ctrl+Shift+Enter (or select the editor and then choose View | Show Only Editor in the main menubar) and the current window will be maximized inside the IDE, hiding all other windows.
It now has the look and feel of a text editor, with the power of an IDE!
2. JPA Generation. This is not a new feature, but still a great time saver. I work as a consultant for different customers, and not all of them have adopted NetBeans IDE as their standard IDE. However, I’ve converted more than a few to NetBeans IDE by showing them this feature alone.
3. PrimeFaces Integration. NetBeans IDE has had the ability to generate JSF CRUD applications for a long time. This feature allows us to quickly generate web based applications from a set of database tables. The generated pages, however, were fairly simple looking.
In NetBeans IDE 8 the ability to generate CRUD applications using PrimeFaces was added. The generated PrimeFaces pages are very aesthetically pleasing.
4. Maven Integration. Maven tends to generate strong opinions among Java developers, it seems that you either love Maven or hate it. I happen to fall into the first camp. Again, being a consultant, I don’t always get to work with teams that have standardized in NetBeans IDE, so I’m always glad to find out the project I’m working on uses Maven, since all three major IDEs support Maven to some extent, making the project IDE independent.
NetBeans IDE Maven support is head and shoulders above other Java IDEs, it is very seamless, just open any random Maven project and NetBeans IDE takes it from there, it figures out all the dependencies, and the IDE menu items (Clean, Build, Run, etc) automatically invoke the appropriate Maven goals.
Additionally, when adding dependencies, I frequently remember the name of a class I need, but I seldom remember the Maven coordinates for the dependency. NetBeans IDE allows me to search the Maven repositories for the class I’m looking for.
5. Java EE Application Server Integration. NetBeans IDE seamlessly integrates with most popular Java EE application servers and servlet containers such as GlassFish, Wildfly/JBoss, Tomcat, TomEE, and Weblogic.
When I join a new project, chances are the application server the customer is using seamlessly integrates with NetBeans IDE. Not having to leave the IDE to start or stop the server or to deploy the code is very nice.
Bonus Feature: Other IDE KeyMaps. I’ve often demoed NetBeans IDE projects and developers not familiar with NetBeans IDE are sometimes impressed by its features, such as the seamless Java EE application server integration, Maven integration, and JPA generation capabilities.
However, some of these are long time users of other IDEs and have memorized the keyboard shortcuts of their current IDE, so they are hesitant to migrate because they don’t want to have to learn a whole new set of keyboard shortcuts.
A very nice feature is that NetBeans IDE comes with keymaps for the two other popular Java IDEs out of the box, so all of these developers have to do is set the keymap to their IDE of choice and they are good to go:
Do you also want to share your favorite NetBeans features with the world? Write to netbeans dot webmaster at gmail dot com.