diff --git a/eclipse.platform.common/bundles/org.eclipse.jdt.doc.user/topics_WhatsNew.xml b/eclipse.platform.common/bundles/org.eclipse.jdt.doc.user/topics_WhatsNew.xml index 75500805e95..18b4ba522f8 100644 --- a/eclipse.platform.common/bundles/org.eclipse.jdt.doc.user/topics_WhatsNew.xml +++ b/eclipse.platform.common/bundles/org.eclipse.jdt.doc.user/topics_WhatsNew.xml @@ -4,9 +4,9 @@ - + - + diff --git a/eclipse.platform.common/bundles/org.eclipse.jdt.doc.user/whatsNew/jdt_whatsnew.html b/eclipse.platform.common/bundles/org.eclipse.jdt.doc.user/whatsNew/jdt_whatsnew.html index 4094b1f0f1d..f4e0cbc366f 100644 --- a/eclipse.platform.common/bundles/org.eclipse.jdt.doc.user/whatsNew/jdt_whatsnew.html +++ b/eclipse.platform.common/bundles/org.eclipse.jdt.doc.user/whatsNew/jdt_whatsnew.html @@ -6,264 +6,15 @@ -What's New in Eclipse 4.35 (JDT) +body { max-width: 900px; font-family: sans-serif; } + + Eclipse Platform What's New - -

Java Development Tools

-

Here are descriptions of some of the more interesting or significant changes made to the Java development tools (JDT) -for the 4.35 release of Eclipse. -They are grouped into:

- - -

See also the Eclipse Platform What's New -document for changes in the Platform.

-

We also recommend to read the Tips and Tricks.

-
- - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Java Editor

-
Enhanced folding for control statements - This feature enhances the code folding mechanism in Eclipse JDT by enabling folding for control statements like if, while, and for. - It improves code readability and navigation by allowing developers to collapse and expand structured blocks. - In very large files, opening the file may take slightly longer, but afterwards, everything functions as normal. -
- View of the new folding -
- The feature can be enabled in the settings under Java → Editor → Folding.
-
- Settings view of the folding -
-
New add permitted types quick-fix - A new quick-fix has been created for Java 21 and up to add - permitted types as case labels to - a switch statement/expression that specifies a variable - for the expression that has a sealed type - and the switch has no case labels added yet. The quick-fix will - also add null and default case labels to make - the switch exhaustive. -

In the following example, there is a sealed type: Shape that - only permits Circle and Crescent classes to extend it.

- Shape class - Circle class - Crescent.class -

The following code gets a compiler error and the new - Add permitted type cases quick-fix is offered:

- Sealed test before -

After selecting this quick-fix, this results in:

- Sealed test after -
New pattern instanceof to switch cleanup - A new clean-up and quick-assist has been added for Java 21 and up to - convert if statements using pattern instanceof expressions - into a switch statement or switch expression (if possible). - The transformation only applies if there are three - or more pattern instanceof references to a single variable. - To use the clean-up, go to the Java Feature - tab of the clean-up configuration dialog under Java 21 and - select Pattern instanceof to Switch. -

For the following example:

- Pattern instanceof before -

Applying the clean-up results in:

- Pattern instanceof after -

In cases where a switch expression is not possible, a switch - statement will be created instead. The quick-assist is activated - by clicking CTRL+1 while having the cursor pointing within - an if/else if/else block.

-
String concat to text block clean-up enhancement - The String concatenation to text block clean-up/quick-assist has been - enhanced with regards to converting a StringBuilder or StringBuffer. - There are situations where the StringBuilder/StringBuffer cannot - be converted directly into a text block (for example, if the StringBuffer - is further appended to or is passed as an argument to a method). In - the past, the code would be left unaltered but now a text block will - be used to initialize the StringBuffer/StringBuilder if not too - small to warrant a text block. -

The clean-up is enabled on the Java Feature tab underi

- Java 15 by selecting both: - Convert String concatenation to text block and - Include StringBuffer or StringBuilder concatenations. -

For example, the following code sample:

- Text block clean-up before -

gets converted to:

- Text block clean-up after -
-

Debug

-
Compare Objects from Variables View - Developers can now easily compare elements in objects of the same type, such as Lists, CharSequences, Sets, Iterables, Maps, Wrappers, Queues, and Deques , directly from the variables view. - This feature provides a summarised overview of their similarities and differences. - For other Java types, comparisons will be made based on their fields (if available), or by their references if fields are not present. - This eliminates the need to write explicit comparison code in the debug shell or manually inspect each collection.
Simply stop at a breakpoint, select at least two variables of the same type, and view the comparison results.. -
-
Here's an example
- 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 "Compare" from right click -

- Compare objects from variables view -

-
Results -

