NuGet / Home

Repo for NuGet Client issues
Other
1.5k stars 252 forks source link

All NuGet IVS APIs should be async #8872

Open nkolev92 opened 4 years ago

nkolev92 commented 4 years ago

The NuGet extensibility APIs in VisualStudio https://github.com/NuGet/NuGet.Client/tree/dev/src/NuGet.Clients/NuGet.VisualStudio/Extensibility are mostly synchronous and as such a common cause for UI delays.

Common offenders are: https://github.com/NuGet/NuGet.Client/blob/dev/src/NuGet.Clients/NuGet.VisualStudio/Extensibility/IVsPackageInstallerServices.cs

https://github.com/NuGet/NuGet.Client/blob/dev/src/NuGet.Clients/NuGet.VisualStudio/Extensibility/IVsPackageSourceProvider.cs

https://github.com/NuGet/NuGet.Client/blob/dev/src/NuGet.Clients/NuGet.VisualStudio/Extensibility/IVsPackageInstaller.cs

These APIs can be furthermore improved by returning the actual status of the operation. Something not done in some of the synchronous APIs.

@kartheekp-ms specifically is looking into creating an async version for IVSPackageSourceProvider https://github.com/NuGet/Home/issues/8675

fyi @NuGet/nuget-client @dtivel

Roslyn ask

CyrusNajmabadi commented 4 years ago

Yes please. :)