Editor

Indent Guide Lines

The Guide Lines are dotted lines drawn every tab size before a character on the line. They are shown by default. You can turn off feature in menu View-Show Indent Guide Lines. To change line's color go to Options-Font&Colors-Highlighting-Indent Guide Lines. Issue 182513

Java

Java SE Embedded

Deploy, run, debug or profile Java SE application on an embedded device, such as Raspberry PI, directly from the NetBeans IDE. No new project is required, you can use any Java SE (and FX) project!

Maven

Improved performance of "Apply Code Changes" while debugging. Now it takes advantage of Compile on Save (Issue 186558)

"Copy on Save" for static resources enables to get better control over the Compile on Save (CoS) / Deploy on Save (DoS) feature. Now it is possible to disable standard CoS/DoS for java classes while still having static resources (html, xhtml, css etc.) updated after the save. (Issue 218345) More details about how this feature works in combination with CoS/DoS can be found here.

Added possibility not to remember application server used for deployment. Might be used for example when testing application with various types of application server (Issue 199597)

JavaScript

Knockout

Angular

Improved recognizing controllers. NetBeans is able to find many more controllers than in NB 7.4. The IDE goes through all js files and looks whether there is defined in some way an AngularJs controller.

NetBeans is now able to find out mapping between html templates and controllers.

User can navigate through the CTRL + Mouse left button click to the template or controller definition from the route definition.

The code completion in html pages is improved for Angular JS. NetBeans offers the property of controllers in html templates:

NetBeans is able to offer properties of anonymous object defined in an array. See the picture with the controller definition, where an array of allgifts is defined as array of anonymous objects. NetBeans offers in code completion the properties of these anonymous objects if there are needed.

C/C++

Editor

Remote

Improve remote performance

Debugger

GDB Console (Window->Debugging->Debugger Console): user can use command line GDB mode and IDE will react accordingly. Any commands will be handled by IDE and reflect debugger state changes i.e. set/remove breakpoints, step actions or any others

Debuggers

JavaScript in Nashorn

Debugging of JavaScript code executed in Nashorn (JDK 8+) script engine is supported. In a Java project, that is set up with JDK 8 or newer, it's possible to step in from Java code into JavaScript executed by the script engine. Breakpoints in JavaScript files are possible, step into/over/out work as expected, call stack show JavaScript stack frames and Variables window show JavaScript variables.

Editor when debugging a JavaScript file.

Call stack in Debugging window when debugging JavaScript files.

Variables window when debugger is stopped in a JavaScript file.

Debugging of an evaluated script.

On any JavaScript file there's Run File/Debug File action, that runs/debugs the file in Nashorn script engine when JDK 8 or newer is registered in NetBeans.

Unit Testing

Allow running JUnit/TestNG tests on a arbitrary selected group of folders or files Issue 124313

Trying to navigate to a test gives user the ability to create one if it does not already exist Issue 228656

Added support for ABORTED tests in the Test Results window Issue 235443

Versioning

Subversion

Support for 1.8 working copies

With bundled SVNKit and JavaHL in 1.8 versions it is not needed to switch to a commandline client to work with 1.8 working copies.

Git

Tree view in the Diff panel

You can switch between the flat table and the tree view with the two toggle buttons in the toolbar.

Simpler clone wizard

Issue 235506 RFE
You don't have to go through all three clone wizard's panels. If you fill the destination folder directly on the first panel and click on Finish, the action will work much like the git clone with a commandline client and it will use default values for remote and checkout branch.

Transparent work with Git submodules

Working with submodules should be much easier. You can now commit a submodule's state directly from the IDE, submodules will be automatically (if you accept it of course) initialized and updated after a clone. When pushing the parent repository the IDE will check if all submodule's changes will have been committed and warn you before reaching an inconsistent state in the remote repository. Issue 207067Issue 237621

Review of commits after pull/fetch/push

Other improvements

in the Git Repository Browser you can select a local branch and call Setup Tracked Branch from the popup menu to set the branch tracking for this local branch

or via context menu "Git|Branch/Tag|Set Tracked Branch..."

improved push to upstream work-flow - when a git push would result in a non fast-forward merge (the remote repository contains unmerged commits), you are warned and offered the option to pull the changes into the current local branch and eventually do the push again automatically.Issue 238398

after cloning NetBeans offers to add the cloned repository to the favorites view Issue 235507

Bugtracking

Tasks window

In NetBeans 8.0 there are several new features in Tasks window:

Task Schedule - user can define his own schedule for tasks in Tasks window

Schedule Categories - there are three predefined categories to notify user about his scheduled task for "Today", "This Week" and all schedule tasks.

Notification bubble - tasks scheduled for "Today" are most important for a user, so there is a notification created to remind a user about them

Task Icon badges - task icon is used to show task's priority and scheduling

Sorting - user can now define his own sorting for tasks in Tasks window

Task Editor Changes

To be more user-friendly task editors where split into logical sections, all action buttons were moved to one place. A new section My Private Task Details was added where you can specify task's private data (such as private notes and schedule parameters) never to be send to the task's repository, used mainly for user's private needs.

Local Tasks Repository

We added a simple local task repository. You can create, update and delete simple tasks kept on your local machine, manage references to other tasks (even from other repositories), manage attachments for the task and even set its schedule parameters - Issue 236111.