exploding in the night skies, a spokesman for Eclipse would only say that Eclipse 3.4 M3 has exploded onto the scene. Here are some of the more noteworthy things available in milestone build M3 (November 2, 2007) which is now available for
. See the
for details about bugs fixed and other changes.
Platform
|
| Alpha on shells | There is new SWT API that allows the setting of an alpha value on a shell. Note: some operating systems do not support this functionality. 
|
|
| Image transfer support | New API was added to support copy and paste of an image to and from the clipboard. |
|
| SWT on HP-UX IA64 | SWT will now run (in 32-bit mode) on HP-UX Itanium machines. 
|
|
| Resource actions in IDE now support LTK-style refactoring | The move, delete and rename IDE resource actions now support LTK (Language Tool Kit) refactoring in the same manner as the Java refactoring actions do. These new actions are available in the Project Explorer. Here is an example of the resulting dialog when moving a resource in the Project Explorer:

|
|
| Various printing improvements | The printing support has been improved: - line numbers are now printed if enabled in the editor
- background color is no longer printed
- annotations (e.g. error squiggles) are now printed
- each page shows the file name in the header
- each page shows the current page number in the footer
- the print job gets a meaningful name
|
|
| Line numbers for text search results | The text search results now show the line number:
|
|
| Apply Patch improvements | Improvements have been made to the Apply Patch Wizard. The handling of unmatched patch segments has been modified to be more consistent with how the standard patch application works. Segments (or hunks) that do not match at the location indicated in the patch will be automatically tested at previous and later locations in the file to see if an exact match for the patch appears elsewhere. Also, the fuzz factor (i.e. the number of context lines to ignore when searching for a match) can be automatically calculated and applied, if an exact match cannot be found. The user will still have the ability to adjust the fuzz factor. 
|
|
| Import Team Project Set improvements | Improvements have been made to how the import of CVS projects using a Team Project Set is handled. In the past, a repository location was automatically created with the given connection method and without a user name when CVS projects were imported from a project set. Now, the import process allows the user to fully configure the repository location, enabling them to specify a user name and change the connection method if require. So, for instance, a project set file containing extssh connections could now be used by a non-comitter since they could reconfigure the repository location connection method on import to be pserver. 
|
|
| Import/export launch configurations | You can now import and export launch configurations in the local file system. Select Launch Configurations from the Run/Debug category of the Import or Export wizard.  The following page allows you to select configurations to export to a location in the local file system.
|
|
| Execution environment description files | An execution environment description file describes a JVM and the environment it represents (see Execution Environment Descriptions for detailed information on the file format). The file defines JVM properties such as boot path, endorsed directories, language level, executables, source attachments, and so on. You can now add JREs to your workspace using execution environment description files from the Installed JREs preference page. Press Add and select the Execution Environment Description JRE type.
 On the following page specify an .ee file. This will create a JRE with attributes from the description file. This example shows J9 configured for Foundation 1.1.

|
|
| Launch configurations in search results | Launch configurations now appear when searching for references to a main type. Double-clicking on the search result opens the launch dialog on that configuration. 
|
JDT
|
| Code completion helps with casts | Content Assist can now use the type of the instanceof condition to offer more field and method access proposals.  It will add the required cast in the code:

|
|
| Complete static members of not yet imported types | Completions for static members also work even if the type has not been imported yet:  The required import will be added when such a proposal is selected (using static imports if 5.0 source level). |
|
| Format edited lines only | Format on save can now be configured so that only edited lines are formatted on save. With this option enabled, format on save generates a minimal amount of outgoing changes, even on unformatted code.  To enable this feature go to the Java > Editor > Save Actions preference page and select Format edited lines. |
|
| Highlighting numbers in Java code | The Java editor can now show numbers with their own custom color: The color can be configured on the Java > Editor > Syntax Coloring preference page. |
|
| Javadoc hover shows constant value | The Javadoc hover on static fields that are computed at compile-time now shows the constant value:
|
|
| Add solutions for unresolvable types | The new JUnit test case wizard uses the new org.eclipse.jdt.ui.classpathFixProcessors extension point to solve its classpath problems. In a plug-in project, the wizard will suggest adding a new plug-in dependency instead. The new org.eclipse.jdt.ui.classpathFixProcessors extension point collects processors that know how to fix the setup of a particular project when a type can not be found on its classpath:
- Java projects will search known libraries and suggest adding archives to the classpath
- JUnit will suggest adding the JUnit container when a JUnit type is unknown
- Equinox projects will suggest adding a new required bundle
|
|
| Report 'Null pointer access' by default | The optional compiler diagnostic for detecting any null pointer access is now reported as a warning by default.  Note that this diagnostic is accessible through Java > Compiler > Errors/Warnings preference page, using the Potential programming problems > Null pointer access preference:

