-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Description
The startup experience at launch in C# and C#DevKit, as well as other extensions that rely on the .NET Install Tool, received a large level of focus this quarter. For the median user we have saved at least 800+ ms from startup time with the existing work, but much more for the percentile of users with slower computers or networks.
This also involves the update and download experience, which can be improved from the current state of needing to check for a new .NET runtime every time that C# and C#DK are initialized. This check and update can take minutes for many users leading to a bad experience.
Investments were also made to 'async' up the codebase and properly implement a safe mutex experience across multiple windows of vscode/code insiders simultaneously while handling process kill scenarios better, which all also tied to the performance story.
Issues:
- Hold Lock Over Machine State Changing Operations (Sync Code Is Now Async) vscode-dotnet-runtime#2177
- Skip Parsing Empty Dotnet Executable vscode-dotnet-runtime#2209
- Don't record all of the environment in the log vscode-dotnet-runtime#2199
- Implement Node Mutex vscode-dotnet-runtime#2217
- Fix Linux Mutex Utilization vscode-dotnet-runtime#2229
- Skip CHCP Calls and Utilize DOTNET_CLI_UI_LANGUAGE vscode-dotnet-runtime#2233
- Check dotnet path without which or where first vscode-dotnet-runtime#2234
- Dont use entire env as cache key vscode-dotnet-runtime#2251
- Skip checking install requests for known extensions vscode-dotnet-runtime#2288
- findPath API Finds Extension Managed Runtimes vscode-dotnet-runtime#2293
- Record time it takes for each command to execute vscode-dotnet-runtime#2294
- Skip calling
dotnet --infoby using--list-x --archwhen available vscode-dotnet-runtime#2296 - Improve Command Caching by Aliasing Commands vscode-dotnet-runtime#2304
- Don't block the world writing a log file vscode-dotnet-runtime#2305
- Use ELF/COFF/PE/MACHO Header to get Executable Architecture vscode-dotnet-runtime#2309
- Update Dependencies, Migrate to Node 22 vscode-dotnet-runtime#2317
- Add setting to disable messages in the output window vscode-dotnet-runtime#2332
- Hide verbose error details for user-friendly installer exit codes vscode-dotnet-runtime#2334
- Fix Bundling of Install Scripts vscode-dotnet-runtime#2339
Unresolved:
- Add
dotnetSDKPathSetting for User SDKs and Projects vscode-dotnet-runtime#2354 - Turn off shell by default vscode-dotnet-runtime#2306
- Powershell scan takes a long time vscode-dotnet-runtime#2314
- Work Without Needing PowerShell vscode-dotnet-runtime#2276
- GREP_OPTIONS Color settings cause shell output failure vscode-dotnet-runtime#2269
- Provide API to get ListRuntimes and ListSDKs output vscode-dotnet-runtime#2315
- A large number of .NET host instances were not destroyed. microsoft/vscode-dotnettools#2158
- Automatic Update / Management of Runtimes - Breaking 3.0.0 NET Install Tool Change vscode-dotnet-runtime#2359