Skip to content

Commit 7fc85cd

Browse files
jjohnstnakurtakov
authored andcommitted
N&N for new 4.38 JDT features
- Java 25 import module support including new clean-up to add import module - new Markdown Comments templates for adding markdown Javadoc comments in various clean-ups/quick-fixes - enhancement to Open Type dialog to default wild-cards
1 parent 7d84aa0 commit 7fc85cd

File tree

6 files changed

+89
-4
lines changed

6 files changed

+89
-4
lines changed
19.8 KB
Loading
19 KB
Loading
87.2 KB
Loading
27.7 KB
Loading
34.1 KB
Loading

news/4.38/jdt.md

Lines changed: 89 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,15 +49,100 @@ See also:
4949

5050
[JUnit 5 New & Noteworthy in Eclipse 4.8](https://eclipse.dev/eclipse/news/4.8/jdt.html#JUnit)
5151

52-
<!--
5352
---
5453
## Java Editor
55-
-->
5654

57-
<!--
55+
### Java 25 Import Module Support
56+
<details>
57+
<summary>Contributors</summary>
58+
59+
- [Jeff Johnston](https://github.com/jjohnstn)
60+
</details>
61+
62+
Java 25 has added the ability to use `import module` to specify access to all
63+
classes of packages exported directly or via a transitive required module
64+
statement for the specified module name. For the newly offered implicitly
65+
declared class, an `import module java.base;` statement is already implied.
66+
To use an `import module` statement, the module must either be specified
67+
as a required module in `module-info.java` or else be `java.base`.
68+
69+
#### Organize Imports
70+
71+
The organize imports operation has been enhanced to support recognizing an
72+
`import module` statement and to remove extraneous imports for classes
73+
already included by the module. It will leave imports that are required either
74+
because they are not part of the exported module classes or they are found
75+
in more than one package for the modules imported or they are static imports.
76+
77+
For example:
78+
79+
![Organize imports before](images/organize-imports-before.png)
80+
81+
becomes:
82+
83+
![Organize imports after](images/organize-imports-after.png)
84+
85+
#### New Use Import Module Clean-up
86+
87+
A new clean-up has been added for Java 25 to convert an existing Java class
88+
to use `import module` to replace various import statements. The modules
89+
chosen are from the list of required modules in the `module-info.java` file
90+
or the default `java.base`. This differs from <b>Organize Imports</b> in that
91+
the organize imports operation does not add `import module` statements
92+
if they weren't present before.
93+
94+
To use the new clean-up, go to <b>Source → Clean Up... → Configure</b> and
95+
on the <b>Java Features tab</b> choose <b>Java 25 → Use Import Module</b>.
96+
97+
For example:
98+
99+
![Before using import module clean-up](images/add-import-module-before.png)
100+
101+
is changed to:
102+
103+
![After using import module clean-up](images/add-import-module-after.png)
104+
105+
### Markdown Comment Templates
106+
<details>
107+
<summary>Contributors</summary>
108+
109+
- [Jeff Johnston](https://github.com/jjohnstn)
110+
</details>
111+
112+
As of Java 23, Javadoc comments can be specified in markdown format. There
113+
are various clean-ups, quick-assists, and code actions where a Javadoc
114+
comment is added on behalf of the end-user and these are created using
115+
the templates found in the <b>Code Templates</b> dialog in <b>Preferences</b>.
116+
For example, adding new getters/setters has an option to add comments and
117+
this will add Javadoc comments to the new methods.
118+
119+
A new category: <b>Markdown Comments</b> has been added to the dialog as well
120+
as a new option: <b>Use markdown comments where available</b>. When the option
121+
is enabled and the level of Java is 23 or above, then new Javadoc comments
122+
added on behalf of the end-user will use the new markdown templates. As with
123+
regular comment templates, these can be edited in the dialog and saved.
124+
125+
![Code Templates Dialog](images/markdown-comments-templates.png)
126+
58127
---
59128
## Java Views and Dialogs
60-
-->
129+
130+
### Open Type Dialog Enhancement
131+
<details>
132+
<summary>Contributors</summary>
133+
134+
- [Jeff Johnston](https://github.com/jjohnstn)
135+
</details>
136+
137+
The Open Type dialog has been enhanced to default wild-card characters between
138+
camel-case segments. If the string is entirely upper-case such as `OOME`, no
139+
wild-cards will be defaulted and the prior camel-case search logic will occur.
140+
The new logic will prioritize class names in the sort that start with the
141+
most characters of the original string.
142+
143+
For example, specifying `OutMemory` will find `OutOfMemoryError` whereas
144+
it did not before. If there is a class called `OutMemoryAdapter`, it
145+
will appear ahead of `OutOfMemoryError` in the result list.
61146

62147
---
63148
## Java Compiler

0 commit comments

Comments
 (0)