New And Noteworthy in NetBeans IDE 7.0
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.
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.
Network Settings API
New API for providing network settings. (See Network Settings API.)
The NetBeans Platform IconView has been enhanced, the default image is smaller and a selected item in IconView is clearly marked.
See NetBeans API Changes.
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
- equals and hashcode generator (Alt-Insert, "equals() and hashCode()") uses java.util.Objects.equals/hashCode if available
JSR 292 (Exotic identifiers)
- exotic identifiers supported in semantic highlighting, mark occurrences and Go to Declaration
New integer literals
- suggestion to convert an integer constant to a different radix can also convert to binary literal
- 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
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:
- 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.
Remote HTTP URLs are now supported for Javadoc in libraries and Java platforms. Downloading local Javadoc is still strongly recommended for performance and reliability.
The 1.8.2 release of the Apache Ant build tool has been integrated.
The IDE now bundles Maven 3. (Tools > Options > Miscellaneous > Maven always shows the exact version.) Maven3Embedder has details.
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.
- New tutorial is available
- Brand new server runtime node displaying deployed applications and resources.
- 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.
- Tomcat 7 integration available in the IDE
- Support for upcoming JBoss 6 (Java EE 6)
Enterprise Application Client and EJB Module execution/debugging
Support for execution and debugging of standalone EE modules has been revamped:
- both Enterprise Application Client project and EJB Module project can now be deployed to GlassFish v3 as standalone EE modules and do not have to be packaged in EAR application project anymore;
- any main class in Enterprise Application Client project can be executed via a single Run File action and container context will be injected into it;
- debugging of EAR application containing EJB Module and Enterprise Application Client will automatically starts two debugging sessions - one for EJB Module running on server and second for Enterprise Application Client running locally;
There are a couple of new features for Expression Language in JSF/xhtml views:
- Error checking
- Error badges
- Find Usages for managed beans (JSF/CDI) and their properties
- Rename refactoring for properties/methods and for managed beans in case they use the default bean name (support for explicitly specified bean names will be added later)
- Mark occurrences
- Mark occurrences for resource bundle keys
- Tooltips for bundle keys
- Hint for unknown properties
- Hint for unknown bundle keys
- JavaDoc popup in code completion
- Code completion support for parameterized method calls
Web Services: REST
- Improved "REST from Database" wizard code generation.
The RESTful EJB (Session Bean) Facade is generated where methods are annotated with @GET, @POST, @PUT and @DELETE annotations. See the sample:
- JSF Components suites and PrimeFaces
- Wizard for creating Constraint
- Wizard for creating validation.xml
- Wizard for creating mapping constraint file
- Qualifier creation editor hint
- Inspect Observers ( for given event )/Inspect Producer event ( for given observer ) are merged into one action along with Inspect Injectables : Inspect CDI. Result depends on context.
- Generation of bean validation annotations for Entities
- Generation of jaxb annotations for Entities
- Improvement in Entities update and regeneration. Including new filters in Entities From Database wizard.
- JSON Formatter - it's possible to format .json files.
HTML5 Editing Support
- HTML5 is now supported by the netbeans html editor.
- Improved html code validation by validator.nu is performed
- Safe Delete Refactoring
- Type Hierarchy View
- PHP 5.3 - support for aliases
- 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
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.
If you want to use JavaFX 1.3.1 and older, please download NetBeans 6.9.1. If you are interested in JavaFX Script language, consider also visiting this new open source project:
Support for Oracle DB
Connection to Database
Since 7.0 IDE users can use support for Oracle Database so that you can easily establish a connection from inside the IDE and begin working with the database.
New Connection Dialog was replaced with renewed and simplified one. Users can use predefined values for make a connection to Oracle Database XE.
IDE also guides users to install consistent JDBC driver for working with Oracle DB from IDE.
Editing of Stored Procedures
- IDE allows Oracle DB users to browse Triggers, beside Stored Procedures and Functions. IDE visualizes them by different icons (, , ), objects with compilation errors are badged as , , .
- User can execute DDL command for creating Stored Procedures.
- Newly users can look over source of Stored Procedure from connected DB server, then modify it and deploy again to the server.
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
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.
- 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
- 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: 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