It would be good to get better support for Live Share for collabarative coding in F#.
Official status: "single file language services" but not "project-wide language services".
There is already a baseline of support which is usable for some scenarios where developers joining a live share are confident enough to code without computer support.
Based on the test below, the main issue is inter-project information within F#. It's possible that the situation would be improved by disabling Text Editor -> F# -> Performance -> Enable In-memory cross project references on the host system. We will test this.
Live share 1.0.2104.0 test on Visual Studio 2019.5
Type information: OK within files and via compiled dlls only.
Within files: working
Between F# files within projects: not working
Most things are described as System.Object
Between F# projects: not working
Between C# and F# projects: working
Nuget packages (whether written in C# or F#): working
Type errors: not showing
type A = | B of unit | C of int
let x = B // OK. Reports the type of x.
let y:unit = B // Doesn't give an error
let z = B + C // Doesn't give an error. Doesn't report the type of Z.
This needs more testing as the flow of type information within a file isn't pinned down by this data.
It would be good to get better support for Live Share for collabarative coding in F#.
Official status: "single file language services" but not "project-wide language services".
There is already a baseline of support which is usable for some scenarios where developers joining a live share are confident enough to code without computer support.
Based on the test below, the main issue is inter-project information within F#. It's possible that the situation would be improved by disabling
Text Editor -> F# -> Performance -> Enable In-memory cross project references
on the host system. We will test this.Live share 1.0.2104.0 test on Visual Studio 2019.5
Type information: OK within files and via compiled dlls only.
System.Object
Type errors: not showing
This needs more testing as the flow of type information within a file isn't pinned down by this data.