Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[eclipse-dev] summary of what's new in Eclipse 2.1 milestone M3 build

Here's a summary of new and noteworthy features in the recent Eclipse 2.1
milestone M3 build. A link to this summary has also been added to the M3
download page:
http://download.eclipse.org/downloads/drops/S-M3-200211151436/index.php

Eclipse 2.1 M3 - New and Noteworthy


As banners are being hung proclaiming "Le Beaujolais Nouveau est arrivé!"
and over a million cases of the 2002 vintage are shipping around the world,
the Eclipse development team has delivered the Eclipse 2.1 milestone build
M3 (November 15, 2002). The following are some of the interesting things
you'll find in this build. See the M3 build notes for details about bugs
fixed and other changes.


NOTE: When you first open an existing workspace with Eclipse 2.1 M3, use
Project > Rebuild All to explicitly rebuild all Java projects before
proceeding. If you don't, incremental builds will fail saying that some
prerequisite projects failed to build. (This is necessitated by a change to
the internal representation of  a built state of a Java project.)


Mac is back in town. Eclipse on Mac OS X has returned to the regular
builds. Many of the changes to SWT originally planned for M3 are still in
progress and will be released as soon as they are ready.


Improved GTK widgets. SWT now makes use of up-to-date native GTK 2 widgets
for tables, trees, and text.


DBCS support on Motif. SWT now supports double-byte characters on Motif
window systems.


User customizable key bindings. There is now a preference (Workbench / Key
Bindings) for customizing key bindings (one of our high priority items for
Eclipse 2.1). Emacs users will find a predefined set of key bindings
awaiting them. The implementation is really fresh - expect further
improvements and polish.


Improved workspace navigation. Whenever the resource Navigator view is
visible, Navigate > Open Resource (CTRL+SHIFT+R) brings up a dialog that
allow you to quickly locate and open an editor on any file in the
workspace. In the same vein, Navigate > Go To > Resource expands and
selects the resource in the Navigator view itself.


Calmer editor linking behavior. The resource Navigator view is no longer
tightly linked to the currently open editor. Closing or switching editors
does not change the selection in the Navigator view. Use the Sync with
Editor button in the Navigator view toolbar to manually align the Navigator
view to show the file being edited. (It's right beside the new Collapse All
button.)


Sort tasks by creation time. Use Sort > by Creation Time in the view menu
of the Tasks view to sort items in the Tasks view by the time they were
created .


Like to start afresh each session? There is a new preference (Workbench /
Editors) to automatically close all open editors before exiting Eclipse.


Lightweight label decorators. Tools can now define lightweight label
decorators and let the workbench take care of managing the images. A tool
can superimpose a small image on an icon simply to providing the small
image in the extension - no code required. A slightly more flexible
lightweight decorator requires code that furnishes the label text and an
image descriptor. For details see the reference documentation for the
org.eclipse.ui.decorators extension point in the Platform Plug-in Developer
Guide.


Coming soon: more flexible projects. Although it doesn't show at the UI as
yet, linked resources have been added to Platform Core, and source folder
exclusion filters and multiple output folders have been added to JDT Core.
These are in support of more flexible projects, one of our high priority
items for Eclipse 2.1. All Platform/JDT Core APIs are available for these
features; the UI will begin appearing shortly.


Default project build order. The algorithm used to compute the default
project build order has been improved. Mutually referential projects are
clustered together (in no particular order) in an appropriate position
relative to other projects that reference them (they used to be relegated
to the end of the list).


New support for optional features. It is now possible to define optional
features that get installed only if selected by user. (This change was also
included in 2.0.2.)


Help bookmarks. You can now keep your own list of bookmarks to pages in
help books. Create a bookmark with the new Bookmark Document button on the
toolbar of the Help browser. The bookmarks show up in the new Bookmarks
tab.


Support for custom help browsers. There is a new preference (Workbench /
Help) that allows you to configure a custom help browser.


Visible instruction pointer. The debugger now places an arrow in the
left-hand margin to indicate the currently executing instruction.


Changes to CVS modules. There is now a Modules item under HEAD which can be
expanded to see the modules defined in the CVS repository's CVSROOT/modules
file. There is no longer a Show Modules mode.


CVS now supports working sets. Users can now define working sets which will
limit the number of projects shown in the CVS Repositories view.


Changes to CVS branches and versions. The Branches item in the CVS
Repository view has been changed and now only contains projects that are
"known" to be in the branch. Similarly, the Versions item only contains
projects that are "known" to have such a version. The Branches and Versions
items start out empty and must be populated using Refresh Branches and
Versions or Configure Branches and Versions from the context menu of a
selected CVS repository location. It's a good idea to define a working set
before refreshing the tags of the repository location; otherwise the
refresh operation will have to search every project in the repository.


Comparing different versions. Select any folder or file in the CVS
Repositories view and choose Compare With from context menu to compare it
against some other version.


