- 1 Eclipse 4.1 SDK (M7)
Eclipse 4.1 SDK (M7)
The focus on 4.1 has been on bringing it up to a point where it's functionally usable on a day-to-day basis. In general we've achieved this, we have a ways to go before we can match the legacy eclipse's 100+ million man-hours of use but it's time to begin putting more eyes and hands on it.
This page is intended to let you know what issues have already been identified. This is a living document and will be updated at the end of each milestone. It represents the current state of the 4.1 SDK's compatibility layer for those that decide to switch over to the new world.
When using the 4.1 SDK for development, please report any loss of functionality as a defect. One of the advantages of working on the new codebase is that our bug 'fix' rate is far above that of the 3.x stream, meaning that the time between a defect being reported and a fix arriving is many times a matter of hours, not days, the hard part for us is finding all of the corner cases for each component.
At the end of this document is a list of things that the 4.1 SDK can already provide you but which are unavailable in the 3.x stream. We would love to get feedback on how much you like these and if there are any other presentation enhancements you'd like to see (i.e. per-perspective editor areas...).
There are parts of the 4.1 SDK where we have already identified issues that new users are sure to notice. Note that we've tried to allocate our time specifically on those areas that directly affect the usability of the SDK. We expect many of these issues to be addressed before 4.1 ships with the remainder to be addressed during the 4.2 development cycle (see below, deferred items are indicated with '(4.2)').
Splash Screen polish
(4.2) The current implementation of the splash screen is not as polished as the 3.x version; it doesn't show the progress of of the bundle loading and also goes away too early in relation to when the workbench window appears.
(4.2) The Welcome screen will not appear for fresh workspaces. This has relatively low impact on development activities and requires a fairly high time and resource investment to get right so it has been deferred to the 4.2 release.
No general maximize behavior (FIXED)
The current version does not allow views to be maximized or the shared area to be minimized. For now you can minimize views and 'Ctrl+M' has been modified to always operate against the shared area (also known as the "editor area").
Note that the min/max behavior now extends to Detached Windows as well. Since we now allow structures of stacks in a Detached Window we also provide the ability to minimize or maximize a stack within the window.
No / Better RCP Support
If you are developing a 3.x RCP application, you should remain using the 3.x version. If on the other hand, you are just starting to develop a new RCP app by all means use the 4.1 SDK which allows direct development of Eclipse 4 applications (it is, after all, an Eclipse 4 application itself).
Menu / Toolbar Issues
- We are still experiencing ordering issues with menu and toolbar items. In particular, contributions from the
org.eclipse.ui.actionSetsextension points may not be ordered properly.
- There may be instances where an item is visible or enabled when it should not be.
- (4.2) Capabilities / Activities are not integrated into the Command system's processing. While this is unlikely to be completely done by the release of 4.1 we've defaulted everything to being 'on'. This may result in more contributions appearing that you see in 3.x but should guarantee that anything you need is available to you.
- Editor contributions to the toolbar do not show up at the moment
CSS / Styling Issues
- The UI is not yet completely polished, so there may be some rendering artifacts (especially after changing themes). To change themes, please go to the 'General > Appearance' preference page.
- Acceptance of the new look is (of course) a matter of taste, if it is not to your liking then you can change the theme to the 'Classic' theme (which mimics as much as possible of the 3.x look).
We've done much more polish on both the UI and CSS themes, generally ensuring consistency within the presentation as well as tightening up the amount of white space within the UI. For example the Shared Area (formerly known as the Editor Area) will no longer show up in the presentation until the area contains more than one visible stack.
No Fast Views
This was intentionally dropped since it has been subsumed by the ability to minimize any stack to the trim.
- Cannot dock the Perspective Switcher in other positions.
- Cannot save a custom perspective.
- Cannot customize the perspective's wizards, view shortcuts, menu items, or tool bar items.
(4.2) General Enterprise Issues:
There are a number of features that, while crucial for deploying production applications, do not impact the development workflows and have thus been deferred to the 4.2 release.
Note that in many cases, many of these issues may already work but have not been tested in the actual product environments.
- BiDi support: We've run the UI through a basic smoke test in RTL mode with no apparent regressions
- NLS Support: A 'TVT' (Translation Verification Test) has been performed on the 4.1 SDK. The only defects found were in context menus used within the e4 core and these have been fixed.
- Scalability: We've successfully run a very large commercial application on top of 4.1 with no apparent memory or performance issues.
- Performance: See the comment above.
On the plus side there are a number of things that you can do in the 4.1 SDK that you could not do in 3.x:
- Detached windows can contain multiple part stacks.
- Editors can now be detached.
- You can mix editors and views in the same stack.
- You can place views into the shared area (i.e. the "editor area"), this is particularly useful for views with a lot of content such as the 'Console' view.
- Use the ability to embed parts to allow JDT's compare editor to use a 'real' editor as the left pane of its Compare editor.
- Refactor the more commonly used views so that they can be used in the e4 RCP layer without having to bring in the complete compatibility implementation.
- Replace the current Error Dialog with one that embeds the Error View
If you have any ideas about how your component might be improved by using any of these capabilities we'd love to hear from you and help ! This is one of reasons why we're doing this after all...