- 1 Planning page for Neon
- 2 Themes
- 2.1 Performance and stability
- 2.2 Simplify and improve the user experience
- 2.3 Code cleanup
- 2.4 Improvements in the Jobs API and usage
- 2.5 Consistent usage of adapters
- 2.6 Simplify platform API
- 2.7 Simplify committer and contributor workflow
- 2.8 Rework platform ui tests
- 2.9 Enhance Eclipse RCP programming model
- 2.10 Java 8 support in JFace Databinding
- 2.11 Migrate Mylyn notifications framework to platform UI
- 2.12 CSS Enhancements and better support for the dark theme
Planning page for Neon
Performance and stability
The Eclipse Platform UI team need to continue to improve stability and performance of the user interface. This includes regressions but also improvements compared to 3.x. The UI freeze monitoring and the reports created by the automatic error reporting tooling will also be used for this activity.
Items for improvements are improved performance in the the rendering of the SWT based components, the option to disable CSS styling via preferences and improve handling of background jobs.
Simplify and improve the user experience
The Eclipse Platform UI team plans to simplify the user workflow. For example, by adding the smart import wizard to platform, the user experience for importing project should be improved. We also plan to provide user enhancements like shortcuts for increasing the font size in an editor.
It is also planned to finish the support of HDPI screens (bug 382972) which was started in Eclipse 4.4. but unfortunately not finished due to some late discovered issues.
We will also provide a full screen mode in which the user can hide the currently displayed trimbars and toolbars to maximize his work area.
The Eclipse Platform UI team plans to reduce references to internal API from the code. We also work on removing dead internal code and to remove references to deprecated API. We will also investigate if we can use @Nullable and @NotNullable annotations. We will also retire outdated examples and put them on Github.
In case several options exists in our API and one option should be preferred, we will provide clearer guidanceto the platform API adapters which API should be used by using the @Deprecated annotation.
Improvements in the Jobs API and usage
The Eclipse Platform UI team plans to improve the performance of the Jobs framework, focusing on the usage of SubMonitor and its performance. For this we will cooperate with Equinox and other project to replace the usage of SubProgressMonitor.
Consistent usage of adapters
The Eclipse Platform UI team plans to work with Equinox to improve the handling of adapters in platform.ui. The target is to replace isolated adapter solutions in the platform.ui code, simplify the usage of the adapter pattern and provide a consistent API.
Simplify platform API
The Eclipse Platform UI team plans to simplify their API for platform clients. It also plans to evaluate and, if possible, implement generics and varargs in its API. This journey started in 4.4 but needs to continue. Generics are planned to be evaluated at for JFace Dialogs, the JFace Viewers and JFace Databinding.
Simplify committer and contributor workflow
The Eclipse Platform UI team will continue to simplify the workflow of existing and new committers and contributors. This includes the activation of more test suites during the Gerrit build trigger, code cleanup, migration of the tests to modern constructs (JUnit4, modern Assert frameworks, etc). It also includes the update of the code to remove compiler warnings. To be more inviting to other Open Source contributors we also need to update our code with constructs of modern Java versions.
Also the Eclipse Platform UI team plans to clean-up the bug database. Currently the bug database is full of outdated an already solved bugs, which makes finding real problems in the bug database complex.
Rework platform ui tests
The team plans to migrate all existing tests to JUnit 4 and evaluate the usage of better matching frameworks to simplify the tests. As far as possible, all tests should be configured to run via the Gerrit build trigger to ensure stability of the code contributions.
Enhance Eclipse RCP programming model
The Eclipse model should be improved. For example, enhancements are planned for modeling wizards and dialogs as well as handling of core expressions. Core expressions are currently only evaluated for tool and menu items but should also be evaluated for toolbars. It is planned to evaluate if the additional dependency to javax.annotation can be removed in platform without breaking existing clients.
Java 8 support in JFace Databinding
The Eclipse Platform UI team plans to support the new Date and Time API from Java 8 in JFace Databinding.
Migrate Mylyn notifications framework to platform UI
The Eclipse Platform UI team plans to migrate the Mylyn notification framework to platform UI. This change has been discussed with the Mylyn team and was well received.
CSS Enhancements and better support for the dark theme
The Eclipse Platform UI team plans to enhance CSS support. A new CSS parser will be evaluated to support CSS 3.0 and to improve performance. The Eclipse Platform UI team will continue to cooperate with other teams like JDT and SWT to improve the styling capabilities in general and the dark theme as a special use case of the CSS styling.