|
6 | 6 | <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
7 | 7 | <link rel="STYLESHEET" href="../book.css" type="text/css"/>
|
8 | 8 | <style type="text/css">
|
9 |
| -body {max-width: 900px;} |
10 |
| -table.news col.title {width: 30%;} |
11 |
| -/*img {max-width: 520px;}*/ |
12 |
| -table.news {table-layout: fixed; border-collapse: collapse; width: 100%;} |
13 |
| -table.news td {border-top: solid thin black; padding: 10px; overflow: visible;} |
14 |
| -table.news tr {vertical-align: top;} |
15 |
| -table.news tr td.section {font-size: 20px; font-weight: bold;} |
16 |
| -table.news tr td.title {vertical-align: top; font-weight: bold;} |
17 |
| -table.news tr td.content {vertical-align: top;} |
18 |
| -ul {padding-left: 13px;} |
19 |
| -</style> |
20 |
| -<title>What's New in Eclipse 4.35 (JDT)</title> |
| 9 | +body { max-width: 900px; font-family: sans-serif; } |
| 10 | + </style> |
| 11 | + <title>Eclipse Platform What's New</title> |
21 | 12 | </head>
|
22 |
| - |
23 | 13 | <body>
|
24 |
| -<h2>Java Development Tools</h2> |
25 |
| -<p>Here are descriptions of some of the more interesting or significant changes made to the Java development tools (JDT) |
26 |
| -for the 4.35 release of Eclipse. |
27 |
| -They are grouped into:</p> |
28 |
| -<ul> <!-- NOTE: Sync ../topics_WhatsNew.xml with this! --> |
29 |
| - <!--<li><a href="#Java23">New Language Features</a></li>--> |
30 |
| - <!--li><a href="#JUnit">JUnit</a></li--> |
31 |
| - <li><a href="#JavaEditor">Java Editor</a></li> |
32 |
| - <!--<li><a href="#JavaCompiler">Java Compiler</a></li>--> |
33 |
| - <!--<li><a href="#JavaViewsAndDialogs">Java Views and Dialogs</a></li>--> |
34 |
| - <!--li><a href="#JavaFormatter">Java Formatter</a></li--> |
35 |
| - <li><a href="#Debug">Debug</a></li> |
36 |
| - <!--li><a href="#JDTDev">JDT Developers</a></li--> |
37 |
| -</ul> |
38 |
| - |
39 |
| -<p>See also the <b><a href="../../org.eclipse.platform.doc.user/whatsNew/platform_whatsnew.html">Eclipse Platform What's New</a></b> |
40 |
| -document for changes in the Platform.</p> |
41 |
| -<p>We also recommend to read the <a href="../tips/jdt_tips.html">Tips and Tricks</a>.</p> |
42 |
| -<br/> |
43 |
| - |
44 |
| -<!-- ****************** START OF N&N TABLE ****************** --> |
45 |
| -<table class="news"> |
46 |
| -<colgroup> |
47 |
| - <col class="title" /> |
48 |
| - <col /> |
49 |
| -</colgroup> |
50 |
| -<tbody> |
51 |
| - |
52 |
| - <!-- ******************* Java XX Support ************************************* --> |
53 |
| - <!-- |
54 |
| - <tr> |
55 |
| - <td id="JavaXX" class="section" colspan="2"> |
56 |
| - <h2>Java™ XX Support </h2> |
57 |
| - </td> |
58 |
| - </tr> |
59 |
| - --> |
60 |
| - <!-- ******************* End of Java XX Support ************************************* --> |
61 |
| - |
62 |
| - <!-- ******************* JUnit ************************************* |
63 |
| -<tr> |
64 |
| - <td id="JUnit" class="section" colspan="2"> |
65 |
| - <h2>JUnit</h2> |
66 |
| - </td> |
67 |
| - </tr> |
68 |
| - ******************* End of JUnit ************************************* --> |
69 |
| - |
70 |
| - <!-- ******************* Java Editor ************************************* --> |
71 |
| - <tr> |
72 |
| - <td id="JavaEditor" class="section" colspan="2"> |
73 |
| - <h2>Java Editor </h2> |
74 |
| - </td> |
75 |
| - </tr> |
76 |
| - <tr id="new-folding"> |
77 |
| - <td class="title">Enhanced folding for control statements</td> |
78 |
| - <td class="content"> |
79 |
| - This feature enhances the code folding mechanism in Eclipse JDT by enabling folding for control statements like <b>if, while, and for. </b> |
80 |
| - It improves code readability and navigation by allowing developers to collapse and expand structured blocks. |
81 |
| - In very large files, opening the file may take slightly longer, but afterwards, everything functions as normal. |
82 |
| - <br/> |
83 |
| - <img src="images/new_folding.png" alt="View of the new folding"/> |
84 |
| - <br/> |
85 |
| - The feature can be enabled in the settings under Java → Editor → Folding.<br/> |
86 |
| - <br/> |
87 |
| - <img src="images/settings_folding.png" alt="Settings view of the folding"/> |
88 |
| - <br/> |
89 |
| - </td> |
90 |
| - </tr> |
91 |
| - <tr id="new-add-permitted-types-quick-fix"> |
92 |
| - <td class="title">New add permitted types quick-fix</td> |
93 |
| - <td class="content"> |
94 |
| - A new quick-fix has been created for Java 21 and up to add |
95 |
| - permitted types as case labels to |
96 |
| - a switch statement/expression that specifies a variable |
97 |
| - for the expression that has a sealed type |
98 |
| - and the switch has no case labels added yet. The quick-fix will |
99 |
| - also add <b>null</b> and <b>default</b> case labels to make |
100 |
| - the switch exhaustive. |
101 |
| - <p>In the following example, there is a sealed type: <b>Shape</b> that |
102 |
| - only permits <b>Circle</b> and <b>Crescent</b> classes to extend it.</p> |
103 |
| - <img src="images/sealed-shape.png" alt="Shape class"/> |
104 |
| - <img src="images/sealed-circle.png" alt="Circle class"/> |
105 |
| - <img src="images/sealed-crescent.png" alt="Crescent.class"/> |
106 |
| - <p>The following code gets a compiler error and the new |
107 |
| - <b>Add permitted type cases</b> quick-fix is offered:</p> |
108 |
| - <img src="images/sealed-before.png" alt="Sealed test before"/> |
109 |
| - <p>After selecting this quick-fix, this results in:</p> |
110 |
| - <img src="images/sealed-after.png" alt="Sealed test after"/> |
111 |
| - </td> |
112 |
| - </tr> |
113 |
| - <tr id="new-pattern-instanceof-to-switch"> |
114 |
| - <td class="title">New pattern instanceof to switch cleanup</td> |
115 |
| - <td class="content"> |
116 |
| - A new clean-up and quick-assist has been added for Java 21 and up to |
117 |
| - convert if statements using pattern instanceof expressions |
118 |
| - into a switch statement or switch expression (if possible). |
119 |
| - The transformation only applies if there are three |
120 |
| - or more pattern instanceof references to a single variable. |
121 |
| - To use the clean-up, go to the <b>Java Feature</b> |
122 |
| - tab of the clean-up configuration dialog under <b>Java 21</b> and |
123 |
| - select <b>Pattern instanceof to Switch</b>. |
124 |
| - <p>For the following example:</p> |
125 |
| - <img src="images/pattern-instanceof-before.png" alt="Pattern instanceof before"/> |
126 |
| - <p>Applying the clean-up results in:</p> |
127 |
| - <img src="images/pattern-instanceof-after.png" alt="Pattern instanceof after"/> |
128 |
| - <p>In cases where a switch expression is not possible, a switch |
129 |
| - statement will be created instead. The quick-assist is activated |
130 |
| - by clicking <b>CTRL+1</b> while having the cursor pointing within |
131 |
| - an if/else if/else block.</p> |
132 |
| - </td> |
133 |
| - </tr> |
134 |
| - <tr id="string-concat-to-text-block-enhancement"> |
135 |
| - <td class="title">String concat to text block clean-up enhancement</td> |
136 |
| - <td class="content"> |
137 |
| - The String concatenation to text block clean-up/quick-assist has been |
138 |
| - enhanced with regards to converting a StringBuilder or StringBuffer. |
139 |
| - There are situations where the StringBuilder/StringBuffer cannot |
140 |
| - be converted directly into a text block (for example, if the StringBuffer |
141 |
| - is further appended to or is passed as an argument to a method). In |
142 |
| - the past, the code would be left unaltered but now a text block will |
143 |
| - be used to initialize the StringBuffer/StringBuilder if not too |
144 |
| - small to warrant a text block. |
145 |
| - <p>The clean-up is enabled on the <b>Java Feature</b> tab underi</p> |
146 |
| - <b>Java 15</b> by selecting both: |
147 |
| - <b>Convert String concatenation to text block</b> and |
148 |
| - <b>Include StringBuffer or StringBuilder concatenations</b>. |
149 |
| - <p>For example, the following code sample:</p> |
150 |
| - <img src="images/string-concat-to-text-block-before.png" alt="Text block clean-up before"/> |
151 |
| - <p>gets converted to:</p> |
152 |
| - <img src="images/string-concat-to-text-block-after.png" alt="Text block clean-up after"/> |
153 |
| - </td> |
154 |
| - </tr> |
155 |
| - <!-- ******************* End of Java Editor ************************************* --> |
156 |
| - |
157 |
| -<!-- ******************* Java Views and Dialogs ************************************* |
158 |
| - <tr> |
159 |
| - <td id="JavaViewsAndDialogs" class="section" colspan="2"> |
160 |
| - <h2>Java Views and Dialogs</h2> |
161 |
| - </td> |
162 |
| - </tr> |
163 |
| -
|
164 |
| - ******************* End of Java Views and Dialogs ************************************* --> |
165 |
| - |
166 |
| - <!-- ******************* Java Compiler ************************************* |
167 |
| - <tr> |
168 |
| - <td id="JavaCompiler" class="section" colspan="2"> |
169 |
| - <h2>Java Compiler</h2> |
170 |
| - </td> |
171 |
| - </tr> |
172 |
| - ******************* End of Java Compiler ************************************* --> |
173 |
| - |
174 |
| - <!-- ******************* Java Formatter ************************************* |
175 |
| - <tr> |
176 |
| - <td id="JavaFormatter" class="section" colspan="2"> |
177 |
| - <h2>Java Formatter </h2> |
178 |
| - </td> |
179 |
| - </tr> |
180 |
| - ******************* End of Java Formatter ************************************* --> |
181 |
| - |
182 |
| - <!-- *********************** Debug ******************************** --> |
183 |
| - <tr> |
184 |
| - <td id="Debug" class="section" colspan="2"> |
185 |
| - <h2>Debug</h2> |
186 |
| - </td> |
187 |
| - </tr> |
188 |
| - <tr id="compare-objects"> |
189 |
| - <td class="title">Compare Objects from Variables View</td> |
190 |
| - <td class="content"> |
191 |
| - Developers can now easily compare elements in objects of the same type, such as <b><i>Lists, CharSequences, Sets, Iterables, Maps, Wrappers, Queues, and Deques</i> </b>, directly from the variables view. |
192 |
| - This feature provides a summarised overview of their similarities and differences. |
193 |
| - For other Java types, comparisons will be made based on their fields (if available), or by their references if fields are not present. |
194 |
| - This eliminates the need to write explicit comparison code in the debug shell or manually inspect each collection.<br/> Simply stop at a breakpoint, select at least two variables of the same type, and view the comparison results.. |
195 |
| - <br/> |
196 |
| - <br/>Here's an example <br/> |
197 |
| - We have stopped at line 26 which left us 4 objects of List types, now all we have to do is just select all 4 and choose "<b>Compare</b>" from right click |
198 |
| - <p> |
199 |
| - <img src="images/compareObjects_Menu.png" alt="Compare objects from variables view"/> |
200 |
| - </p> |
201 |
| - <br/> Results |
202 |
| - <p> |
203 |
| - <img src="images/compareObjects_Results1.png" alt="Results of comparison"/> |
204 |
| - </p> |
205 |
| - <br/> |
206 |
| - Another example of comparing two char sequences <br/> |
207 |
| - <p> |
208 |
| - <img src="images/compareObjects_Results2.png" alt="Results of comparison"/> |
209 |
| - </p> |
210 |
| - <br/> Maps <br/> |
211 |
| - <p> |
212 |
| - <img src="images/compareObjects_Results3.png" alt="Results of comparison"/> |
213 |
| - </p> |
214 |
| - <br/> Custom Types (Fields available) <br/> |
215 |
| - <p> |
216 |
| - <img src="images/compareObjects_Results4.png" alt="Results of comparison"/> |
217 |
| - </p> |
218 |
| - <br/> Custom Types (Fields unavailable) <br/> |
219 |
| - <p> |
220 |
| - <img src="images/compareObjects_Results5.png" alt="Results of comparison"/> |
221 |
| - </p> |
222 |
| - </td> |
223 |
| - </tr> |
224 |
| - |
225 |
| - <tr id="Detailformatter-for-primitives"> |
226 |
| - <td class="title">Detail formatters for primitives and arrays</td> |
227 |
| - <td class="content"> |
228 |
| - Developers can now add custom formatters for Java primitives and arrays. An additional option to configure formatters for primitives is available under<b> Preferences -> Detail Formatters -> Add </b>. |
229 |
| - <p> |
230 |
| - <img src="images/detailFormatters_Primitives.png" alt="detail formatters option"/> |
231 |
| - </p><br/> |
232 |
| - <p> |
233 |
| - <img src="images/detailFormatters_Primitives2.png" alt="detail formatters option"/> |
234 |
| - </p> |
235 |
| - Custom formatting can also be accessed from the variables view menu options.<br/> |
236 |
| - <p> |
237 |
| - <img src="images/detailFormatters_Primitives3.png" alt="detail formatters option"/> |
238 |
| - </p> |
239 |
| - <br/> |
240 |
| - </td> |
241 |
| - </tr> |
242 |
| - |
243 |
| - <tr id="Detailformatter-for-Exception"> |
244 |
| - <td class="title">Enhanced Formatting For Exception Objects </td> |
245 |
| - <td class="content"> |
246 |
| - Java debugger now shows stack traces for exceptions directly in the Variables and Expressions views. This enhancement applies by default for all Throwables, so developers can instantly access detailed exception information—such as stack traces and causes—without needing to configure a custom detail formatter. |
247 |
| - <p> |
248 |
| - <img src="images/exceptionObjects2.png" alt="Exception objects stack traces"/><br/> |
249 |
| - <img src="images/exceptionObjects.png" alt="Exception objects stack traces"/> |
250 |
| - </p><br/> |
251 |
| - <br/> |
252 |
| -</td> |
253 |
| -</tr> |
254 |
| - <!--************************ End of Debug ******************************** --> |
255 |
| - |
256 |
| - <!-- *********************** JDT Developers ******************************** |
257 |
| - <tr> |
258 |
| - <td id="JDTDev" class="section" colspan="2"> |
259 |
| - <h2>JDT Developers</h2> |
260 |
| - </td> |
261 |
| - </tr> |
262 |
| - *********************** End of JDT Developers ******************************** --> |
263 |
| - <tr><td colspan="2"/></tr> |
264 |
| -</tbody> |
265 |
| -</table> |
266 |
| -<!-- ****************** END OF N&N TABLE ****************** --> |
267 |
| - |
| 14 | + <h2>Java Development Tools</h2> |
| 15 | + <p> |
| 16 | + The new and noteworthy updates for Eclipse 4.36 can be found |
| 17 | + <a href="https://eclipse.dev/eclipse/news/4.36/jdt.html" target="_blank">here</a>. |
| 18 | + </p> |
268 | 19 | </body>
|
269 | 20 | </html>
|
0 commit comments