NetBeans 74 NewAndNoteworthy

Revision as of 06:01, 7 June 2013 by Tmysik (Talk | contribs)


HTML5 Development

HTML5 Development in Java EE and PHP Applications

You can now use all the HTML5 development features (collectively known as Project Easel) in Java Web applications (Ant or Maven based) and in PHP applications. For a more detailed description, see the Java EE and PHP sections of this document.


Create a new PhoneGap application from template. A PhoneGap application is just a flavor of a HTML5 application, so you can turn any HTML5 application into a PhoneGap application very easily.

Build, Deploy and Run Mobile Applications developed using standardised web APIs on Android/iOS Simulator or Device.

PhoneGap Sample Application

PhoneGap Sample application shows how to write rich mobile applications in HTML5 and Javascript using JQuery, PhoneGap (Geolocation API and Contacts API) and Google Maps API. The very same code can be tested on both iOS and Android devices.


Support for Android and iOS Browsers


Browser switcher in the main toolbar

The main IDE toolbar now contains a browser switcher icon, which allows to conveniently switch the target browser for running web applications. This switcher works with HTML5 client-side-only applications, as well as Java web applications (Ant or Maven based) and PHP applications. The available browser include desktop browsers, mobile devices/emulators, and packaging/running PhoneGap applications on the target device or emulator. (The PhoneGap options are available for HTML5 project only.)


CSS Preprocessors


Basic editing support for Sassy CSS and LESS CSS preprocessor files has been added to Netbeans dev build. The work is still in progress, but the main part is ready to use:

  • syntactic and semantic (parser based) coloring for the language constructs,
  • indentation, simple reformat of code,
  • code folds,
  • file templates

For variables and mixins we provide:

  • go to declaration,
  • mark occurrences,
  • instant rename,
  • code completion (also shows items from imported files),
  • vars, mixins and imported files shown in the navigator,
  • find usages and refactor rename among files.

Compilation on Save

When you edit Sass and LESS files, the IDE will automatically compile these into CSS when you save the file. You only need to set the output path (or more precisely, mapping from input to output files) in your project's properties.


Then you only need to tell the IDE where to look for the Sass and/or LESS compiler, via the IDE Options.


Live Reload

When you run a page in a browser with NetBeans integration and modify some SASS or LESS stylesheet then the stylesheet is not only compiled automatically into the corresponding CSS file but this CSS file is also reloaded in the displayed page. So, you can see your changes immediately in the browser.

Debugging Information

When SASS or LESS stylesheet is compiled into CSS stylesheet then an extra/debugging information is included by default. This information allows various tools to find the source of the rule generated into CSS. For example, CSS Styles view uses this information to allow you to jump into the definition of the matched rule.


Take care when you edit properties of CSS rules that come from SASS or LESS stylesheet. These modifications are saved into the CSS stylesheet only and are allowed for experimenting only. Once you are happy with the resulting style, you have to transfer these changes into SASS or LESS stylesheet manually. We hope to provide a better user experience in future releases.

CSS Styling

Browser DOM

Browser DOM view is a replacement for the merged source-browser HTML Navigator that worked (in NetBeans 7.3) for HTML files only. Browser DOM shows the DOM of executed page no matter what its source (HTML, PHP, JSF, etc.) is. Moreover, when the source of the page is HTML then it allows navigation into the source file as it was possible in HTML Navigator.


Box Model

When a page is executed in a browser with NetBeans integration then you can see its DOM in Browser DOM view. When you mouse over the nodes in this view then you can see the corresponding elements highlighted in the browser (or vice-versa when Inspect mode is turned on in the browser). When an element is highlighted in the browser then we show its box model. In other words, we highlight its content, padding, border and margin and we also display the dimensions of the element.


Styling of hover-based effects

Many interactive pages style some of their elements in a different way when the mouse is hovering over the element. For example, sub-menu of a menu is displayed when you are hovering over the menu only. Hence, it is desirable to have a support for styling of elements in the 'hover' state. Of course, you cannot have your mouse cursor over the styled element (to keep it in the desired state) and over the property editor (that you use to affect the style of the element) simultaneously. Happily, we can keep the elements in 'hover' state for you.

When the Inspect mode is turned on in the browser (using Ctrl+Shift+S shortcut) then all the elements that were in the 'hover' state are kept in this state until the Inspect mode is turned off. You can select such elements and style them in this state as you are used to style any other element.

This holds not only for CSS-based hover-related effects but also for JavaScript mouse event-based effects. We attempt to block the page from majority of mouse events (during Inspect mode) to keep elements (like open JavaScript menus) in their state.

Saving changes from Chrome Developer Tools

When you edit the files (e.g. CSS files) in your web application inside Chrome Developer Tools, these changes will be saved to NetBeans IDE and preserved in the real file on the disk.


Network Monitor

Network monitor helps to analyze REST related communication, WebSocket communication and any network requests which failed. It is available for Chrome with NetBeans Integration and Embedded WebKit Browser.

For each request it displays request and response headers:


and response received from the server:


and call stack which triggered this network request:


For WebSocket communication all text frames are displayed:


The network monitor tries to provide help in certain common situations:


JavaScript Libraries

  • ability to refresh available libraries


Embedded Browser

"Dump Document" in embedded browser's context menu.



  • chained code completion (issue 218604)
    • note: chained completion items are provided on the second 'Ctrl+Space' (issue 229560)
  • subword completion (issue 212412) File:subwordcompletion.png
  • "Go To Symbol" supports navigation to methods and sub classes (Note: only symbols from source code are supported) (issue 220300)


  • "select next/previous element" now supports javadoc comments and line selections (issue 215552)
  • "New Java class/interface/enum"-wizard: allow input of fully qualified names (issue 227877)
  • New options for code folding (issue 226413)
    • show number of collapsed lines File:numberofcollapsedlines.png
    • show first sentence of javadoc (when collapsed)File:firstjavadocsentence.png
  • Prefix's and suffix's in java formatting. The formatting settings are used in refactoring like; Introduce and Rename, code generation like; generate getters and setters and Code Completion. (issue 228870)

File:JavaNaming.png File:JavaNamingCC.png


  • JDK 8 profiles support







  • Rename Labels


  • Change Constructor Hint


  • Include Overloaded Methods in Find Usages


  • Search from base class in Java Call Hierarchy


Native Packaging

  • JavaSE projects now support creation of native bundles taking use of the native packaging technology provided by JavaFX

JavaFX RunTime ClassPath support

  • JavaSE projects now enable automatic extension of classpath to include JavaFX artifacts for JDK versions where this is not the case by default (all JDK7u6+, in JDK8 JavaFX RT is on classpath by default). This option is available in Project Properties dialog, Deployment category, under the name "Keep JavaFX RT artifacts on classpath". This option removes the need to add jfxrt.jar dependence to JavaSE project manually, when users need to use JavaFX classes within SE project. The advantage is twofold - changing JavaPlatform changes the respective JavaFX RT as well, plus the JavaFX RT artifacts are prevented from being copied to dist/lib/ as if they were a true project dependency.

Platform development


  • "Search for module dependency from unknown symbol" (issue 212656)



  • Explicit FX-enabled Java Platforms have been completely removed (including the Default JavaFX Platform), FX Applications now work with standard NetBeans Java Platforms. No JavaFX specific tab is provided in Java Platforms dialog - its functionality is replaced by the standard JavaSE functionality (JavaDoc and sources can be specified in the standard way). This simplification takes use of the fact that since JDK 7u6 the JavaFX runtime is distributed as part of JDK on all platforms. This also means that NetBeans 7.4 no longer supports the option to choose different JavaFX RT/SDK for use with different JDK; now only the JavaFX RT/SDK from within JDK is used.

Remark: Technically JavaFX RT is not on classpath by default in all supported JDKs. A classpath extension mechanism similar to the one in former FX-enabled Java Platforms is in place; JavaFX RT artifacts are added to classpath wherever needed automatically.


  • JavaSE and JavaFX project types have been aligned more tightly. JavaSE build script update mechanism is now shared in JavaFX Projects. The same Java Platforms can be used both in JavaSE and JavaFX Projects. JavaSE projects now enable simpler handling of JavaFX artifacts on classpath (see above). JavaSE Project can now be switched to JavaFX deployment mode, i.e., effectively transformed to JavaFX Application project type.
  • Deployment options have been refined and/or extended. Now it is possible to:
    • define custom manifest entries
    • request minimum JavaFX runtime version
    • select individual installers to be created by native packager
    • build native package with Java Runtime from non-default Java Platform
  • Java Class Library is now usable with JavaFX. Technically we do not provide explicit JavaFX Class Library project type, but the JavaFX RunTime ClassPath support added to SE based project infrastructure makes the standard Java Class Library projects easily usable with JavaFX.


  • New FXML File dialog now works in Maven projects, producing artifacts in Maven-style locations
  • JavaFX Maven basic artifact and project template has been added

Java EE

HTML5 Development in Java EE applications

The following HTML5 development features are now available in Java EE applications (both Ant and Maven based):

  • Browser selection for testing with various browsers
  • Running on mobile browsers on Android and iOS devices and emulators
  • Visual CSS editing
  • JavaScript debugging
  • HTML5, CSS3 and JavaScript editing (also available in previous releases)
  • SASS and LESS editing
  • SASS and LESS compilation and redeployment on save
  • JavaScript libraries panel in Project Properties
  • Network Monitor for REST and WebSocket

The screenshots below illustrate some of these features.



JavaServer Faces

  • Resource Library Contract wizard
  • @FacesComponent wizard


HTML5 Development in PHP applications


  • Allow "self", "static" and "this" in @return annotation
  • Generation of getters and setters for static fields
  • Support for deprecated elements (strike-through element names)
  • String Auto-Concatenation after Typed Break
  • Hint to detect depth of nested blocks
  • Hint to detect unreachable statements
  • Hint to detect empty statements
  • Hint to detect direct use of superglobal arrays
  • Hint conditions should use brackets
  • Different coloring of single/multi lines comments
  • Hint to check whether current use of "@" is proper
  • Hint to check the number of line in a method (class, iface, trait?) declaration
  • Hint to check the closing PHP delimiter at the end of file









Apache Conf








  • HTML5 (Easel) integration
  • Customizer for JavaScript libraries
  • CSS preprocessors integration
  • Namespace for new PHP classes in the New File wizard
  • License Headers



Frameworks & Tools











Initial support for Knockout framework providing code completion in JavaScript files.


Ext Js

Simple support for Ext Js framework providing code completion in JavaScript and HTML files. There are three contexts, where code completion items are offered through the Ext Js framework support:

  • Code completion for Ext object:


  • NetBeans understand to defining objects through Ext.define or Ext.apply methods. On the picture you can see navigator, that displays object defined through the Ext.define method and code completions suggester for such object:


  • NetBeans offers code completion for property names in objects that are parameters for methods like Ext.application, Ext.define etc.:



License Header template selection in project UI, template itself can be placed in project space locations. File:License_headers.png

Run Project toolbar button history (issue 193873) File:Run_history.png

Open files are stored as part of Project Group now, when switching you will get the right set of files as they were when you left the group. see issue 168578


Bundled Ant upgraded to version 1.9.0.


  • Bundled Maven upgraded to version 3.0.5.
  • Project Group now can have a custom Maven distribution associated for execution, effectively overriding the value from Tools/Options, see issue 197577
  • Compile on save now execution maven, not ant builds, CoS on by default. see FaqCompileOnSave
  • maven/ant apisupport - mark non-public packages use and use of transient dependencies in editor and Todo list - File:Whitelists.png

  • (optionally) show groupId, artefactId and version in maven project node (+ allow userdefined patterns) (issues 194773, 227578)


  • Allow adding global Maven executions to toolbar for easy access, see issue 227283


  • Define custom goals for project context menu according to packaging type (issue 200678)
  • Show maven build execution as tree of nodes (issue 228506)


  • Add context menu item on artifact nodes to copy local repo location (issue 220024)
  • Redesign of Maven options dialog
  • Folding of goals in the Maven output window



  • Enable/disable all breakpoints (only available within a debugging session) (issue 79027)


  • "Go to Type Source" action will open the type source of the inspected variable (Java Debugger only) (issue 81925)
  • New column "Hit count" in breakpoints view (issue 141545)
  • New actions "Properties" and "Create Fixed Watch" on GUI snapshot (issue 227456)
  • GUI snapshots can be saved (issue 210802 )
  • the conditions of a conditional breakpoints are shown in the tooltip of its icon in the left gutter (issue 109831)
  • TBD...


Lock Contention


Inclusive method times

  • New columns for CPU profiling
  • Sorting by Inclusive Time


Heapwalker Improvements

  • Logical Value of instance in Heapwalker


  • Restore selection in heap walker when navigating


  • double clicking on a file in the commit dialog will open its diff view (this simplifies the review process before committing) (issue 223178)
  • versioning menu entries were reordered (to decrease number of top level menu items and to make the ordering similar in every VCS) (issue 226504, 223545)


Reintegrate Branch

The Subversion merge dialog now allows you to easily merge a feature branch back into trunk. File:Reintegrate_branch.png

Diff between branches

