Automatic restore is slow when there are many un-restored projects
Open
Bug
Triaged
- Dominant language
- TypeScript
- Stars
- 3.1k
- Forks
- 737
- Avg merge
- 18h 40m
- Merged PRs (30d)
- 31
Description
The basic problem is that currently the server shells out to the CLI once per project - https://github.com/dotnet/roslyn/blob/main/src/Features/LanguageServer/Microsoft.CodeAnalysis.LanguageServer/LanguageServer/Handler/Restore/RestoreHandler.cs#L50
This can be quite a lot slower than restoring the entire solution in large solutions (for example Roslyn.sln).
Some potential improvements
1. See if it is possible to restore multiple projects at once via a single dotnet CLI command
2. Detect on the server side if there are many projects needing a restore, and use the solution path instead (if there is one available).
Contributor guide
Assessment
This issue has not been assessed yet.