F# in VS Code with SharpLsp: hover, completion, go to definition, find references, a generated match case, rename across files and F# Interactive
Read the guide: F# Language Support
Transcript
This is F# in VS Code with SharpLsp. Hover any symbol, and the F# compiler tells you exactly what it is: the parser, the basket picker, the pricing.
Completion knows your types. Type List dot for every list function, and narrow it down to minBy. Inside the lambda, the record's fields are right there.
Press F12 on a type to jump to its definition, even in another file.
Shift F12 finds every reference across the project, including code you haven't saved yet.
Quick fixes write code for you. This match misses a case. Press Command dot, and SharpLsp generates the missing case.
Rename a function with F2, and SharpLsp renames it across the whole project. Program.fs already calls it by its new name.
And to try an idea, send code to F# Interactive and run it on the spot. That's F# in SharpLsp. First class, free, and open source.