- Results of comparison -

-
- Another example of comparing two char sequences
-

- Results of comparison -

-
Maps
-

- Results of comparison -

-
Custom Types (Fields available)
-

- Results of comparison -

-
Custom Types (Fields unavailable)
-

- Results of comparison -

-
Detail formatters for primitives and arrays - Developers can now add custom formatters for Java primitives and arrays. An additional option to configure formatters for primitives is available under Preferences -> Detail Formatters -> Add . -

- detail formatters option -


-

- detail formatters option -

- Custom formatting can also be accessed from the variables view menu options.
-

- detail formatters option -

-
-
Enhanced Formatting For Exception Objects - 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. -

- Exception objects stack traces
- Exception objects stack traces -


-
-
- - +

Java Development Tools

+

+ The new and noteworthy updates for Eclipse 4.36 can be found + here. +

diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/topics_WhatsNew.xml b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/topics_WhatsNew.xml index ecb890d6820..186e520c8e6 100644 --- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/topics_WhatsNew.xml +++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/topics_WhatsNew.xml @@ -5,5 +5,5 @@ - + diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/whatsNew/platform_isv_whatsnew.html b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/whatsNew/platform_isv_whatsnew.html index a5a4b934600..1a348d0fc2c 100644 --- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/whatsNew/platform_isv_whatsnew.html +++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/whatsNew/platform_isv_whatsnew.html @@ -1,95 +1,20 @@ - - - - - -Eclipse Platform What's New in 4.34 + + + + + + Eclipse Platform What's New - -

Platform and Equinox API

-

Here are descriptions of some of the changes of interest to plug-in developers -made to the Eclipse Platform and SWT for the 4.34 release of Eclipse. -

- -

-New features oriented towards end-users of the platform -can be viewed in the -What's New -section of the Eclipse Platform User Guide. -

- - - -- - - - - - - - - - - - - - - - - - - - - -

Platform Changes

SWT Changes

Constructor for Dynamically Scaled, Custom-Drawn Image -

- The Image class provides a constructor for creating an empty image based on a concrete size, - which is then usually filled programmatically via a GC. Such an image will be created according to a - fixed zoom value. When the image is requested in a different zoom via getImageData(zoom), the - image will be raster-scaled, leading to blurry results. -

-
- The API has been extended as follows to address this limitation: -
    -
  • - A new constructor has been added to the Image class:
    - Image(Device device, ImageGcDrawer imageGcDrawer, int width, int height)
    -
  • -
  • - The constructor accepts implementations of ImageGcDrawer defining the method:
    - drawOn(GC gc, int imageWidth, int imageHeight) -
  • -
-

- Such an image will call imageGcDrawer.drawOn(...) whenever the image data for a different - zoom is requested to generate that data in a size as required for the specified zoom. -

-

- To be prepared for enhanced UI scaling mechanisms, such as the monitor-specific scaling feature on windows (see this news), this new constructor should be - preferred for programmatic creation of images instead of the existing constructors using a fixed size. -

-
- - +

Platform and Equinox

+

+ The new and noteworthy updates for Eclipse 4.36 can be found + here. +

diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.user/topics_WhatsNew.xml b/eclipse.platform.common/bundles/org.eclipse.platform.doc.user/topics_WhatsNew.xml index b27f8707279..58ed208b45f 100644 --- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.user/topics_WhatsNew.xml +++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.user/topics_WhatsNew.xml @@ -4,10 +4,10 @@ - + - - + + \ No newline at end of file diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.user/whatsNew/platform_whatsnew.html b/eclipse.platform.common/bundles/org.eclipse.platform.doc.user/whatsNew/platform_whatsnew.html index 9f015cebefc..0c20aa5e322 100644 --- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.user/whatsNew/platform_whatsnew.html +++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.user/whatsNew/platform_whatsnew.html @@ -8,236 +8,15 @@ - Eclipse Platform What's New in 4.35 + Eclipse Platform What's New

Platform and Equinox

-

Here are descriptions of some of the more interesting or significant changes made to the Eclipse Platform for the - 4.35 release of Eclipse. They are grouped into:

- -

We also recommend to read the Tips and Tricks.


- - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Views, Dialogs and Toolbar

-
Filter by Category -

- The search filter in the "Import/Export" wizard, as well as the "Show View" dialog has been extended to also support - category names. On a match, all elements in the category are shown. This changes the previous behavior where only - entries were matched and searching by a category would result in an empty tree. -

-

- Filter import wizards by "General" -

-
-

Themes and Styling

-
Improved Light Theme -

- After many years of stability we have reworked the light theme of Eclipse to follow more modern design principles, similar to other major IDEs: -

