Monday, May 28, 2012

NetBeans 7.2 beta: Faster and More Helpful

There has been significant excitement about the beta release of NetBeans 7.2. In this post, I look briefly at what makes this release so exciting (including better performance, providing more hints, and integrating FindBugs).

NetBeans 7.2 beta is available in the typical download bundles, ranging from the smaller Java SE, C/C++, and PHP bundles to the larger Java EE and "All" bundles. Installation of NetBeans 7.2 is as easy as ever and there are installation instructions for multiple platforms.

Speed!

The NetBeans IDE 7.2 Beta Release Notes include a section called What's New in 7.2 Beta which states of NetBeans 7.2, "Significant performance increase on remote filesystems, improved project scanning speed, and background project scanning." As I discussed in my recent post NetBeans Usability Tips, larger projects or numerous associated projects can lead to significant NetBeans performance degradation. In that post, I looked at how one can turn off that background source scanning to avoid this when necessary. The NetBeans development team has apparently heard many others wish for quicker scanning and they have focused on this and quicker startup for NetBeans 7.2 beta

The NetBeans 72 NewAndNoteworthy page provides additional information on the quicker performance. It states, "The indexes and indexing infrastructure were rewritten to use transactions. The project scanning and up to date check do not block editor features nor navigation. These features use the previous committed index. Also the write transactions are suspended by read transactions, so the background indexing has lower priority than user actions." That same page also states, "The binary indexers run in parallel which makes indexing of java project faster."

New NetBeans Hints

I like NetBeans's hints so much that I have written multiple posts about them: Seven Indispensable NetBeans Java Hints, Seven NetBeans Hints for Modernizing Java Code, and Creating a NetBeans 7.1 Custom Hint. NetBeans 7.2 adds several new hints including "Generate Implementing/Extending Class," "Zero Element Array Passed to Collection.toArray," "Method Result not Checked" (uses the FindBugs annotation @CheckReturnValue), "Generate switch Clauses," and "Fix Missing return Statement."

One of the new hints added in NetBeans 7.2 would have fit nicely in my post Seven NetBeans Hints for Modernizing Java Code. The "Add Underscores to Integer Literals" hint can help "modernize" Java code bases to leverage this new Java 7 feature.

The following screen snapshots demonstrate the utility of the new NetBeans 7.2 hint for including underscores in integer literals to improve readability. As the first screen snapshot indicates, there is some configuration available related to this hint. Also note that in my case of upgrading from NetBeans 7.1.1 to NetBeans 7.2 beta, this hint was not enabled (not checked) in the Tools | Options | Editor | Hint area.

FindBugs Integration

NetBeans 7.2 beta integrates FindBugs into the IDE. This makes it even easier and more intuitive to apply FindBugs to Java code in NetBeans than use of the Software Quality Environment I discussed in the post NetBeans 7 and Software Quality Environment.

The FindBugs Integration Plugin can be installed on NetBeans 7.2 beta using the Tools | Plugins | Available Plugins approach shown in the next screen snapshot.

An alternative approach for acquiring and installing the FindBugs Integration Plugin is through the source code inspection process. This can be done by selecting Source | Inspect (shown in next two images).

Note that FindBugs Integration is one of the items that can be explicitly selected, but I prefer to use "All Analzyers." Click on the "Install" button to see what "additional plugins [are] required for the selected configuration." In the case of the newly installed NetBeans 7.2 beta, the following appeared when I clicked on that "Install" button.

Once FindBugs Integration 1.8 plugin is installed, NetBeans begins reported FindBugs findings.

As noted in this post's section on the new NetBeans hints, the FindBugs annotation @CheckReturnValue is also now supported by a NetBeans hint.

JavaFX SceneBuilder Support

The SceneBuilder tool is an IDE-independent standalone tool announced at JavaOne 2011 for generating JavaFX interfaces that was released to the public earlier this year. As Cindy Castillo states in the post JavaFX Scene Builder Docs Updated, the Getting Started with JavaFX Scene Builder documentation now discusses (in fact, requires) use of NetBeans 7.2 beta for the tutorial. The SceneBuilder is still a separate tool, but it can be opened from NetBeans by simply clicking on an FXML file. The clicked-on FXML file will be loaded in the SceneBuilder instance that is started.

Miscellaneous Improvements

NetBeans 7.2 beta includes several other improvement including supporting and bundling of Ant 1.8.3, bundling Maven 3.0.4, C++11 support, support for Java 7 Update 4, and support for Oracle Cloud. The NetBeans 7.2 integration of TestNG is also interesting.

Conclusion

There's a lot to like about NetBeans 7.2, even in its beta release. It is faster and more helpful than its direct predecessors and integrates with many of the most popular Java and software tools and frameworks available today. The NetBeans 7.2 beta fanfare even attracted a self-proclaimed Eclipse user to try it out. There is substance behind the fanfare in this case. As Chris Mayer has stated regarding NetBeans 7.2 beta, "The most inclusive IDE just got a little bit sweeter."

No comments: