dotnet / dotnet/fsharp

Live Share support in Visual Studio

Open
#9,148 2 comments 1 reaction 0 assignees View on GitHub
Area-VS Feature Request
Dominant language
F#
Stars
4.3k
Forks
876
Avg merge
4d 11h
Merged PRs (30d)
131

Description

It would be good to get better support for Live Share for collabarative coding in F#.

[Official status](https://docs.microsoft.com/en-gb/visualstudio/liveshare/reference/platform-support): "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
```fsharp
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.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.