-
    -
  1. Lightweight view tab design
  2. -
  3. Flat look - No use of 3D gradients
  4. -
  5. Views use a darker background color.
  6. -
-

- These improvement where published as a preview in the 4.33 release. The improvements are now integrated in the standared light theme. -

-
Improved Display of Arrow Keys in Key Binding -

- Up to now they up, down, left and right arrow key have been displaye as UP, DOWN.. in the display of key bindings on windows. -

-

- This has now changed so that these are displayed as arrow smybols (just like it's e.g. done on macOS). This makes this display of key bindgins look nicer and also makes them much shorter. -

-

- Before the change -

-

- After the change -

-
-

General Updates

-
New System Property: eclipse.appName -

- This new system property allows to set the application name with which Eclipse is registered in the operating system. - This option is helpful to distinguish and group Eclipse instances. -

-
Enhanced Monitor-Specific UI Scaling (Experimental, Windows only) -

- In the previous release, a preference to enable an improved, monitor- and resolution-specific UI scaling on - Windows - was introduced. The feature has been largely improved since then.The feature makes each window adapt its scaling to the monitor it is currently placed on in a sharp, - resolution-specific way and without requiring the application to restart. - When using multiple windows, each of them will adapt its scaling to the monitor it is placed on. - When enabled, this new feature replaces the current, limited scaling support for high-resolution monitors, which - initializes the application's window according to the scaling of the primary monitor at application startup and - produces blurry scaling when moving the window to another monitor unless you restart the application. -

-

- To enable this feature, check the Monitor-specific UI scaling box on the Appearance preference page - (Window > Preferences > General > Appearance), as shown in the image below. - The feature is still under development, thus marked as experimental and disabled by default. We encourage - users to explore this feature and share their feedback to help us improve the functionality. -

-

- Monitor-Specific UI Rescaling Preference -

-

- The images below demonstrate the scaling behavior in an extract of an Eclipse application when moving the window - from a primary monitor with 100% scaling to another monitor with 200% scaling, first having the feature disabled - and - second having it enabled. -

-

- With monitor-specific UI rescaling disabled: - Monitor-Specific UI Rescaling Disabled -

-

- With monitor-specific UI rescaling enabled: - Monitor-Specific UI Rescaling Enabled -

-
Edge as Default Browser on Windows -

- Edge replaces Internet Explorer as the default browser instantiated by SWT. Internet Explorer is outdated and out of - maintenance. It is replaced with the WebView2 engine used by Edge. Switching to this modern engine will ensure that - use cases keep working or enables uses cases that are not working with Internet Explorer anymore or have never been - working with it. As an example, if an Eclipse application is executed in dark mode, according CSS styling of web - pages will be applied if embedded via:
- @media (prefers-color-scheme: dark) { ... } -

-

- In consequence, every SWT- and Eclipse-based product will by default now create instances of the Browser - class based on Edge when running on Windows. Some notable examples are the welcome page and help in Eclipse products - as well as the Javadoc view and the element info popups. -

-

- Feedback: In case you experience any issues or limitations with the Edge browser implementation, please report - them back in the umbrella issue (#1466). -

-

- In case you want to or need to still use Internet Explorer in your Eclipse product, you can: -

-
    -
  • Switch to Internet Explorer for a complete product by setting the VM argument (for example in your - eclipse.ini: -Dorg.eclipse.swt.browser.DefaultType=IE -
  • -
  • Programmatically create a single browser instance with Internet Explorer by passing the flag - SWT.IE to the browser constructor -
  • -
  • - Create a fragment for host plug-in org.eclipse.swt containing a class with qualified name - org.eclipse.swt.browser.BrowserInitializer that sets the system property - -Dorg.eclipse.swt.browser.DefaultType=IE in its static initializer. -
  • -
-
E4 XPath supported reimplemented and revised -

- The XPath support of Eclipse E4 (i.e. the Plug-in org.eclipse.e4.emf.xpath) has been reimplemented to be purely based on javax.xml.xpath.XPath provided by the Java standard library. - This enabled the removal of Apache Commons JXPath as a dependency of the Eclipse SDK (and due to joint efforts even of the entire Eclipse Simultaneous Release). -

-

- Furthermore it has been determined that the XPathContext API provided by the org.eclipse.e4.emf.xpath Plug-in is mostly unused among all Plug-ins of the Eclipse Simultaneous Release. - Therefore the entire org.eclipse.e4.emf.xpath Plug-in and all contained APIs have been marked as deprecated and for removal in a future release. - As a replacement, to query an E4 model using XPath from code, one new method has been added:
- EModelService.findMatchingElements(MApplicationElement searchRoot, String xPath, Class<T> clazz) -

-
- +

+ The new and noteworthy updates for Eclipse 4.36 can be found + here. +