NetBeans 74 NewAndNoteworthy

Revision as of 11:35, 16 May 2013 by Jstola (Talk | contribs)

Contents

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.

PhoneGap

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.

image:pgsample.png

Support for Android and iOS Browsers

TBD

CSS Preprocessors

Editing

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.

image:Css-preprocessors-customizer.png

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

image:Css-preprocessors-options.png

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.

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:

image:Nm1.png

and response received from the server:

image:Nm2.png

and call stack which triggered this network request:

image:Nm3.png

For WebSocket communication all text frames are displayed:

image:Nm4.png

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

image:Nm5.png

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.

image:Save_from_cdt.png

JavaScript Libraries

  • ability to refresh available libraries

File:Jslibs-update.png

Embedded Browser

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

Java

Editor

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

Projects

  • JDK 8 profiles support

File:profiles_project.png

File:profiles_editor.png

File:profiles_resolve.png

File:profiles_inspect.png

Hints

Refactoring

  • Rename Labels

File:JavaRenameLabel.png

  • Change Constructor Hint

File:JavaChangeConstr.png

  • Include Overloaded Methods in Find Usages

File:JavaIncludeOverloaded.png

  • Search from base class in Java Call Hierarchy

File:JavaCallBase.png

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

Hints

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

JavaFX

Platform

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

Project

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

Maven

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

image:03_browser_switcher_properties2.png

image:Js_libs_javaweb.png

JavaServer Faces

  • Resource Library Contract wizard
  • @FacesComponent wizard

PHP

Editor

  • 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

Refactoring

Image:Rename-1.png

Image:Rename-2.png

Image:Rename-3.png

Twig

Image:Toggle-comment-4.png

Image:Toggle-comment-5.png

Image:Twig-braces-1.png

Apache Conf

Image:Toggle-comment-1.png

NEON

Image:Nette-latte-7.png

Image:Toggle-comment-3.png

INI

Image:Toggle-comment-2.png

Project

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

PHPUnit

Image:Php-run-focused-test-method.png

Frameworks & Tools

Image:Nette-latte-1.png

Image:Nette-latte-2.png

Image:Nette-latte-3.png

Image:Nette-latte-4.png

Image:Nette-latte-5.png

Image:Nette-latte-6.png

Image:Php-composer-dependencies.png

  • Static code analysis - support for code inspection (code sniffer, mess detector).

JavaScript

Knockout

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

image:knockout2.png

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:

image:extjsSupport02.png

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

image:extjsSupport03.png

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

image:extjsSupport01.png


Projects

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

Ant

Bundled Ant upgraded to version 1.9.0.

Maven

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

image:mavenprojectnodenamecustomization.png

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

File:MavenGlobalToolbar.png

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

File:mavenbuildexecution.png

  • 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

File:MavenFolding.png

Debugger

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

File:ToggleAllBreakpoints.png

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

Profiler

Lock Contention

File:Lck3.png

Inclusive method times

  • New columns for CPU profiling
  • Sorting by Inclusive Time

File:CPU_Total_Times.png

Heapwalker Improvements

  • Logical Value of instance in Heapwalker

File:Logical_Values.png

  • Restore selection in heap walker when navigating


Versioning

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


Subversion

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

Mercurial

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.

File:HgRebase.png

Diff between revisions

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

File:HgDiffRevisions.png

Git

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

image:git-amend.png

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

image:git-createandswitchtobranch.png

  • push, pull, fetch from upstream actions now work on multiple repositories (issue 225058)
  • Add "ignore" in "show changes" and "diff" view (issue 228816)

Rebase Support

(issue 221661)

File:GitRebase.png

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)

File:GitDiffRevisions.png

Notifications

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

File:NotificationsTC.png

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

Search

  • redesign of the search dialog

image:redesignsearchdialog.png

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

image:searchsurroundinglines.png

  • search & replace panel of the editor has been redesigned

image:searchandreplacepanel.png

Platform

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

Quicksearch

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

image:quicksearchoptions.png

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

Options

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

image:Output_window_folding.png‎

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)

C/C++

  • TODO action items are now gathered from C/C++ files by default
  • Run/Debug launchers support
  • Compile single file from project with existing code
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