|
23 | 23 | [2019-06](https://github.com/howlger/Eclipse-IDE-improvements-videos/tree/2019-06)
|
24 | 24 | </sup>
|
25 | 25 |
|
26 |
| -# +++ Work in progress (for December 4, 2024) +++<br>Eclipse IDE 2024-12 Improvements Video <!--# [Eclipse IDE 2024-12 Improvements Video](https://youtu.be/jTaiDGVwygE)--> |
| 26 | +# [Eclipse IDE 2024-12 Improvements Video](https://youtu.be/jTaiDGVwygE) |
27 | 27 |
|
28 | 28 | * [December 4, 2024 ](https://calendar.google.com/calendar/event?eid=MnJoYzFsOGk1Y3BocjNrYTY4NW9kdXNuODUgZ2NoczdubTRudnBtODM3NDY5ZGRqOXRqbGtAZw&ctz=Europe/Berlin) ( [calendar ](https://calendar.google.com/calendar/[email protected]&ctz=Europe/Berlin)) - [projects ](https://projects.eclipse.org/releases/2024-12) - [wiki ](https://github.com/eclipse-simrel/.github/blob/main/wiki/Simultaneous_Release.md) - [website ](https://eclipseide.org/) ( [New & Noteworthy ](https://eclipseide.org/release/noteworthy/)) - [splash screen ](https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/issues/3963)
|
29 | 29 | * Builds: [latest unreleased](https://download.eclipse.org/technology/epp/staging/) → [released](https://download.eclipse.org/technology/epp/downloads/release/2024-12/) ([Jenkins](https://ci.eclipse.org/packaging/job/simrel.epp-tycho-build), [*.aggrcon](https://github.com/eclipse-simrel/simrel.build/commits/main), update sites: [staging](https://download.eclipse.org/staging/2024-12), [release](http://download.eclipse.org/releases/2024-12))
|
|
63 | 63 |
|
64 | 64 | ### Features to show
|
65 | 65 |
|
66 |
| - * [IDE packages for Windows on ARM](https://github.com/eclipse-packaging/packages/issues/162) (thanks to the now available Eclipse Temurin JDKs for Windows on ARM) |
67 |
| - * **Java<!-- [📽️](https://youtu.be/u8llH82TfPc?t=16)-->** |
| 66 | + * **IDE packages for additional platforms [📽️](https://youtu.be/J-oudd3UWmg?t=19)**: |
| 67 | + * **[Windows on ARM](https://github.com/eclipse-packaging/packages/issues/162)** (supported by the [Eclipse platform since the last release](https://download.eclipse.org/eclipse/downloads/drops4/R-4.32-202406010610/#PlatformRuntime) and now also by [OpenJDK](https://openjdk.org/jeps/388)/[Eclipse Temurin](https://adoptium.net/temurin/releases/?os=windows&arch=aarch64&version=21)) |
| 68 | + * [Linux on RISC-V](https://github.com/eclipse-packaging/packages/issues/162) (supported by the Eclipse platform since this release; longer supported by [OpenJDK](https://openjdk.org/jeps/422)/Eclipse Temurin) |
| 69 | + * **Java[📽️](https://youtu.be/J-oudd3UWmg?t=45)** |
68 | 70 | * [Java 23 support](https://eclipse.dev/eclipse/news/4.34/jdt.php#Java_23) (but IDE packages shipped with Java 21, the latest LTS version)
|
69 | 71 | * [JEP 467: Markdown Documentation Comments](https://openjdk.org/jeps/467), including [rendering in hover and _Javadoc_ view](https://eclipse.dev/eclipse/news/4.34/jdt.php#markdown-doc)
|
70 | 72 | * Preview features:
|
71 |
| - * [JEP 477: Implicitly Declared Classes and Instance Main Methods (Third Preview)](https://openjdk.org/jeps/477): `void main() { println("Hello, World!"); }` is a minimal and complete "Hello, World!" application |
72 |
| - * [JEP 482: Flexible Constructor Bodies (Second Preview)](https://openjdk.org/jeps/482): In constructors, `super(...)` no longer needs to be the first statement |
73 | 73 | * [JEP 476: Module Import Declarations (Preview)](https://openjdk.org/jeps/476), e.g. `import module java.desktop;` (with that, type import statements are only needed for ambiguous simple names, like `java.util.List` vs. `java.awt.List`)
|
| 74 | + * [JEP 482: Flexible Constructor Bodies (Second Preview)](https://openjdk.org/jeps/482): In constructors, `super(...)` no longer needs to be the first statement |
| 75 | + * [JEP 477: Implicitly Declared Classes and Instance Main Methods (Third Preview)](https://openjdk.org/jeps/477): `void main() { println("Hello, World!"); }` is a minimal and complete "Hello, World!" application |
74 | 76 | * Java editor
|
75 | 77 | * [New warning: _Unnecessary code > Value of lambda parameter is not used (22 or higher)_ with corresponding quick fix to configure its problem severity](https://eclipse.dev/eclipse/news/4.34/jdt.php#ui-unused-lambda-params)
|
76 | 78 | * [New quick fix: _Rename to unnamed variable_](https://eclipse.dev/eclipse/news/4.34/jdt.php#unused-to-unnamed-quickfix): when using Java 22 or above (see also corresponding clean-up bellow)
|
77 | 79 | * Clean-ups
|
78 |
| - * [Enhanced: _Unnecessary Code > Unused code > Remove unused local variables_](https://eclipse.dev/eclipse/news/4.34/jdt.php#unused-to-unnamed-quickfix): to rename to unnamed variable (`_`) where possible and when using Java 22 or above: |
79 |
| - * Unused lambda parameters |
80 |
| - * Unused _try-with-resources_ resources |
81 |
| - * Unused pattern variables in _switch_ |
82 |
| - * Unused variables in enhanced and in regular _for_ statements |
| 80 | + * [Enhanced: _Unnecessary Code > Unused code > Remove unused local variables_](https://eclipse.dev/eclipse/news/4.34/jdt.php#unused-to-unnamed-quickfix): to rename to unnamed variable (`_`) where possible and when using Java 22 or above (unused lambda parameters, _try-with-resources_ resources, pattern variables in _switch_ and variables in enhanced as well as in regular _for_ statements) |
83 | 81 | * [New: _Code Style > Control statements > Simplify boolean if/else to single return if possible_](https://eclipse.dev/eclipse/news/4.34/jdt.php#boolean-if-else-cleanup): `if (...) { return true; } else { return false; }` → `return ...;`
|
84 | 82 | * ([Enhanced: _Code Style > Control statements > Convert if/else if/else chain with 3 blocks min to switch_](https://eclipse.dev/eclipse/news/4.34/jdt.php#if-else-to-switch-null-handling) to properly handle cases where the value can be `null`: Java 20 and lower (`if (... != null) { switch (...) { ... } } else { ... }`) vs. Java 21 and higher (`case null: ...` thanks to [JEP 441](https://openjdk.org/jeps/441)))
|
85 | 83 | * [_Call Hierarchy_ view: new filter button](https://eclipse.dev/eclipse/news/4.34/jdt.php#move-filter-button) with new option [to show test code only](https://eclipse.dev/eclipse/news/4.34/jdt.php#new-filter-options) (_Filter Test Code_ became _Hide Test Code_ or _Test Code only_)
|
86 | 84 | * [Performance](https://github.com/search?utf8=%E2%9C%93&q=performance+OR+speed+OR+faster+org%3Aeclipse-jdt+committer-date%3A2024-09-05..2024-12-10&s=committer-date&o=desc&type=Commits)
|
| 85 | + * (Faster _Project > Clean..._ via [BatchImageBuilder: write .class files in batches](https://github.com/eclipse-jdt/eclipse.jdt.core/commit/334703df1992132f62da0a3370f47492b99ae613)) |
87 | 86 | * ([Avoid reading SourceFile twice](https://github.com/eclipse-jdt/eclipse.jdt.core/commit/55d99cde490111cad4874bc05eec03397ca5bc0e))
|
88 |
| - * Faster _Project > Clean..._ via [BatchImageBuilder: write .class files in batches](https://github.com/eclipse-jdt/eclipse.jdt.core/commit/334703df1992132f62da0a3370f47492b99ae613) |
89 |
| - * [In the preferences _Java > Installed JREs > Execution Environments_, faster switching of the JRE](https://github.com/eclipse-jdt/eclipse.jdt.core/issues/2884) (via [Share JRT entries across projects](https://github.com/eclipse-jdt/eclipse.jdt.core/issues/2884) and [Faster `ExecutionEnvironmentsPreferencePage.performOk()`](https://github.com/eclipse-jdt/eclipse.jdt.debug/commit/c14e32ffe3e7b1bea78f2585a3f3c00d08993083)) |
90 |
| - * (**Maven<!-- [📽️](https://youtu.be/u8llH82TfPc?t=328)-->**) |
91 |
| - * **Gradle<!-- [📽️](https://youtu.be/u8llH82TfPc?t=000)-->** |
92 |
| - * [Problems API integration](https://discuss.gradle.org/t/buildship-3-1-10-is-now-available/49045) (experimental; see also [commit](https://github.com/eclipse/buildship/commit/ec8eee378138a446e95631f56baaf389405210fd)) |
93 |
| - * [Syntax highlighting in the compare editor for `build.gradle` files](https://github.com/eclipse/buildship/pull/1311) |
94 |
| - * **General/Platform<!-- [📽️](https://youtu.be/u8llH82TfPc?t=93)-->** |
| 87 | + * ([In the preferences _Java > Installed JREs > Execution Environments_, faster switching of the JRE](https://github.com/eclipse-jdt/eclipse.jdt.core/issues/2884) (via [Share JRT entries across projects](https://github.com/eclipse-jdt/eclipse.jdt.core/issues/2884) and [Faster `ExecutionEnvironmentsPreferencePage.performOk()`](https://github.com/eclipse-jdt/eclipse.jdt.debug/commit/c14e32ffe3e7b1bea78f2585a3f3c00d08993083))) |
| 88 | + * (**Maven<!-- [📽️](https://youtu.be/J-oudd3UWmg?t=328)-->**) |
| 89 | + * **Gradle [📽️](https://youtu.be/J-oudd3UWmg?t=311)** |
| 90 | + * [Problems API integration](https://discuss.gradle.org/t/buildship-3-1-10-is-now-available/49045): disabled by default; can be enabled in the preferences _Gradel > Experimental features: Enable Problems API support_, e.g. to get problem messages from `javac`, but not e.g. [from this _Modernizer Gradle plugin_](https://github.com/andygoossens/gradle-modernizer-plugin/issues/7) (experimental; see also [commit](https://github.com/eclipse/buildship/commit/ec8eee378138a446e95631f56baaf389405210fd)) |
| 91 | + * ([Syntax highlighting in the compare editor for `build.gradle` files](https://github.com/eclipse/buildship/pull/1311)) |
| 92 | + * **General/Platform [📽️](https://youtu.be/J-oudd3UWmg?t=364)** |
95 | 93 | * Text editors
|
96 |
| - * [Syntax highlighting for many formats in all IDE packages via TM4E language pack](https://github.com/eclipse-packaging/packages/blob/master/CHANGELOG.md#2024-12) |
97 |
| - * [Find/replace overlay: error marker for regular expressions](https://eclipse.dev/eclipse/news/4.34/platform.php#improved-regex-handeling) |
| 94 | + * ([Syntax highlighting for many formats in all IDE packages via TM4E language pack](https://github.com/eclipse-packaging/packages/blob/master/CHANGELOG.md#2024-12)) |
| 95 | + * ([Find/replace overlay: error marker for regular expressions](https://eclipse.dev/eclipse/news/4.34/platform.php#improved-regex-handeling)) |
98 | 96 | * [UI](https://github.com/search?utf8=%E2%9C%93&q=dark+OR+light+OR+theme+OR+layout+org%3Aeclipse-platform+org%3Aeclipse-jdt+committer-date%3A2024-09-05..2024-12-10&s=committer-date&type=Commits)
|
99 | 97 | * [On Windows, Monitor-specific scaling (experimental)](https://eclipse.dev/eclipse/news/4.34/platform.php#rescale-on-runtime-preference): disabled by default; can be enabled in _Window > Preferences: General > Appearance_
|
100 | 98 | * [Multi-page editors: Tabs at top or bottom](https://eclipse.dev/eclipse/news/4.34/platform.php#dynamic-tab-alignment): in preferences _General > Editors_ for _Align multi-page editor tabs_ choose _Top_ or _Bottom_
|
101 | 99 | * ([Code Mining text color configurable](https://eclipse.dev/eclipse/news/4.34/platform.php#code-minig-color))
|
102 | 100 | * ([Make Grey Highlight of Inactive Tabs Darker](https://github.com/eclipse-platform/eclipse.platform.ui/commit/8df2017769466ee8993656468e7ccb8fc99a5228))
|
103 | 101 | * ([On Windows, improvements to Edge browser](https://eclipse.dev/eclipse/news/4.34/platform.php#edge-browser-improvements))
|
104 | 102 | * [Performance](https://github.com/search?utf8=%E2%9C%93&q=performance+OR+speed+OR+fast+OR+faster+OR+slow+org%3Aeclipse-platform+committer-date%3A2024-09-05..2024-12-10&s=committer-date&o=desc&type=Commits)
|
105 |
| - * [Improve 'Replace All' performance](https://github.com/eclipse-platform/eclipse.platform.ui/commit/c9b34e44a6fa6d6619916e31f2c1fd0439cb5d71) |
106 |
| - * [Delete Files of Directories in parallel](https://github.com/eclipse-platform/eclipse.platform/commit/6d514be2aca4b9be131184b63570fd4351c47c77) |
107 |
| - * [Improve performance for large selection](https://github.com/eclipse-platform/eclipse.platform.ui/commit/5fb1fb4d790c1f65dec22997fbb4e38079b6b7a5) |
108 | 103 | * Faster Quick Search: via [Parallel Quick Search](https://github.com/eclipse-platform/eclipse.platform.ui/commit/8d8da43c0baf9f7dab9ca7f3fcf818d7d62cdd1f) and [QuickTextSearcher avoid streaming](https://github.com/eclipse-platform/eclipse.platform.ui/commit/a43889deed6bece2600069c81d5b2368d2d86137)
|
109 |
| - * [Search: fail fast for binary file types without opening the file](https://github.com/eclipse-platform/eclipse.platform.ui/commit/4af4df453fe6fb1de6d487975b987931eaeb9605) |
110 |
| - * (**Git<!-- [📽️](https://youtu.be/u8llH82TfPc?t=000)-->**) |
111 |
| - * **Web<!-- [📽️](https://youtu.be/u8llH82TfPc?t=424)-->** |
| 104 | + * ([Search: fail fast for binary file types without opening the file](https://github.com/eclipse-platform/eclipse.platform.ui/commit/4af4df453fe6fb1de6d487975b987931eaeb9605)) |
| 105 | + * ([Improve 'Replace All' performance](https://github.com/eclipse-platform/eclipse.platform.ui/commit/c9b34e44a6fa6d6619916e31f2c1fd0439cb5d71)) |
| 106 | + * ([Delete Files of Directories in parallel](https://github.com/eclipse-platform/eclipse.platform/commit/6d514be2aca4b9be131184b63570fd4351c47c77)) |
| 107 | + * ([Improve performance for large selection](https://github.com/eclipse-platform/eclipse.platform.ui/commit/5fb1fb4d790c1f65dec22997fbb4e38079b6b7a5)) |
| 108 | + * (**Git<!-- [📽️](https://youtu.be/J-oudd3UWmg?t=000)-->**) |
| 109 | + * **Web [📽️](https://youtu.be/J-oudd3UWmg?t=470)** |
112 | 110 | * TypeScript 5.7 support
|
113 | 111 | * JavaScript/TypeScript tooling (in JavaScript enable validation via `// @ts-check`):
|
114 |
| - * (https://devblogs.microsoft.com/typescript/announcing-typescript-5-6/#correct-override-checks-on-computed-properties) (`override` in JavaScript via JSDoc: `/** @override */`) |
| 112 | + * [Correct `override` checks on computed properties](https://devblogs.microsoft.com/typescript/announcing-typescript-5-6/#correct-override-checks-on-computed-properties) (`override` in JavaScript via JSDoc: `/** @override */`) |
115 | 113 | * [Checks for never-initialized variables](https://devblogs.microsoft.com/typescript/announcing-typescript-5-7/#checks-for-never-initialized-variables) (TypeScript only)
|
116 | 114 | * (**Under development**)
|
117 | 115 | * ([Initiative 31](https://github.com/swt-initiative31/): Prototyping work for candidate technology evaluation on Eclipse SWT)
|
|
122 | 120 |
|
123 | 121 |
|
124 | 122 | ## Publish
|
125 |
| -* → [As YouTube video](https://www.youtube.com/playlist?list=PLnh_8hTD4yvnhXSttuewEKgKkmlIj_ND-) (title prefix until release: `+++Coming on September 11, 2024+++ ` ) |
| 123 | +* → [As YouTube video](https://www.youtube.com/playlist?list=PLnh_8hTD4yvnhXSttuewEKgKkmlIj_ND-) (title prefix until release: `+++Coming on December 4, 2024+++ ` ) |
0 commit comments