Ant view. There is a new Ant View (Window > Show View > Other > External
Tools > Ant View) that make it easy to easier to run Ant scripts. This is
just the first installment of Ant-related UI changes; more are planned for
M4.


New way to reference dependent plug-ins. There is a new experimental PDE
preference (on Plug-in Development / Java Build Path Control) that controls
whether new plug-in development projects use a dynamically computed build
classpath entry rather than an explicit list of required plug-in libraries.
This mechanism should make Java project build classpaths much more
flexible, and much less fragile.


Plug-in dependencies view. A new view can be opened by selecting a plug-in
manifest file ( plugin.xml) and choosing Open Dependencies from the context
menu. This view allows you to browse the plug-ins it requires, the ones
they require, and so on.


Searching other plug-in. Select a plug-in in the Plug-ins view and choose
Add to Java Search from the context menu to include the plug-in's JAR
libraries in Java searches. This is handy for remaining aware of other
plug-ins that depend on ones you're working on.


Plug-in searches. PDE now contributes a Plug-in Search tab on the Search
dialog so that you can search for plug-ins, fragments, and extension
points.


Missing .classpath file. An error marker is now used to flag a Java project
that is missing its all-important .classpath file.


Be sure to terminate // comment at end of file. In 1.4 compliant mode, the
Java compiler reports an error if a single-line ("//") comment at the end
of the file is not properly terminated with a line break. For backward
compatibility reasons, the stricter check isn't performed in 1.3 compliant
mode.


Changed compiler option defaults. By default the Java compiler now produces
warnings for unused imports and non-static references to static members.
You can find these preference settings on the Java / Compiler / Problem
Markers panel.


Java compiler catches assignments that have no effect. The Java compiler
now gives you a warning when you appear to be assigning a variable with its
own value. This helps catch a subtle mistake in setter methods and
constructor declarations where the name of a parameter is close to the name
of a field: for example, void setFoo(int newFoo) { this.foo = foo; }


Code completion improvements. The Java compiler does a better job of rating
the relevance of a proposal based on the type expected in the context. For
instance, for StringBuffer sb= new [code assist], StringBuffer now shows up
first on the list.


Configurable hovers. You can configure what information you see when you
hover in the Java editor via preference settings on the Java / Editor /
Hover panel. Choices include source code, Javadoc, and problems. Different
hovers can be configured for CTRL, SHIFT, and ALT modifier keys and
combinations. A button in the workbench toolbar enables and disables all
configured hovers.


Sticky hovers. When you hover in the Java editor, you can hit the F2 key to
make the hover pane stay put so that you can scroll, resize, or select text
from it.


Paste indentation. The Java editor automatically determines the right
amount of indentation to use when pasting code. This behavior is controlled
by a preference setting on the Java / Editor / Behavior panel.


Wrapping Javadoc comments. By default the Java editor automatically wraps
Javadoc comments at the print margin column. This behavior is controlled by
a preference setting on the Java / Editor / Behavior panel.


Improved Java outline view. You can adjust the Java outline to show just
the members of the compilation unit's main type by pressing the leftmost
button (Go Into Top Level Type) in the Outline view toolbar.


Customizable error indicators. The Java editor now offers improved
customizability for the visual appearance of errors, warning, tasks, etc.
These preference settings are found on the Java / Editor / Problem
Indication panel.


Refactor > Inline Constant inlines uses of a particular Java static final
field, either at a selected reference site or everywhere a particular field
is referenced.


Refactor > Promote Local Variable to Field allows you to turn a local
variable into a field. If the variable is initialized on creation, then the
operation moves the initialization to the new field's declaration or to the
class's constructors.


Refactor > Convert Anonymous Class to Nested Class applies to the selected
anonymous class declaration.


Hyperlinked Java code. While hovering over Java code, pressing the CTRL key
and moving the mouse turns class, method, and field identifiers into
clickable links to the corresponding declaration.


Project-specific Java compiler settings. In addition to workspace-wide Java
compiler settings (Java / Compiler), you can now configure these for a
specific Java project through the new Java Compiler property page on each
Java project.


Hierarchical view of package structure. There's a new Layout view menu
option in the Java Package Explorer which controls whether packages are
displayed as a tree (subpackages below packages) instead of a flat list
(default).


Finding unit tests. The new JUnit action Navigate > Go To > Referring Tests
finds and navigates to tests that reference a particular type or method.


More quick fixes. There are now quick fixes for additional Java problems:
adding stubs for unimplemented methods; adding either a catch clause or a
throws declaration to deal with an uncaught exception; removing a catch
clause to deal with an exception no longer thrown.

Quick assist. Hitting CTRL + 1 in the Java editor when the quick fix icon
(yellow light bulb) is showing brings up the menu of available quick fixes.
This provides an easy way to declare new local variables, parameters, and
fields without having to break stride.





And, in case you missed it, there were a bunch of new and noteworthy
changes in milestone build M2.









Back to the top