DevSkim
DevSkim copied to clipboard
Support for Jetbrains Rider
This is far off, as Rider is only in its first release candidate, but it'd be nice to have.
Do you know if Rider uses the same plugin model as IntelliJ and PHPStorm? I keep meaning to investigate, as we have also gotten a fair number of requests for the other Jetbrains IDEs. It would be nice to offer a plugin across the Jetbrains family.
Timeline wise, we are looking to get the VS/VS Code/Sublime plugins out of Dev preview and into general availability early this autumn (get all the documentation done, build out the rules engine to support conditional chained pattern matching, etc.). Once we have GA for those the question will be which IDEs to expand to. Given the requests for various Jetbrains IDEs, if we can easily target them all that's pretty compelling (though if anyone already familiar with the Jetbrains plugin model wants to lend a hand...)
Yes, it does. Due to the fact that Rider is a specific use case IDE, and that it isn't finished, I would wait and keep an eye on its progress in the plugin system before trying. A lot of the plugins made for IntelliJ work for Rider, though. For the reasons above, there are plenty that don't as well, though.
But the short answer is yes, you can target Jetbrains as a single code target with a few minor exceptions that are very specific like PyCharm, which has a lot of plugin compatibility issues.
Thanks @da3dsoul
Are there any updates on this?
I'm currently working on a refactor of devskim and it's extensions to use the Language Server model.
When I looked into this briefly the largest blocker was it seemed to me that jetbrains plug-ins must be java - but devskim is .NET.
As im working on the refactor I can spend a little bit of time researching if there is an easy way to leverage the .net engine in jetbrains but if it does truly require pure java it's highly unlikely we will pursue this.
I took another look at the documentation. It looks like writing a full plugin does require writing it in Java/Kotlin. One of the main objectives of the refactor I'm working on now is to reduce the number of parallel engine implementations we have, however I haven't found an immediately obvious way to leverage the .NET engine from this mechanism.
https://plugins.jetbrains.com/docs/intellij/plugin-alternatives.html
One alternative is Structural Search and Replace rules, which can be distributed and loaded into IntelliJ IDEs. One possible solution may be to write a converter that turns DevSkim rules into SSR rules to then leverage the built-in features in Rider.
https://www.jetbrains.com/help/idea/structural-search-and-replace.html