FSharpLint Integration
jgardella opened this issue · 6 comments
FSharpLint is a project for linting F# code. Would it be possible to add an integration with this project for live linting in Rider? We could either make it part of this repo or a separate integration, whatever would make more sense.
I'm interested in implementing this if someone can point me in the right direction.
I think there will be problems with different FSharp.Compiler.Service versions used by this plugin and FSharpLint. I'd prefer to use FSharpLint as a submodule either than using it as referenced NuGet package. However, I may be wrong.
@vasily-kirichenko That's a good point. I was trying to get something working on my branch here and I ran into this issue. When you say submodule do you mean a git submodule, or am I misunderstanding?
Yes, I meant a git submodule.
Thanks, I'll try it out and see if I can get something working.
I was able to get something working, would really appreciate feedback from @vasily-kirichenko and @auduchinok when you have some time. See the changes here. I haven't created a PR yet because we will need to make a new version of FSharpLint which is signed, since fsharp-support is signed.
Also, I was able to see the linter working correctly with gradlew runIde
, but when I try to install the plugin in my own Rider instance, Rider crashes on startup when loading the plugin. Any ideas? Is there somewhere I can see more info on why its crashing?
Are there plans (or is it possible) to add support for FSharpLint to the editor?
Using a linter can really improve code (as for example Mark Seemann writes about in the book Code that fits in your head). While it's possible to use FSharpLint as a command-line tool or a MSBuild task, it is a very limited experience to not have any in-editor support (i.e., to see suggestions, warnings, etc. inside the editor). I would very much like to continue using Rider, which is an excellent IDE, but this particular lack is seriously making me consider switching to VSCode.