New And Noteworthy in NetBeans IDE 7.0

Platform

Native Filesystem listening

The IDE no longer scans for external changes in your source directories when you switch in and out of the IDE window. Instead, the IDE relies on native OS file system listeners. Supported on Windows, any modern Linux, latest Mac OS X.

New Annotations

Registration of Actions, TopComponents, MIME Types, and JavaHelp is now done via compile-time annotations. When the module is compiled, the registrations are automatically created in a generated layer file in the module.

IconView

Other Changes

Java

JDK7 support

The user can select JDK7 as his/her target platform in the platform manager. If this is done the built in parser starts using the new compiler (no red underlines for new javac features) and the following set of IDE features gets enabled

Strings in switch

code completion updated

hint converting a cascade of if-elses to switch

Diamond operator (new LinkedList<>())

warning when the diamond operator is not used and could be, includes fix to remove the superfluous bounds

tooltip in hyperlink (Ctrl-point to the identifier) shows inferred bounds

java.util.Objects

equals and hashcode generator (Alt-Insert, "equals() and hashCode()") uses java.util.Objects.equals/hashCode if available

JSR 292 (Exotic identifiers)

New integer literals

suggestion to convert an integer constant to a different radix can also convert to binary literal

Multicatch

code completion works in the multicatch variable declaration

hint to join multiple catches into one multicatch if the handling code is the same

fix for the error if the multicatch variable is not final

Automatic resource management

covert to ARM hint

New parser

As mentioned at the beginning of this section the built in parser recognizes the new syntax. On the following screenshot all the hints from the previous pictures were applied to yield the final result:

JUnit

The 4.8.2 release of the JUnit library has been integrated.

You can now run or debug a single test case (method) in a suite (class) from the editor context menu.

It's now possible to rerun only failed tests.

The filtering of the test results view was improved. It' now allowed to select the result states (passed, failed, error) which will be hidden in the result view.

The tabbed output was implemented for the test results view.

Javadoc

Remote HTTP URLs are now supported for Javadoc in libraries and Java platforms. Downloading local Javadoc is still strongly recommended for performance and reliability.

Ant 1.8.2

The 1.8.2 release of the Apache Ant build tool has been integrated.

Maven

The bundled version of Maven was always used to interpret project metadata for display and editing in the IDE, but is now also used to run builds by default. You can change the Maven Home setting if you wish to use another Maven installation to run builds, but if you run into problems first check Maven 3 compatibility notes to see if any fixes can be made in your project.

There is an archetype (project template) for an empty project using POM packaging, which can serve as an aggregator for submodules.

Maven settings can now be exported from the Options dialog.

There have been various minor UI changes to the Maven support. Most visibly, "Libraries" is now "Dependencies". Long-running processes such as indexing the local repository can now be canceled.

The included archetypes, i.e. project samples, have been updated to include various changes ranging from the cosmetic, to those critical for Maven 3 support.

"Build with Dependencies" now automatically locates the root aggregator project for even deeply nested modules, making this action more useful for source trees that make heavy use of snapshot dependencies. There is no need to manually define a "reactor location".

The editor tab for POMs now displays the artifact ID for convenience, e.g.: "pom.xml [maven-aether-provider]"

"Reload in Target Platform" is now available for Maven NBM projects (as for Ant-based projects).

If your project's classpath includes annotation processors registered for use by default (i.e. in META-INF/services), they will now be run by the IDE's editor. This allows you to make use of Project Lombok in Maven projects, immediately see semantic errors from registration annotations during NetBeans module development, and so on. For now the IDE does not interpret any custom configuration of maven-compiler-plugin in this regard.

Numerous other bugs have been fixed and small improvements made, some specific to Maven 3 support, others not.

GUI Builder - New GridBagLayout Designer

The ancient visual editor for GridBagLayout was replaced with a new improved one, as an alternative to the default "Free Design" layout mode.

The GridBagLayout designer can be invoked the same way as before, via Customize Layout... action from context menu, available on panels with GridBagLayout set.

Java EE

WebLogic

JSF integration with server libraries. User can select which JSF library he wants to use.

Support for datasource creation and deployment. The datasource is created automatically when needed and stored in the project. When the application is being deployed the datasource is deployed as well.

Directory based deployment (exploded directory deployment), deploy on save. The IDE will use directory based deployment so no redeployment is needed when changing the web resources. The deployment is also much faster. Together with deploy on save no explicit action is required to push the source code changes to the server.

Improved properties dialog with editable username, password and JVM. You can select JVM vendor from the list of vendors.

PHP

Profiler

Enhanced integration with the IDE - no need to perform an extra step to enable project for profiling. Everything works out of the box.

CPU Thread Timer now enabled for all platforms

Exact thread state monitoring added

Timeline view for NPSS files

Identify the offending thread for OOME generated heapdumps

JavaFX

Since Oracle has discontinued further development of JavaFX Script, JavaFX support has been temporarily removed from NetBeans 7.0. Work on JavaFX 2.0 with Java APIs has been announced, and NetBeans IDE will be a primary tool for the new technology.

Newly users can look over source of Stored Procedure from connected DB server, then modify it and deploy again to the server.

C/C++ Support

Project From Binary File

This functionality simplify generation of development project in IDE when user have application's binary built with debug information. Just select that binary in the wizard and IDE will create a project

Import Remote Project

If you have Netbeans project on another machine you can just do Import Remote Project on your local machine and still develop your project remotely.

Templates and Specializations Navigation

This functionality simplifies navigation between generic template and template specializations. Navigation is available from popup after clicking on side bar's annotation icon. Also it is available in code when click with Ctlr+Alt pressed on template class or template method usage.

Browsing remote file systems

User can now browse remote host file system just from the IDE. Or open Terminal for remote host.

In "C/C++ Development Hosts" node in Services Pane, select a host, and choose "Add to Favorites" from context menu. This host file system will be added to favorites.

Debugger Expression Evaluation Window

Allows to evaluate any expression in the current program context

Run Command

New Run Command property with history where you can specify arguments and how to run the project. You can for instance specify a shell script to run the project or a binary to run a library project.

Enhancements

Spellchecker is integrated for C/C++/Fortran source files and works in comments and string literals

auto replacement "." with "->" when using code completion on pointer objects

New project icons for different project types

Other

Terminal

Window->Output->Terminal now opens local terminal if possible by default, otherwise (i.e. on Windows) it explains what is needed to make it work. Also Set Title action is available in context menu

Opening Remote terminal allows to select from already known remote hosts or add new one.

Disclaimer

Disclaimer: The content of this NetBeans development wiki page is intended for pre-planning purposes ONLY. The development, release, and timing of any feature or functionality described here should not be treated as final, and is subject to change at any time at the sole discretion of Oracle. For more information about upcoming NetBeans software releases, please visit the NetBeans Roadmap or the NetBeans Release Planning wiki.Italic text