NetBeans 74 NewAndNoteworthy


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 Cordova application from template. A Cordova application is just a flavor of a HTML5 application, so you can turn any HTML5 application into a Cordova application very easily.

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

How to use Cordova

Cordova Maps Sample

Cordova Maps Sample application shows how to write rich mobile applications in HTML5 and Javascript using JQuery, Cordova (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

NetBeans 7.4 supports HTML5 development also for Android and iOS devices. Live inspection features are available for Mobile Chrome on Android and for Mobile Safari on iOS.

How to use mobile browsers with NetBeans

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 Cordova applications on the target device or emulator. (The Cordova 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)
  • code completion suggests static imports on second 'Ctrl+Space'(f.e. assertEquals, assertThat)


  • subword completion (issue 212412)


  • "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)

Export Package on packages in NetBeans modules

  • "Export package action (making it public) is now available directly in right click drop down menu on NetBeans module's package" (issue [1])




  • 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


  • JSF/EL editor improvements:
    • <ui:param> defined variables can be completed within EL


    • EL validates attributes of the composite components


Enterprise JavaBeans

  • All EJB hints are customizable inside Options -> Editor -> Hints -> Java -> JavaEE category



HTML5 Development in PHP applications

The following HTML5 development features are now available in PHP applications:

  • 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.





  • 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













Navigator and code folding available in JSON files.



Support for Knockout framework providing code completion in JavaScript files.


Initial support for code completion inside Knockout data bind attributes.


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.:



Starting support for AngularJS framework providing code completion in HTML files. In Html files the Angular directive are colored, the support provide code completion of the attributes and allow JavaScript embedding inside the Angular directives. See the pictures below.

  • Coloring of AngularJS directives, coloring JavaScript inside the directives and EL


  • Code completion for AngularJS directives


  • JavaScript completion for some AngularJS directives


  • JavaScript completion for Angular EL


  • Mark occurrences, Go to Declaration for objects from controllers



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

Project groups are now organized in Manage Group(s) dialog, where is possible to select group, remove selected group(s) or all groups, show properties of particular group or create new group issue 236743, issue 234021


Bundled Ant upgraded to version 1.9.1.


  • 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. This way you can have a project group which uses Maven 3 and a project group for legacy Maven 2 projects. 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


  • Dependency graph can be exported as PNG image (issue 167744)


  • 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)


  • Variable values are shown in visual property editors, when available (issue 212827 and issue 206668)


  • Value read from a field and value to be set to a field is displayed when a field breakpoint is hit. Also when an exception breakpoint is hit, the thrown exception is accessible in Variables window (issue 191801)

When a value is going to be assigned to a field, "Value to be set to <field name>" row is displayed in Variables window: File:ValueToBeSet.png
When a value is going to be read from a field, "Value read from <field name>" row is displayed in Variables window: File:ValueToBeRead.png
When an exception breakpoint is hit, the exception is added to the Variables window: File:ThrownException.png

  • New actions "Properties" and "Create Fixed Watch" on GUI snapshot (issue 227456) and 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)


  • Lambda expressions, introduced in JDK 8 are handled by debugger (issue 224716)


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)
  • common actions like "Pull"/"Push"/"Fetch" are now available to be used in toolbars (Git/Mercurial) (issue 233582)



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.


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)


  • Shelve changes (See Menu "Team->Shelve 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)
  • Support for ssh-agent: Git is now able to communicate with a repository through an SSH channel with the help of correctly set up ssh agent (or Windows Pageant), which eliminates direct access to private sensitive user data and improves security (Issue 218918).
  • when you pull commits from a remote repo a dialog will popup which asks you whether you want to merge or rebase your local commits (Issue 213855)

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)




Offline Mode

Task storage was rewritten which allows users to keep local modifications to tasks between sessions, modify tasks even without direct connection to a repository and submit all modified tasks at once when user gets online. Decoration of remote and offline changes in NB 7.4

Tasks window

In this release a new Tasks window has been added to the standard NetBeans distribution. For more information see specification.

Main features

  • manage your issue trackers - team projects trackers are included (kenai, ODCS)
  • add dynamic queries containing a list of relevant tasks and notification about incoming changes
  • categorize a tasks - create static categories to improve your tasks organization
  • show unsubmitted tasks - with a new issue-tracking offline mode introduced you can see all unsubmitted tasks in a special categories
  • filter your Tasks window - you can easily find what you are looking for using a fragment of the tasks ID or title (summary)



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 (implemented as scope in the search dialog) (issue 5009)


  • search results can now be modified. Press DEL key or use the context menu action 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 (CTRL+ALT+SHIFT+LEFT/RIGHT or context menu of the document tab "Shift left|right") (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 (available as "Dark Look And Feel Themes" plugin via Tools / Plugins)
  • 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 (CTRL+SHIFT+ENTER or Main Menu "View|Show Only Editor") (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)

  • Code templates
    • the abbreviation text of a template is now also supported for code completion (issue 184604)
    • Language-contexts for templates can be defined in the options. So you can restrict a template to be displayed only within loops, methods, classes, if-else blocks etc. (issue 160771 - currently only Java templates)


  • 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
  • Qt 5 Support
  • 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