Is it possible to add a placeholder for loading customize plugin for language not supported in sonarlint?


I have written a plugin for a general analysis purpose.
and I hope it can work with sonarlint as well.
The problem intellij not load the plugin jar is because it is not in the list of "enum Language ".
PS: Xoo is for testing purpose. I don’t want to use it - it may not work later.

Although sonarlint is opensource, compiling another project just for add 1 entrance is additional work everytime.
Is it possible to make “enum Language” extendable(better) or add some placeholder key for custom plugin?

Best regards

Hi @yougikou

Short answer: this is not in our plans to make SonarLint extensible.

Longer answer:
SonarLint is an open source product, but we don’t want to make it an open platform that would run any third party analyzer. The rational is that most end users would not easily understand the boundaries between SonarLint, SonarSource made analyzers, and third party analyzers. So in case of question/bad user experience, all the workload of investigating the issue will ends up on our side (on this forum or by our commercial support), to possibly conclude that the issue is on a component we don’t control.

That’s why SonarLint is not extensible. Only (some) SonarSource analyzers are supported. The only exception are custom rules based on the official APIs exposed by some SonarSource analyzers, because here we are a bit more in control.

So in your case, you’ll have to fork SonarLint to enable your language.

If you intend to distribute your fork, don’t forget to rename it in every possible locations. Please make it clear this is not the official SonarLint product, and give a link to your own support channel, again to avoid user confusion.

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.