NetBeans 72 NewAndNoteworthy

(Difference between revisions)
(C/C++)
Line 495: Line 495:
* gdb pretty printing support (see [http://sourceware.org/gdb/wiki/STLSupport STLSupport])
* gdb pretty printing support (see [http://sourceware.org/gdb/wiki/STLSupport STLSupport])
* gdb watchpoints and catchpoint support. Use new breakpoint types: variable, exception and system call.
* gdb watchpoints and catchpoint support. Use new breakpoint types: variable, exception and system call.
 +
 +
== Code Assistance improvements ==
 +
* Performance: Parser supports partial reparse (see [http://netbeans.org/bugzilla/show_bug.cgi?id=187567]). For instance, changes like reformatting, editing inside function bodies, updating comments/spaces no more cause full reparse, only changed file is reparsed on save.
 +
 +
* incremental Find Usages: Find Usages dialog has ability run job in background (Run in Background button in). In this case results will be displayed incrementally as they found and Stop can be used to cancel this activity without loose of already found results

Revision as of 10:44, 22 March 2012

Contents

Editor

Background Indexing

The indexes and indexing infrastructure were rewritten to use transactions. The project scanning and up to date check do not block editor features nor navigation. These features see the previous committed index. Also the write transaction are suspended by read transactions, so the background indexing has lower priority than user actions.

Parallel Indexers

The binary indexers run in parallel which makes indexing of java project faster.


Projects

Main Project

The "main project" GUI has been largely removed; no main project will be set by default when creating or opening projects. Users who wish to set a main project, mainly for the benefit of global toolbar buttons and corresponding keyboard accelerators, may still do so via the Run > Set Main Project submenu.

Project Actions

Project-wide actions, such as Clean & Build, may now be run when multiple projects are selected.

The buttons for such actions are also disabled while running, to guard against accidentally building the same project twice in parallel due to "mouse bounce".

For convenience, Run > Repeat Build/Run is now bound to Ctrl-F11 by default.

Import/Export ZIP

New items under the File menu let you save a project (or tree of projects) as a ZIP file - excluding build products - and conversely unpack a ZIP and open any projects found inside.

Collapse All

The blank area in the Projects and Files tab now has a context menu item to collapse all nodes.

Java

Package View

You can now view Java packages in "reduced tree" mode. (A third option in the submenu available when right-clicking the empty space in the Projects tab.) This mode differs from plain "tree" mode in that multiple package components with no other children (for example "com.mycorp.mydept") are collapsed into one node for easier navigation.

Refactoring

Refactoring Undo Integrated with Editor Undo

There is no more separate Refactoring | Undo action. Refactoring can be undone directly by Ctrl-Z from the Editor.

Replace Constructor With Factory

New refactoring Replace Constructor With Factory

Image:factory.png

Replace Constructor With Builder

New refactoring Replace Constructor With Builder

Image:builder.png

Invert Boolean

New refactoring Invert Boolean

Image:invert.png

Move Members (Method/Field)

New refactoring Move Members

Image:MoveMembersDialog.png

Image:MoveMembersChangedInvocation.png

Introduce Local Extension

New refactoring Introduce Local Extension

Image:IntroduceLocalExtension.png

Background Find Usages

Find Usages can be performed on background.

Improved Java Beans Support

Generate getters and setters now supports "encapsulate fields" option to invoke encapsulate fields refactoring.

Image:gengetters.png

Encapsulate Fields refactoring has new option "property change support"

Image:encapsulate.png

Code Generation

You can now customize order of the generated class members via a new panel added to 'Tools -> Options -> Editor -> Formatting -> Java'.

Image:code_gen_order.png

Remove Surrounding Code

Now you can quickly remove the enclosing parts of a nested statement by placing the caret on the particular statement and invoking the 'Source > Remove Surrounding Code' action from the main menu or by pressing 'Alt+Delete'. A pop-up window is shown displaying all the surrounding statement parts that are available and can be removed in the current context.

Image:remove_surrounding_code.png

Move Code Element Up and Down

Now you can quickly move entire code elements (statements and class members) up or down using the 'Source > Move Code Element Up/Down' actions from the main menu or by pressing 'Alt+Shift+PageUp/Alt+Shift+PageDown'.

Hints

Generate Implementing/Extending Class

When you put the cursor in a class declaration header, a new hint should appear.

Image:subclass-1.png

or

Image:subclass-2.png

When the hint is invoked, the new class, with all its required methods, is automatically generated, as a separate class (a dialog pops up letting you specify the name of the class and the package where the class should be created).

Ant

Bundled version

The bundled version of Ant was upgraded to 1.8.3.

Command-line equivalent

When running an Ant process, the closest equivalent command line is displayed at the top of the Output Window for convenience.

Debug target

You can now run the Ant debugger from the context menu of a target node.

Maven

Bundled version

The bundled version of Maven was upgraded to 3.0.4.

Compile on Save

Compile on Save is now on by default for application execution. This means that Java classes produced by the IDE's background parser can be used to make Run Project much faster. If you prefer to use exec-maven-plugin to run programs (slower but more flexible), adjust your preferences in the Compile tab of project properties.

("Deploy on Save", in the Run tab, was already enabled by default for Java EE application projects in which Compile on Save was also enabled.)

Compile on Save is off by default for running (single) tests, since many users were confused by behavioral differences from certain configurations of maven-surefire-plugin. Now Test File always runs Maven by default, just like Test Project, though you may reenable Compile on Save for tests if you prefer its speed and it works on your project.

Repository browser

The list of repositories has been moved under the Services tab rather than needing its own window.

The actions available on artifact version nodes has been expanded and made more consistent, notably including the ability to download sources and Javadoc.

Quick Search hits for Maven artifacts now select the version node here, rather than opening the multiview. You can still open the multiview by double-clicking the node if you want.

The multiview now includes a tab displaying the text of the POM.

Dependency display

Non-classpath dependencies are now shown under their own nodes.

Show Dependency Graph has been replaced with Open POM; the graph is shown as a tab in the pom.xml editor window.

New archetype wizard

The wizard panel for selecting an archetype (to create a new project) has been rewritten and now features a search field.

Source/Javadoc attachment

Automatic attachment of Source/Javadoc will now search the Maven repository for matches if your binary JAR is identical to one in the Maven repository, even if it is somewhere else on disk (say, in a library directory of an Ant-based project).

Plugin handling

<annotationProcessors> from maven-compiler-plugin is now considered by the Java editor.

POM editor

Expressions in POM files allow hyperlinks, jumping to the location in current or parent file where the property is defined. Works both for the ${foo} and ${project.foo} expressions. While hyperlink the action, the tooltip shows the value of the expression as it resolves in the current project.

File:pom_hyperlink.png

Scanning performance

Scanning large Maven projects, especially those with many binary dependencies, is faster than in 7.1.

Hudson

View config.xml

A new action on a job lets you view its raw configuration data quickly.

Quick-search provider

You can now jump to the node for a Hudson job from the Quick Search toolbar.

Java EE

JPA Support

JPQL and named queries support

JPQL validation is added for named queries.

Image:Jpqlvalidation0.png


JPQL completion support is added, supported for "query" attribute of NamedQuery annotation and withing createQuery("") method.

Image:Nqjpqlcompletion.png

Named query name is linked to named query declaration if used in "createNamedQuery".

Image:Linknamedqueryname.png

Named query name code completion is added to createNamedQuery method

Image:Namedquerynamecompletion.png

Generation options

New mapping options are added for entities from database:

'Use defaults if possible' is used to use fewer annotations in generated code and 'Generate fields for unresolved relationships' is used to generate usual fields if relationship can't be coded (for example opposite side of relationship isn't generated or mossed for any other reason).

Image:Newoptions.png

Image:Newoptions71.png

Image:Newoptions72.png

Persistence.xml

Properties completion is added to persistence.xml, main support is provided for ecipselink jpa 2.0 provider. Support jdbc url value completion.

Image:Persistencexmlpropertiescompletion.png

Image:Pucompletionjdbcconnection.png

<class>, <jta-data-source>, <provider>, <exclude-unlisted-classes> content completion is added.

Image:Pucompletionclasses.png

Image:Pucompletionproviders.png

CDI Warnings for non-portable behavior

See details at Enhancements for 7.2

Image:SessionScopedInterceptor.png

Amazon Beanstalk support

Register your Amazon Beanstalk account in the IDE and deploy your Web Applications directly to Amazon cloud. There is new Cloud node in Services panel where your cloud accounts can be registered. Right click the node and start wizard for Amazon Beanstalk:

Image:Register.png

Finish wizard and IDE will automatically mount your Amazon Beanstalk environments under IDE Servers node as running Tomcat servers which are ready for deployment:

Image:Servers.png

If you are creating a new Web Application, which is going to be deployed to Amazon Beanstalk, the IDE can setup everything necessary. Just follow "Add Server" wizard and name your Amazon Beanstalk application and environment:

Image:Addserver.png

which will result into new environment creation on Amazon Beanstalk:

Image:Instance.png

Once that's finished you can just press F6 on your project to build it, deploy it and open it in browser:

Image:Deploy.png

Java FX

Project Auto-Update

On opening a JavaFX 2.0+ project from older NB version in newer NB version the project build scripts are auto-updated to ensure correct functionality.

Editor

  • CSS code completion for FX-specific elements.
  • FXML goto support for Java Controller and CSS file.

Templates

  • New FXML File Templates including creation of Java Controller and CSS file.

Version Control

Search History redesigned

Search history view in Git, Mercurial and Subversion version control systems is now more intuitive and individual revisions are easier to inspect.

Image:SearchHistory.png

Mercurial

Queues support

The IDE now supports Mercurial Queues, you can now create, refresh and finish patches, switch between individual patches in a queue and review patch diffs directly from the IDE.

Image:Hg queues1.png

Image:Hg queues2.png

Debugger

Breakpoints have a possibility to enable/disable other breakpoints when hit

Breakpoint Properties have two new options ("Enable Group" and "Disable Group"), that allow to specify a name of a group containing breakpoints, that are enabled or disabled, when the breakpoint is hit.

Image:BreakpointEnableDisableGroup.png

The associated combo-box pop-up menu lists all user defined breakpoint groups (go to Breakpoints window to move breakpoints into user-defined groups) and also automatic grouping by file names, projects or breakpoint types.

Image:BreakpointEnableDisableGroupPopup.png

Source scanning does not block debugger stepping

Stepping through the source code is no longer blocked by source scanning task. The step was analyzing where specifically is the program suspended on the given line. Now this analysis does not prevent from issuing a next step.

Zoom of the debugger GUI snapshot

The GUI snapshot of an application created under a debugger, can be zoomed to fit comfortably into the window area.

Image:Zoom_of_Snapshot.png

PHP

PHP 5.4

  • Traits added
  • Short array syntax added
  • Array dereferencing added
  • Built-in web server added
  • Related hints added
  • Callable type hint added
  • Anonymous object variable added
  • Binary notation for integers added
  • Static method call with an expression added

(S)FTP Support

Remote synchronization added.

Editor

PHP Annotations

Support for PHP annotations added:

  • for PHPUnit, ApiGen/PHPDoc, Doctrine2, Symfony2 - TODO add link to blog
  • for annotations defined by user - TODO add link to blog

PHPUnit

  • Support for Skeleton Generator added
  • Support for PHPUnit annotations added - TODO add link to blog
  • PHPUnit per project can be specified
  • Support for running tests only from selected folder added - TODO add link to blog

Hudson

Hudson support added.

Symfony2

  • Symfony2 support added
  • Support for Symfony2 annotations added - TODO add link to blog

Twig

Twig support added

Doctrine2

  • Doctrine2 support added
  • Support for Doctrine2 annotations added - TODO add link to blog

ApiGen

ApiGen support added

Neon

Neon files support added.

Apache Config file

Apache config files support added

New Hints

  • Identical comparisons added
  • Immutable variables added
  • Unsed uses added

Groovy

Groovy version

  • Currently we have updated the Groovy version from 1.6.4 to 1.9-beta-4. At the moment it's not possible to tell if Groovy 2.0-final will be released before NetBeans IDE 7.2. If it is, we will try to integrate Groovy 2.0-final to the NetBeans IDE 7.2 release. Otherwise, we will use Groovy 1.8.6, since it is the last stable release.

Code Completion improvements

  • Code completion should be more reliable and accurate now - issue 151985
  • CamelCase code completion has been implemented and works in a similar way as for java files

Hints

Options

Options Window Redesign

  • "Ant", "GUI Builder", "Java Card", "Java Debugger", "Java ME", "Maven" and "Profiler" sub-categories have been moved to the newly created Java category

  • "Appearance" sub-category was renamed to "Windows" and now the Miscellaneous category contains
    "Diff", "Files", "Groovy", "Issue Tracking", "JavaScript", "SVG", "Tasks", "Terminal", "Versioning" and "Windows" sub-categories

  • Fonts and color part of "Terminal" sub-category of Miscellaneous category now look similar to other color management UI elements under the "Fonts and Colors" category

  • the "Spellchecker" sub-category was moved under the Editor category

Platform

Window System

It is possible to have multiple rows of editor tabs and to change the tab placement (top/bottom/left/right). See menu Tools - Options - Miscellaneous - Windows.

A window header can have (animated) notification that it is currently busy, e.g. it's content is being loaded.

File:Busy_window_notification.png‎

The popup window that shows when pressing Ctrl+TAB keys now includes non-document windows (Projects, Navigator etc) and also inner tabs in document windows (Source/Design/History).

Changed location of userdir and cachedir

The default location of NetBeans userdir and cachedir was changed to system specific paths. More information in UserdirAndCachedirFoldersInSystemSpecificPaths.

Maven-based module development

Archetypes using the 3.7 version of the plugin are now offered.

The major feature in this version is integral support for creating installers (NBI); this goal is suggested in the application archetype in -Pdeployment. The old Ant-based context menu item "Build Installers" is available only for earlier plugin versions and is deprecated.

OSGi 4.3, Felix 4.0.2 and Equinox 3.7.1

OSGi support in the platform has been upgraded to version 4.3. Read more...

Utilities

Search

  • New layout of Find in Projects dialog.
  • New options:
    • Search in archives,
    • Search in generated sources - e.g. build directory, code generated by wsimport.
  • Customizable list of ignored files and folders.

File:Dialog_find.png File:Dialog_find_ignore_list.png

  • New search scope Browse...

File:Dialog_scope_browse.png

  • File name pattern can be specified as regular expression for the whole path.
  • Helper windows for testing regular expressions.

File:Dialog_find_path_regexp_checker.png File:Dialog_find_text_regexp_checker.png

  • Find results are sortable by file name, path, number of matches or last modification date.
  • New button for expanding/collapsing of the result tree.

File:results_find_flat.png

  • New button for switching to directory-tree view.

File:results_find_tree.png

  • When an error occurs, informative message is shown under the list of results.

File:results_find_errors.png

  • Lengthy "Preparing search" stage abolished. More helpful progress messages shown.

File:results_find_progress.png

  • Button for replacing is more intuitive, bigger and dynamic (shows number of selected matches to be replaced).

File:results_replace.png

  • New module api.search contains API and SPI for custom search providers.

File:dialog_find_custom_provider.png

C/C++

Debugging improvements

  • gdb pretty printing support (see STLSupport)
  • gdb watchpoints and catchpoint support. Use new breakpoint types: variable, exception and system call.

Code Assistance improvements

  • Performance: Parser supports partial reparse (see [1]). For instance, changes like reformatting, editing inside function bodies, updating comments/spaces no more cause full reparse, only changed file is reparsed on save.
  • incremental Find Usages: Find Usages dialog has ability run job in background (Run in Background button in). In this case results will be displayed incrementally as they found and Stop can be used to cancel this activity without loose of already found results
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