Skip to main content

Platform and Equinox API

Platform Changes

Content-assist contributor allows more flexible control of completion triggers IContentAssistProcessor has a new extension interface IContentAssistProcessorExtension that allows to get context information for activation computation:
  • IContentAssistProcessorExtension.isCompletionProposalAutoActivation(char, ITextViewer, int)
  • IContentAssistProcessorExtension.isContextInformationAutoActivation(char, ITextViewer, int)

This allows for example to compute the activation chars based on the location or properties/content of the document.

Contribute to content-assist for Generic Editor with OSGi services Assitionally to usual extension-point, you can now also contribute to the Generic Editor content-assist by registering some IContentAssistProcessor as OSGi service.
API for Atomic IMarker creation with attributes The IResource.createMarker(type, attribute) API has been created to allow atomic creation of markers. Using this new API should be preferred, as this reduces the resource change notifications and is in general 2x faster as two separate calls to create marker and set attributes on it.
IncrementalProjectBuilder can optionally implement new clean with arguments method The IncrementalProjectBuilder API can optionally be extended by clients implementing the new IIncrementalProjectBuilder2 interface. It provides a new clean(Map<String, String>, IProgressMonitor) method that will be called instead of the existing clean(IProgressMonitor). The new clean method passes the map of arguments from IWorkspace.build() or IProject.build() to the client for clean in the same way that it is done for the build method.
Moved com.ibm.icu from org.eclipse.e4.rcp to org.eclipse.rcp feature As the usage of the com.ibm.icu plug-in is planned to be removed from the platform, it has been removed from the org.eclipse.e4.rcp feature as e4 RCP applications do not require it since the 4.18 release. It has been added to the org.eclipse.rcp features for now to ensure e3 applications which may use it and the Eclipse IDE to work correctly. If your e4 RCP application uses it, you can include it in your custom feature.

SWT Changes

API for Resource disposal tracking New org.eclipse.swt.graphics.Resource.setNonDisposeHandler API is added which allows to track SWT resources that were not properly disposed. The API accepts a custom Consumer<Error> callback to receive detected errors.

Alternatively, org.eclipse.swt.graphics.Resource.reportNonDisposed system property can be set to true. In this case, SWT will report these errors to stderr without the need to modify application's code.

API for Shell maximum size You can now specify the maximum size of the SWT Shell. The Shell will not be resizable to a larger width or height than that specified.
  • Use setMaximumSize(width, height) or setMaximumSize(point) to specify a maximum size for your shell. The shell will be resized if it's currently larger than the specified size.
  • Use getMaximumSize() to query the currently set maximum size.

Note that the result of combining maximum size with full screen mode is platform specific and generally not recommended.

Edge back-end support for Browser On Windows, the Browser widget supports a new back-end based on the WebView2 component (Microsoft Edge). Use the SWT.EDGE style constant to enable it.

Note that this integration is experimental and not a drop-in replacement for the older Internet Explorer back-end. There are missing features and significant differences in behavior. There are some known issues when running Eclipse IDE with Edge as the default browser.

For additional information, see SWT FAQ entries How do I explicitly use Edge as the Browser's underlying renderer and What are the limitations of Edge Browser renderer.

SWT support for Mac Arm64 The SWT libraries for Mac Arm64 (AArch64) architecture are available for testing. It's marked as Early access due to limited testing. Please note that a Arm64 JVM is required to run it.

Eclipse and SWT for Mac x86_64 architecture can already run on Apple Silicon hardware under Rosetta translation mode using a x86_64 JVM.

Previous Up Next

Back to the top