New And Noteworthy for NetBeans 6.9 Milestone 1
NetBeans switched to build and run on JDK 6 only
NetBeans.org build infrastructure, NetBeans launchers and installers are now changed to require JDK 6, not allowing use of Java 5 anymore.
As a consequence NetBeans launchers now use -splash option to give NetBeans as fast indication of the start as possible.
NetBeans Platform OSGi interoperability
The long time experimental project Netigso has matured and became an official part of NetBeans 6.9. NetBeans by default provides you the Felix 2.0.3 OSGi container during runtime. There is however also experimental support for equinox. See it in action in our demo screencast.
Now you can smoothly include 3rd party OSGi bundles into your NetBeans platform based applications and use them from your existing Ant projects. You can see additional screenshots and also sample code illustrating this part of OSGi interoperability in Geertjan's article.
The "Maven" category of projects in New Project wizard now makes four new project archetypes available directly from the first panel of the wizard - "Maven OSGi Bundle", "Maven NetBeans Module using OSGi", "Maven NetBeans Module" and "Maven NetBeans Application".
Maven support in NetBeans is extended to support more visibly a development of plain OSGi bundles. See "Maven OSGi Bundle" project template under "Maven" category in the New Project wizard.
It's now also possible to define OSGi export packages using GUI in project's properties.
GUI support for creating OSGi Bundle Activator was added to file templates into new OSGi category.
Our Maven NBM plugin has been enhanced to handle OSGi dependencies correctly as well. So you can add OSGi bundles as dependencies in "Maven NetBeans Module using OSGi" projects.
Running in unmodified OSGi container
There is an experimental support for converting NetBeans modules into OSGi bundles and running them in an unmodified OSGi container with no special startup procedure. Actions "Build OSGi Bundles" and "Run in OSGi" are available in module suite's project popup menu. See NetBeansInOSGi for details.
REST Webservices support for RCP applications
- Added a new Action: "Generate REST Client..." to Insert Code action group (available also in Netbeans plugin modules):
- The action allows user to select a REST resource from projects open in Netbeans, then, according to the selection, generates an internal REST Client class, based on Jersey REST Client API:
CRUD Application Sample built on NetBeans RCP
- A new NetBeans Platform sample included. It should help you get started creating one of the most typical applications on the NetBeans Platform, i.e., a customer maintenance application.
The revolutionary slowness detector has been enhanced and used in Go To Type dialogs and Code Completion popup window. As a result you, the NetBeans IDE users, can send us in the field detected slowness reports. We are going to use them to speed up your favorite IDE. Don't hesitate to send us your reports and welcome to the performance team!
- Zend Framework support
- Error badges
- Symfony projects with custom directory structure supported
- Improved PHPDoc in Code Completion
- showing listed or optional parameters
- showing PHPDoc also for predefined exceptions, iterators and other common extensions like mysqli
- Formatting - the setting for formatting PHP code was extended and there are categories:
- Possibility to specify the gems that the IDE should index (for Rails applications). These can be set separately for sources and for tests. Only methods/classses/modules from the indexed gems will be displayed in code completion.
- A quick way to set the gems is to run rake gems and then click on the displayed link:
- Error badges:
- Code completion improvements
- Better support for helper methods in views
- CC for HTTP status codes
CSS Refactoring / Find Usages Support
Rename refactoring is now available for css code. It works not only in css files, but in all files embedding css code (html, jsp, php ...).
CSS type elements, class and id selectors can be refactored either with respect to the relations between files or (if the relations are defined by some framework or higher level templating language) in all project files. You can specify this in the rename/where used dialogs refactoring dialogs.
Such unrelated occurances are visibly marked in the refactoring preview/find occurances windows.
You can also find usages of css files itself when invoking the Find Usages action on file node in the explorer.
CSS Code completion
The css code completion now allows to complete id or class selector which are used in current or any of the imported files. It works in common css code or inside html's class or id attributes.
Java and editor
We have started using JDK 7 javac compiler (currently in milestone 5 build). Initial support is part of Netbeans 6.9 M1 - more deatils here: (Java_EditorJDK7)
Support for annotation processors in the editor
Go to Implementation
New applet support and JNLP
Stack trace analyzer
Support for URLs in the editor (Ctrl-click works on URLs)
Also nested grouping by all available groups is possible. By default, only breakpoints submitted to the opened projects are listed.
Contexts and Dependency Injection
New Web/Java EE project wizard allows users to enable CDI in project which results in empty beans.xml file being automatically created in the project:
New File wizard has a new dedicated category for CDI containing common file templates:
Go To Injectables and Inspect Injectables actions were added - right click any inject point and open Navigate menu:
Go To Injectable action opens Java element which is going to be injected - a class or a producer method. In case of ambiguity a popup will be shown which will list all suitable injectables:
Code completion in JSP scriptlets automatically inserts imports
Choosing a class name item in code completion inside scriptlets automatically inserts the 'page/tag import' directive when necessary.
Code completion for JSP tags when taglib declaration is missing
Now the JSP code completion is offering tags for popular prefixes even when relevant taglib declaration is missing. Should such item be selected the taglib declaration will be inserted automatically.
Added Spring 3.0 libraries into Netbeans and added ability to choose Spring Framework library version.
Updated Spring configuration files generation according to the chosen Spring version.
Creation of new persistence unit was simplified in all wizard, in Entity From Database wizard the most suitable persistence unit will be created by default.
Now metamodel classes will be generated for project entities if persistence unit will be created with eclipselink provider (supported in j2se, web, ejb and application client projects). Automatic processor addition is temporary disabled because of an issue in eclipselink, you can add eclipselink-jpa-modelgen jar from eclipselink distribution to your project manually to enable metamodel generation.
The entity from DB wizard was enhanced to allow regeneration. It allows user to regenerate the entity from scratch after structural DB change or update the entity class by adding the code for the new DB fields.
Code completion for JSF tag attribute values
It is now possible to use code completion for some JSF tag attribute values:
JavaFX support remains important for NetBeans and we continue improving JavaFX Script editor and debugger. Preview 2 of JavaFX Composer is available on NetBeans 6.8 Update Center. Unfortunately current work involves integration with the version of JavaFX SDK which has not been released yet, this means JavaFX support can not be included in public release of NetBeans 6.9M1.
If a method overrides some parent method, a special annotation is displayed besides its declaration in gutter area:
Clicking on this annotation navigates to the declaration of the parent method this one overrides.
"Is Overridden" annotations
If a method is overridden in some descendant classes, then s special annotation is displayed besides its declaration in gutter area:
Clicking on this annotation navigates to the method (or methods) that override this one. If there are several overriding methods, user can choose which one he or she wants to navigate to.
Multiple hyper links
This is similar to "Is Overridden" annotation, but concerns usage of method rather than its declaration.
If user Ctrl+Alt clicks on the usage of a method in code, and this method is overridden in some of the descendant classes, a small menu pops up. It allows user to select to which of the overridden methods he or she wants to navigate to.
Ctrl+Alit click on included file opens Include Hierarchy component
Downloading project files modified while building on remote host
Some projects (e.g. Lexx/Yacc sample) generate some of their source files during the build process.
If you are building such a project on a remote development host, the generated files are located on the development host. When the build is completed, you are notified about new or changed files:
You can choose to download any of the files to the local host. If you click the notification window, a dialog box opens to allow you to select the files that you want to download to the local host.
Extended Makefile Support
Navigator window is now capable of showing makefile targets. List of targets can be sorted by source of by name. Double-click on target name opens it in the editor.
Run Target submenu in makefile context menu is automatically populated with important targets from the makefile. Other targets can be added to this menu as usually, with the Add Target... item.
Internal Terminal Support
Now native application can use for output Internal Terminal. To use it in project Properties->Run category choose Console Type to be "Internal Terminal".
Search in issue dialog
- Use the Ctrl-F action in the issue editor to search for a text value in description and comments.
Support to change visible columns in a query
- It's now possible to choose which columns should be visible in an Issue Tracking query. Click the button in the right-upper corner in a query table and select the columns from the presented list.
- New Bugzilla 3.4 is supported.
- Full support for Bugzilla custom fields (in issue editor).
- Significantly improved performance when running JIRA queries and retrieving issues.
Reporting bugs on NetBeans from NetBeans
- NetBeans user can now report bugs on the IDE directly from the Help | Report an Issue menu. The netbeans.org Bugzilla is automatically configured.
- Commit dialog has been partially redesigned to be more user-friendly. You can now include/exclude a file from commit just by selecting a checkbox and perform more actions from popup menu.