The Subversion diff view now allows to compare any two trees, thus letting you diff local changes against another revision, branch or tag or any two revisions from the repository. File:SvnDiffTrees.png


Switching between queues

When pushing or popping Mercurial Queues patches, the dialog automatically switches between queues when a patch from a different queue is selected. File:HgGoToPatch.png

Rebase Support

NetBeans offers the full support for Mercurial rebase command.


Diff between revisions

The diff view allows to select any revisions to compare and displays modifications between the two revisions.



  • JGit Version Upgrade to 2.3.1 (issue 221737)
  • Support for 'git commit --amend' (issue 215636)


  • shelf changes (issue 225057)
  • create and switch to a branch in one step (issue 226686)


  • push, pull, fetch from upstream actions now work on multiple repositories (issue 225058)
  • Add "ignore" in "show changes" and "diff" view (issue 228816)
  • Switch to branch: a local branch name will be suggested based on the name of the selected remote branch (if possible) (issue 229555)

Rebase Support

(issue 221661)


Diff between revisions

The diff view allows to select any revisions to compare and displays modifications between the two revisions. This feature can also be used to compare different branches or tags. (issue 207165)



New Notifications TC is introduced in 7.4 - main goal is to list all notifications displayed in one IDE session and enable users to go back to a notification's details if then need/want to. For more information see the specification


Network Proxies

User can now reload system proxy settings and doesn't need to restart IDE. Several changes has been done in General Options panel - the Reload button has been added. The user can also test if the connection can pass with the Test connection button. File:Proxy_reload.png


  • redesign of the search dialog


  • search in open editors (issue 5009)
  • search results can now be modified. Press DEL key to hide undesired items in the result set. (issue 200020)
  • tooltips of search results show surrounding lines (issue 202628)


  • search & replace panel of the editor has been redesigned



  • Reorder window tabs using keyboard (issue 83247)
  • Enhanced editor tabs
    • better multi-line support,
    • background color per project,
    • documents drop down list sorted by project
    • etc.
  • Dark color themes for Metal and Nimbus look and feels.
  • Look and feel switcher in Options window.
  • Filter field in New Project and New File windows.
  • Quicksearch in toolbar customizer (issue 187230)
  • Documents dialog window
    • Ordering by name or recent usage (issue 215401)
    • Documents can be closed by pressing DEL-key (issue 226367)
  • "Distraction-free" mode (issue 211136)
  • Ability to split Editor top components (issue 228448)
    • top component pop-up menu
    • view menu
    • window menu
  • current keymap can now be exported as HTML (issue 226955)
  • diff modes can now be toggled via shortcut (issue 170769)
  • Support usage of project encoding for .properties files (issue 75906)


  • quicksearches can now be enabled/disabled (issue 143367)


  • command prefixes of the quicksearches are shown (+tooltip) (issue 220051)
  • quicksearch for project(names) (issue 224378)


  • Progress indication while importing settings from earlier version on first startup (issue 129666)
  • Support for hooking into the import process (issue 224370)
  • Allow options Dialog to be modal for RCP apps (issue 207120)
  • Apply button in Options dialog (issue 204921)

Output Window

  • Folding of lines (issue 228022)


Unit Tests

  • Standard shortcut for Test Results window action (issue 198771)
  • Automatically open Test Results window (issue 216791)
  • Open Test result tab in new tab... (issue 212025)
  • User can set shortcuts for rerun and rerun failed unit test (issue 189113)
  • Show by default name of successful test when run as focused test (issue 207686)
  • TestNG
    • Update TestNG to version 6.8.1 (issue 223660)
    • Remember the test the user chose in the Testwizard (issue 212159)
    • Distinguish between skipped and passed test - make possible to filter skipped (issue 212622)
  • Junit
    • Rename test after renaming method (issue 62897)
    • Add hints to Junit test generation (issue 162593)
    • Go To Test action now also works for integration test (IT) classes (issue 199544)
    • User can copy stack trace from test output (issue 223361)
    • Double-click on a failing testcase method opens the line with the failing assertation within the testfile (issue 216334)


  • TODO and build/compile errors/warnings are now in action items list
  • Run/Debug launchers support
  • Compile single file from project with existing code
  • C/C++ Formatting style per project
  • Find Usages improvements: filters and search in comments



Indentation and Trailing Whitespace Highlighting added

  • Configurable "Indentation whitespace" and "Trailing whitespace" items in Tools->Options->Fonts & Colors->Highlighting tab


  • IDE now highlights trailing whitespace at line 9


Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo