Skip to content

Adding new MarkerField via markerSupport extension point to problems view seems impossible #2193

@travkin79

Description

@travkin79

I tried adding a new MarkerField to the problems view using the markerSupport extension point. That seems not to be possible with the latest org.eclipse.ui.ide bundle. I was not able to select the new MarkerField in the problems (or markers) view's "Configure Columns..." dialog.

Using the markerSupport extension point I added a new markerContentGenerator and a markerContentGeneratorExtension for the problem view's marker content generator (id=org.eclipse.ui.ide.problemsGenerator). While debugging the code, I found out that my marker content generator was initialized and used the new MarkerField, but the ContentGeneratorDescriptor did not pick up the new MarkerField.

I guess, the method ContentGeneratorDescriptor#getAllFields() is not correct. I think, the ContentGeneratorDescriptor has to collect all MarkerFields provided by the corresponding marker content generator as well as MarkerFields provided by the marker content generator extensions. Instead, ContentGeneratorDescriptor#getAllFields() ignores the registered extensions. It seems, the only place, where marker content generator extensions are considered, is the method ContentGeneratorDescriptor#getFilterReferences().

Did I misunderstand something or do we have to handle marker content generator extensions in most of the ContentGeneratorDescriptor's methods?

Details

My marker support extension looked like that:

   <extension
         point="org.eclipse.ui.ide.markerSupport">
      <markerField
            class="org.eclipse.lsp4e.ui.CustomMarkerField"
            id="org.eclipse.lsp4e.markerField.custom"
            name="Custom">
      </markerField>
      <markerContentGeneratorExtension
            generatorId="org.eclipse.ui.ide.problemsGenerator"
            id="org.eclipse.lsp4e.markerContentGenerator">
      </markerContentGeneratorExtension>
      <markerContentGenerator
            id="org.eclipse.lsp4e.markerContentGenerator"
            name="LSP4E MarkerContentGenerator">
         <markerFieldReference
               id="org.eclipse.lsp4e.markerField.custom">
         </markerFieldReference>
         <markerTypeReference
               id="diagnostic">
         </markerTypeReference>
      </markerContentGenerator>
   </extension>

Community

  • I understand reporting an issue to this OSS project does not mandate anyone to fix it. Other contributors may consider the issue, or not, at their own convenience. The most efficient way to get it fixed is that I fix it myself and contribute it back as a good quality patch to the project.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions