NetBeans IDE 6.5 -- New and Noteworthy in Milestone2
General
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
Ant 1.7.1
The IDE's bundled Apache Ant has been upgraded to version 1.7.1.
(issue #139445)
Nodes now have tooltips compiled from explanatory texts for their badges and also for their VCS statuses.
(issue #123469, UI Spec)
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
Java
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 Change
Deploy on Change 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.
JUnit
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.
Java Debugger
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.
GUI Builder
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.
Databases
SQL Code Completion
Code completion has been added to the SQL editor, making it easier to insert schema, table and column names.
SQL History
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
- 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
Generating an Ajax-Enabled JavaServer Faces Application. The JSF CRUD Generator feature now offers the ability to generate an Ajax-enabled JavaServer Faces application that uses Ajax requests instead of conventional ones. The last pane of the File > New File > Persistence > JSF Pages from Entity Classes wizard includes an "Ajax-enable generated pages" checkbox which, if checked, adds the necessary library jars and JavaScript code, thus laying the foundation for implementing your application's Ajax requirements.
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:
PHP
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.
FTP support
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.
CSS
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.
Ajax
- 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.
UML
Status
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.
Availability
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.
Supported Diagrams
Activity, Class, Sequence, State, and Use Case diagrams are supported. Collaboration, component, and deployment diagrams are not planned for the 6.5 release.
Modeling Palette
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.
Context Palettes
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.
Show/Hide Compartments
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:
C/C++
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
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.
Memory window
The memory window displays the contents of memory addresses currently used by the project being debugged.
Remote development
You can define remote hosts and use development tools on those hosts to build and run projects from your client system.
Packaging
You can package completed applications as tar files, zip files, or SVR4 packages.
Mobility
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
Databinding
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.
Profiler
Remote Profiling
Remote profiling packs are now generated from the Attach Wizard and don't need to be downloaded separately.
Threads Monitoring
Table view has been added to threads monitor.
Version Control
Subversion
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.