For full release notes, see JIRA.
Changes to the SonarLint for Eclipse extension points
This release features changes to two specific extension points.
SonarLint Syntax Highlighting Provider
The org.sonarlint.eclipse.core.syntaxHighlightingProvider
was moved from the CORE bundle to org.sonarlint.eclipse.ui.syntaxHighlightingProvider
in the UI bundle. Therefore, the interface of the extension point can now be found at org.sonarlint.eclipse.ui.rule.ISyntaxHighlightingProvider
.
The reasoning behind this was to decouple the CORE bundle from anything UI related, as the extension point is only built around it. Additionally, additions to it made in this release made it necessary.
Extension point | Method | Removed or added? | Why? |
---|---|---|---|
org.sonarlint.eclipse.ui.syntaxHighlightingProvider | org.sonarlint.eclipse.ui.rule.ISyntaxHighlightingProvider#getEditorLanguage() | Added | To get the corresponding SonarLint-related language of an editor |
org.sonarlint.eclipse.ui.syntaxHighlightingProvider | org.sonarlint.eclipse.ui.rule.ISyntaxHighlightingProvider#getTextMergeViewer() | Added | Get a language-specific diff viewer |
SonarLint Project Scope Provider
This release features an additional extension point provided by SonarLint for Eclipse that can be used by third parties in order to narrow down the focus for SonarLint in terms of what is indexed and taken into account for analysis. The idea behind these changes is to improve the performance and lower the memory footprint of the plug-in.
As an example, see the current implementation in the sub-plugin for Maven. There we exclude the output directories as well as possible sub-modules as these are technically still available as resources in the parent project, even when the sub-modules are imported into Eclipse as well.
Extension point | Method | Removed or added? | Why? |
---|---|---|---|
org.sonarlint.eclipse.core.projectScopeProvider | org.sonarlint.eclipse.core.resource.IProjectScopeProvider#getExclusions() | Added | Get exclusions to narrow down the focus for SonarLint |
If you have any questions regarding these changes, then please reach out to us via the Community Forum directly!