Code Mining is a port of Microsoft "CodeLens": a code mining represents a content (ex: label, icons) that should be shown along with source text. Some examples of code mining can be the number of references, links to run tests (with run/debug icons), SCM or code review annotations...
The main goals of code mining are to help developer to understand better the written code and to interact very quickly with it.
Code Mining is shipped by default as part of Eclipse Platform 4.8/Photon release.
In this talk I will present you:
- the new inlined annotation support used by code mining to draw content in the line header or in the line content of StyledText.
- the code mining support, how the architecture relies on CompletableFuture, and the new extension point "org.eclipse.ui.workbench.texteditor.codeMiningProviders" to display custom code mining in any editor.
- we’ll study samples of code mining integration like:
- JDT to see Java references, implementations, status test of JUnit code mining inside the JDT Java Editor.
- LSP4E which supports Language Server CodeLens feature with CodeMining.
- we’ll analyze performance problems that we had with StyledText and how they have been fixed.
At the end of the talk, participants will have a better view of what Eclipse Platform CodeMining can bring in an Editor. Plugin developers should be able to integrate their CodeMining providers into their own editor.