I'm developing a navigator content extension for the Project Explorer
view that should replace some projects in the workspace by custom
project nodes. This is because I want to disable many project actions
for our domain-specific projects. I see three different ways to reach
that goal:
1. Declare a navigatorContent extension, triggered on IWorkspaceRoot,
overriding resource content, that replaces projects that have my
domain-specific project nature with my project nodes. However, I
observed that the Java content provider will add these projects again
later in the pipeline, resulting in duplicate workspace content. I could
give the priority "highest" to my extension, or specify another
override, but with this solution, I won't ever feel sure that no other
extension takes precedence.
2. Just add my project nodes and register a filter that is active by
default and hides projects with my domain-specific nature. The only
disadvantage: If the filter is inactive, and the content extension is
active, there will also be duplicate content.
3. Render my domain-specific projects as projects, but reconfigure the
context menu so that many actions don't appear. Is this possible?