microsoft / vscode-dotnettools

This is a feedback repository to capture issues logged for the C# Dev Kit and related extensions from Visual Studio Code
Other
192 stars 6 forks source link

Picking up error resolution is really slow #1040

Open mmiller-d8 opened 1 month ago

mmiller-d8 commented 1 month ago

Type: Performance Issue

Often, it takes a really long time (30 seconds to a minute) for errors to go away in the editors or in the 'Problems' tab. Simple things, for example, an interface method isn't implemented because I changed the method. Change the interface and the error stays there for quite a bit. Even if I do a build.

Also, when I break something. Like say changing an interface, I often have to do a build for the errors to show up. Even then, I have to expand the directory where the broken file is to get it to turn red.

I really don't think my computer is the issue. I'm running an M3 Max with 96 GB.

Not exactly the same issue, I don't think, but I also often have to actually run the application to find errors. Doing a build doesn't turn anything up, but I get a build failure when I actually try to run it.

Extension version: 1.4.29 VS Code version: Code 1.87.2 (863d2581ecda6849923a2118d93a088b0745d9d6, 2024-03-08T15:20:57.520Z) OS version: Darwin arm64 23.2.0 Modes:

System Info |Item|Value| |---|---| |CPUs|Apple M3 Max (14 x 24)| |GPU Status|2d_canvas: enabled
canvas_oop_rasterization: enabled_on
direct_rendering_display_compositor: disabled_off_ok
gpu_compositing: enabled
multiple_raster_threads: enabled_on
opengl: enabled_on
rasterization: enabled
raw_draw: disabled_off_ok
skia_graphite: disabled_off
video_decode: enabled
video_encode: enabled
webgl: enabled
webgl2: enabled
webgpu: enabled| |Load (avg)|16, 7, 6| |Memory (System)|96.00GB (1.27GB free)| |Process Argv|--crash-reporter-id 1618046c-b005-4c1a-89ae-cb627902572c| |Screen Reader|no| |VM|0%|
Process Info ``` CPU % Mem MB PID Process 57 295 93954 code main 2 98 93957 gpu-process 0 0 93958 utility-network-service 0 688 93959 window [1] (UserSubscriptionResult.cs — D8.API) 0 295 93960 window [2] (launchSettings.json — E-Comm) 0 98 93971 ptyHost 0 0 68463 /bin/zsh -il 0 0 71993 /bin/zsh -il 0 0 73999 /bin/zsh -il 0 0 85808 /bin/zsh -il 0 0 85809 /usr/local/bin/pwsh -noexit -command . "/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/contrib/terminal/browser/media/shellIntegration.ps1" 0 98 93975 shared-process ```
Workspace Info ``` | Window (ItemAttributeDropdowns.razor.cs — Ecommerce) | Window (UserSubscriptionMapper.cs — D8.Apps) | Window (launchSettings.json — E-Comm) | Window (UserSubscriptionResult.cs — D8.API) | Folder (Ecommerce): 2658 files | File types: cs(1024) dll(603) css(148) scss(92) razor(91) json(47) | cache(28) pdb(14) props(11) so(9) | Conf files: csproj(5) launch.json(1) tasks.json(1) package.json(1) | sln(1) | Launch Configs: coreclr(2) | Folder (D8.Apps): more than 20031 files | File types: xml(3671) dll(3221) png(2091) cs(953) class(762) java(637) | txt(479) cache(323) arm64(266) stamp(248) | Conf files: csproj(5) launch.json(2) sln(1) | Launch Configs: maui | Folder (E-Comm): 2726 files | File types: gz(787) cs(663) dll(643) css(105) razor(66) json(42) | cache(25) pdb(17) js(11) props(11) | Conf files: csproj(4) sln(1) | Folder (D8.API): 2152 files | File types: cs(1022) dll(177) sql(157) json(61) cache(55) log(31) | DS_Store(27) pdb(24) editorconfig(13) props(10) | Conf files: csproj(6) launch.json(1) tasks.json(1) sln(1); ```
A/B Experiments ``` vsliv368cf:30146710 vspor879:30202332 vspor708:30202333 vspor363:30204092 vswsl492cf:30256860 vstes627:30244334 vscod805:30301674 binariesv615:30325510 vsaa593cf:30376535 py29gd2263:30899288 c4g48928:30535728 azure-dev_surveyone:30548225 a9j8j154:30646983 962ge761:30959799 pythongtdpath:30769146 welcomedialogc:30910334 pythonidxpt:30866567 pythonnoceb:30805159 asynctok:30898717 pythontestfixt:30902429 pythonregdiag2:30936856 pyreplss1:30897532 pythonmypyd1:30879173 pythoncet0:30885854 2e7ec940:31000449 pythontbext0:30879054 accentitlementsc:30995553 dsvsc016:30899300 dsvsc017:30899301 dsvsc018:30899302 cppperfnew:31000557 8082a590:30971561 fegfb526:30981948 bg6jg535:30979843 ccp1r6:30993540 dsvsc020:30976470 pythonaic:30996667 7ghi1836:30988842 dsvsc021:30996838 gd77d436:30999572 ```
mmiller-d8 commented 4 weeks ago

It's more than just slow, it's broken, particularly for Maui apps.

I really, really don't see how you guys are retiring VS for Mac in August. I mean, VS for Mac is extremely buggy. I see why you're killing it. But the Maui extension is not even close to ready for prime time. It's not even ready for preview. No offense, but it feels like an Alpha release. Funny that I was asked for feedback (from VS) before I had really used it much, and now I can't do the survey again.

Sorry. End rant....

Edit:

When removing files and/or renaming them, sometimes it continues to report the errors (keeping it from building/running) when the files don't exist. When you click on it, you get a blank screen with a button asking if you want to generate the file. Deleting bin/obj didn't help. I had to restart VS Code.

kvenkatrajan commented 3 weeks ago

Also, when I break something. Like say changing an interface, -> roslyn - FYI @arkalyanms MAUI apps build -> FYI - @mauroa

arkalyanms commented 3 weeks ago

For the error resolution issue in particular, this is tracked at https://github.com/dotnet/roslyn/issues/72811. So removing the area-roslyn label to tag the maui aspect.

mauroa commented 2 weeks ago

We've made lots of changes on the MAUI side that are being released soon, that should cover your mentioned issues (debugger, build errors, etc.). We'll give you more instructions once the fixes are released in the corresponding extensions, since it includes more than only MAUI (also C# and C# DevKit).

Thanks for your feedback and patience.