NetBeans IDE 6.5 -- New and Noteworthy in Milestone2
Default layout of windows
Default layout of windowing system has changed a bit. Tasks window is now visible by default. Debugger windows, Output window, Tasks window and other windows which show up in the same place as Output have changed their position.
For more details see the UI Spec document.
Main menu layout change
Main menu changes touched Build, Run and Debug menus.
For more details see the UI Spec document.
Main Project concept change
Main Project concept and its relationship to project-related actions has been modified to suite well both groups of users - those who want to use Main Project concept and those who don't.
For more details see the UI Spec document.
New Project wizard category cleanup
Categories in New Project wizard are now named and ordered according to a new 6.5 UI Spec to better distinguish the technologies (Java, PHP, Ruby, C/C++, ...).
Options Panel Improved
Options Panel is now searchable using Quick Search (Ctrl-I)
Language specific settings were unified and moved to Editor category
The IDE's bundled Apache Ant has been upgraded to version 1.7.1. (issue #139445)
Explanatory tooltips for nodes
Quick Search SPI
Quick Search functionality introduced in 6.5 M1 is not only end-user functionality, but also an API which allows modules to register their own providers for QuickSearch. A wizard has been also added in M2 in order to simplify their development. Appropriate layer entries are added, skeleton implementation of SearchProvider can be generated by it.
MIME resolvers in unit tests
NetBeans module developers can now expect declarative MIME resolvers to be accessible from unit tests. (issue #138846)
GUI testing available for external modules
Module developers interested in GUI functional testing can now use the Jemmy and Jellytools libraries in conjunction with the new NbModuleSuite, without needing to set up XTest. details
Compile & Deploy on Save
Compile on Save
Where is the Build action? It is not needed any more. The Compile on Save feature does a build for you automatically. Run/debug/test actions are now available immediately. Modify a method body while running the debugger and save - the changes will be reloaded in the running application.
Compilation errors inside a method don't stop you from running your program; if you debug, the debugger will halt if program execution hits that point.
Deploy on Save
Deploy on Save is a feature that instantly redeploys Java EE application when a change is made. For a typical example - a web application - this means not just automatic deployment of JSPs, but classes and descriptors too.
The feature is available for web, EJB and EAR applications.
Deploy on Save is currently supported for Tomcat, GlassFish V2 and GlassFish V3 (directory based deployment is prerequisite).
Go To Symbol
Navigate | Go To Symbol might be useful. Just type a name of method field or class.
Javadoc and source root detection
Associating Javadoc archive and/or Source archive with a NetBeans Library or a project's JAR was enhanced. Javadoc and/or Sources do not have to be located in archive's root - they can be anywhere within the archive (for example Javadoc is frequently placed in docs/api subfolder) and root will be automatically detected.
Run/Debug Single JUnit Test Method
It is now possible to execute a single test method from the test results window.
Improved Display of Test Results
If a test is interrupted, e.g. by the debugger, the interruption is detected and an appropriate message is displayed in test results.
The output pane of the test results window now displays only what the tests really printed out–no extra newlines. This improvement may not work when debugging.
More results are displayed if the Ant <junit> task used for execution of tests does not produce any XML report file. In previous releases, no information about passed tests was displayed in such a case. Now, at least basic information (name, passed/failed) about each test is displayed. This improvement may not work when debugging.
Step Into action redesign
Step Into action (F7) now offers an easy selection of the method call where to step into if there are more possibilities at the current line. Simple ui mode is invoked. The desired call can be chosen by arrow keys or by mouse directly in the source editor. A heuristics is used to determine the method call offered by default. In the example below you can select between setText and getString methods; setText is preselected as it is more usual to step into the last method call rather than to parameters' calls.
Ability to generate simple class names
Usually the users of GUI builder don't need to care about the generated code, but there are some situations where it is desirable to have the generated code as simple as possible. Beginners sometimes look into the generated code to learn how some features are implemented. Experts on the other hand should be able to find places for their tweaks quickly.
While we always tried to generate the code that resembles the one written by humans there was always one area where we failed. We always generated code with fully qualified names e.g. javax.swing.JButton instead of JButton.
Since NetBeans 6.5 Milestone 2 the GUI builder has an option to generate simple class names. In fact, there are two options. You can find the first one (called Generate Full Classnames) in the Properties of the root node of Inspector window. It determines whether simple or fully-qualified names should be generated for the opened form.
The second option (e.g. the global one) is in Tools > Options > Miscellaneous > GUI Builder. It determines the default value of the per-form option. The global option is used when a new form is created only. Changes of this option doesn't have any effect on the forms that already exist.
Note that the generation of simple names can take few seconds for bigger forms. That's why it is switched off by default. If you feel slowed down by the slow generation of simple names, you can always switch it off while editing the form and then switch it on when you are finished with your changes.
SQL Code Completion
Code completion has been added to the SQL editor, making it easier to insert schema, table and column names.
You can now look at the history of all SQL you've executed, and can to text filtering and/or filter by connection URL, and then select and insert a statement.
Editable, sortable results, multiple result tabs
With this you can sort the results by double-clicking on a row header, modify a row, insert and delete rows, there is full pagination support, and you can optionally create a new tab for each statement that returns results, very nifty for comparing results back and forth.
Java Web and Java EE
- Hibernate is now part of the standard distribution. No need to install the plug-in anymore.
- Hibernate Reverse Engineering File Editor Support
- Support for J2SE projects apart from Web and Maven projects.
JSF CRUD Generator
Improved Modularity and Ease of Customization. General JPA controller logic has been moved into separate classes that can be generated from a new wizard, namely, File > New File > Persistence > JPA Controller Classes from Entity Classes, enabling non-JSF applications to use such logic. Likewise, other general purpose logic has been moved from the JSF Controller classes into utility classes. Also, in order to support iterative development with a changing database schema, per-property code has been removed from the generated JSF controller classes by means of a new ELResolver. Consequently, if your add or remove columns from your database schema after customizing the JSF controller classes, you do not have to regenerate the JSF controller classes and migrate your customizations.
Source Includes and Excludes
Excluded and included source files can be configured for Web Application, EJB Module and Enterprise Application Client projects:
Generate Constructor, Getters and Setters
This feature offers generating of constructor, getters and setters in a PHP class. Read more details here.
Improving Semantic Coloring
Now the semantic coloring in PHP editor can mark unused fields and methods. More details about coloring in PHP editor you can find here.
Added FTP support for PHP projects - more information can be found here.
Project specific PHP interpreter
Added support for specific PHP interpreter per project - more information can be found here.
Property Values Code Completion
Css property value code completion is now context aware. You can now easily complete multiple items in one property value which is useful especially for shorthand properties like font or background.
Property Values Error Checking
Added support for css property values error checking.
- Support for Internet Explorer versions 6 and 7 on Windows XP and Vista operating systems.
- Requires the presence of active debugging framework. User will be prompted to install it which is freely available.
- Edit primitive type variable values in Local variables and Watches windows.
- Run to cursor.
- Stop on exceptions and errors.
The NetBeans UML Plugin underwent a complete rewrite of the diagram drawing area for the NetBeans 6.5 release with approximately 50% of the code being rewritten. Testing and bug fixing have been underway since early June. However, the UML Plugin does not yet meet standard NetBeans Beta quality criteria.
The UML Plugin is available on the NetBeans 6.5 Update Center:
- Choose Tools > Plugins from the main menu to open the Plugins manager.
- Click the Available Plugins tab to display plugins that are available but not installed.
- In the left pane, select the UML plugin and click Install. Hint, type uml into the Search box to quickly locate the UML plugin.
- Complete the pages in the installer to download and install the plugin.
Activity, Class, Sequence, State, and Use Case diagrams are supported. Collaboration, component, and deployment diagrams are not planned for the 6.5 release.
The modeling palette has been simplified for 6.5. The nodes have been retained while the edges and a few strategic actions have been moved to context palettes. We also updated our palette gestures to align with the form editor palette, i.e. drag and drop, click and click, and shift-click for multiple drop.
Relationships have been moved to context palettes for each node type making the actions much easier to find and access. In addition, dragging a relationship to whitespace on the diagram automatically creates a new node based the context.
In response to your feedback asking for an easy way to quickly collapse or expand node compartments, we have added a new Show/Hide compartments action:
Code completion accuracy
Code completion accuracy has improved from milestone 1 to milestone 2. For a range of mid to large scale applications, those cases where valid choices are not shown are now around 3%.
Error highlighting in the Source Editor includes missing semicolons and unresolved identifiers. Occasionally false errors are reported: 3-5% of identifiers highlighted as unresolved are actually correct.
The memory window displays the contents of memory addresses currently used by the project being debugged.
You can define remote hosts and use development tools on those hosts to build and run projects from your client system.
You can package completed applications as tar files, zip files, or SVR4 packages.
SVG UI Components
New SVG UI Component snippets are available in the SVG Composer. It's now possible to create an SVG-based UI using the SVGComposer.
A New SVG Component is available in the Visual Mobile Designer. Now it is possible to create an SVG UI using the SVGComposer then drag and drop an existing SVG file on to an SVGForm component. The necessary code and SVG Components from SVG file are then added to the SVGForm component.
New property editor that is part of the SVGForm allows you to look up the contents of an SVG UI file. It shows an SVG UI preview as well as components and its assigned ID.
Mobile Screen Designer shows a preview of the SVG UI and provides an easy way to switch back to the SVG Composer by choosing the "Edit SVG" action from the pop up menu.
Part of the source code generated is based on the SVGForm component and SVG UI that is created in the SVG Composer
Improved Data Binding custom property editor.
Proguard and JMUnit update
The ProGuard library was upgraded to version 4.2 and JMUnit to version 1.1.0.
Remote profiling packs are now generated from the Attach Wizard and don't need to be downloaded separately.
Table view has been added to threads monitor.
Subversion client 1.5 for Windows is available on the Update Center. The IDE is able to download and install it automatically when Subversion is to be used first time in the IDE. So the IDE does not need Subversion installed on the system.