dotnet / fsharp

The F# compiler, F# core library, F# language service, and F# tooling integration for Visual Studio
https://dotnet.microsoft.com/languages/fsharp
MIT License
3.93k stars 786 forks source link

Live Share support in Visual Studio #9148

Open charlesroddie opened 4 years ago

charlesroddie commented 4 years ago

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.

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.

cartermp commented 4 years ago

Note for clarity: this is for Visual Studio, since Live Share works fully with VSCode

dsyme commented 2 years ago

See also https://github.com/dotnet/project-system/issues/8088