|
|
| Improved unnecessary code detection | The compiler can now diagnose unnecessary @SuppressWarnings annotations. This is helpful for cleaning up @SuppressWarnings(...) annotations which were necessary a while ago, but are no longer useful. Note that @SuppressWarnings("all") is still silencing the warning for unnecessary @SuppressWarnings, as it is the master switch to silence ALL warnings:
 This diagnosis is accessible through Java > Compiler > Errors/Warnings preference page, using the Annotations > Unused @SuppressWarnings warning token preference:

|
|
| Call Hierarchy view works with more members | The Call Hierarchy view in Caller mode now works with more kinds of elements: - The children of a field are all members that access the field (read and write accesses)
- The children of a type or an instance initializer are all constructors of the type
|
|
| Rename Field renames properties key | Renaming a field which also acts as an accessor to an externalized string now renames the key in the corresponding properties file as well. This new feature can be used to quickly rename property keys.
To invoke this refactoring, select a field and execute Refactor > Rename.
|
|
| Toggle Comment in Properties File editor | There is now a Toggle Comment action in the Properties File editor. |
|
| Java 5 annotations supported by Java model | The Java Model now supports Java 5 annotations as Java elements (IAnnotation). One can now use getAnnotations() on a package, a field, a method or a type to retrieve their corresponding annotations. The fine-grained deltas now reflect annotation additions, removals, and changes. |
PDE
|
| Improved Plug-in Spy | The Plug-in Spy (Alt+Shift+F1) has been enhanced to include spying on: - Active Help Context Identifiers
- Launch Configuration Dialogs
- Dialog Pages

|
|
| Plug-ins and execution environments | PDE now supports the concept of a Bundle Required Execution Environment, and surfaces it in the New Plug-in Project wizard:
|
|
| Plug-in registry view enhancements | The Plug-in Registry view now includes advanced bundle-related operations: - Start
- Stop
- Enable
- Disable
These advanced operations are disabled by default; toggle the Show Advanced Operations menu item to turn them on.

|
|
| Extension point renaming | PDE now supports renaming extension point ids and updating all referencing extensions found in the workspace. The Rename function is available in the context menu in the All Extension Points section and the plugin.xml source page of the plug-in manifest editor.

|
|
| Improved Error Log view | The Error Log view has been refactored into a separate plug-in (org.eclipse.ui.views.log) and enhanced in a few ways: - Ability to easily filter log entries
- Log entries are now broken up by corresponding session
- Improved performance for large logs

|
|
| Bundle classpath synchronization | To aid new users battling with compile-time versus run-time issues, PDE has added an optional check (warning by default) and quick fix to ensure that source entries found in the build.properties are properly accounted for in the plug-in manifest.  This behavior is controlled by the Bundle Classpath Synchronization option on the Plug-in Development > Compilers preference page.
|
Equinox
|
| New provisioning support | The Equinox Incubator p2 team has released their third milestone.
- The agent download is now available for Windows, Linux and Mac.
- You can install to any platform using the same Installable Unit.
- An initial version of a UI for automatic updates is now provided with the end user UI.
- An initial support for reliable installation has been put in place, thus avoiding leaving things behind in the event of failure.
- The bundles have been renamed to be under the org.eclipse.equinox.p2 namespace.
Though this support is still in incubation, we encourage you to take a look at it. See the Equinox Provisioning wiki page for further information.
|
|
The above features are just the ones that are new since the previous milestone build. Summaries for earlier 3.4 milestone builds: