Starting or exiting Unity causes VS Code file-watcher [1] to stay at ~25% CPU until restart when ms-dotnettools.csharp is enabled
- Dominant language
- TypeScript
- Stars
- 3.1k
- Forks
- 737
- Avg merge
- 18h 40m
- Merged PRs (30d)
- 31
Description
Type: Bug
## Steps to Reproduce ##
1. Open a Unity project in VS Code on Windows.
2. Make sure the C# extension (`ms-dotnettools.csharp`) is enabled.
3. Open `Help > Open Process Explorer` in VS Code, or run `code --status`.
4. Observe that shortly after startup, `file-watcher [1]` is near 0% CPU.
5. While VS Code remains open, start the Unity Editor for the same project.
6. After Unity finishes starting, or after exiting Unity, check VS Code Process Explorer / `code --status` again.
## Expected Behavior ##
- `file-watcher [1]` may briefly spike during Unity startup/shutdown, but it should return to near-idle once file activity settles.
- Starting or exiting Unity should not leave VS Code's watcher process permanently hot until restart.
## Actual Behavior ##
- `file-watcher [1]` jumps to roughly 20-25% CPU and stays there indefinitely. This is on a quad-core CPU, so it's using most of one core.
- CPU does not return to idle after Unity settles or exits.
- Restarting VS Code resets it temporarily until the next Unity start/exit transition.
Disabling the C# extensions stops the issue. Re-enabling only `ms-dotnettools.csharp` is enough to reproduce it again.
I also added broad `files.watcherExclude` entries for Unity-generated folders/files, but the issue still reproduced with `ms-dotnettools.csharp` enabled.
Extension version: 2.120.3
VS Code version: Code 1.110.1 (61b3d0ab13be7dda2389f1d3e60a119c7f660cc3, 2026-03-06T23:03:27.520Z)
OS version: Windows_NT x64 10.0.19045
Modes:
### Logs ###
### C# log ###
```
2026-03-07 21:52:46.467 [info] Locating .NET runtime version 10.0.0
2026-03-07 21:52:47.873 [info] Dotnet path: C:\Program Files\dotnet\dotnet.exe
2026-03-07 21:52:47.874 [info] Activating C# + C# Dev Kit...
2026-03-07 21:52:48.948 [info] [stdout] info: Program[0]
Server started with process ID 83040
2026-03-07 21:52:53.687 [info] [stdout] {"pipeName":"\\\\.\\pipe\\d6887e42"}
2026-03-07 21:52:53.687 [info] received named pipe information from server
2026-03-07 21:52:53.688 [info] client has connected to server
2026-03-07 21:52:53.839 [info] [Program] Language server initialized
2026-03-07 21:53:03.083 [info] [serviceBroker/connect] [WorkspaceProjectFactoryService] Project E:\Unity\Projects\MRP\QFSW.QC.Editor.Tools.csproj loaded by C# Dev Kit
2026-03-07 21:53:09.178 [info] [serviceBroker/connect] [WorkspaceProjectFactoryService] Project E:\Unity\Projects\MRP\Assembly-CSharp-Editor-firstpass.csproj loaded by C# Dev Kit
2026-03-07 21:53:09.210 [info] [serviceBroker/connect] [WorkspaceProjectFactoryService] Project E:\Unity\Projects\MRP\ShapesEditor.csproj loaded by C# Dev Kit
2026-03-07 21:53:09.348 [info] [serviceBroker/connect] [WorkspaceProjectFactoryService] Project E:\Unity\Projects\MRP\ShapesSamples.csproj loaded by C# Dev Kit
2026-03-07 21:53:09.370 [info] [serviceBroker/connect] [WorkspaceProjectFactoryService] Project E:\Unity\Projects\MRP\QFSW.QC.Serializers.csproj loaded by C# Dev Kit
2026-03-07 21:53:09.371 [info] [serviceBroker/connect] [WorkspaceProjectFactoryService] Project E:\Unity\Projects\MRP\Mischief.MDV.Editor.csproj loaded by C# Dev Kit
2026-03-07 21:53:09.699 [info] [serviceBroker/connect] [WorkspaceProjectFactoryService] Project E:\Unity\Projects\MRP\BGCurve.Editor.csproj loaded by C# Dev Kit
2026-03-07 21:53:09.700 [info] [serviceBroker/connect] [WorkspaceProjectFactoryService] Project E:\Unity\Projects\MRP\QFSW.QC.Editor.csproj loaded by C# Dev Kit
2026-03-07 21:53:10.001 [info] [serviceBroker/connect] [WorkspaceProjectFactoryService] Project E:\Unity\Projects\MRP\PrimeTween.Installer.csproj loaded by C# Dev Kit
2026-03-07 21:53:10.001 [info] [serviceBroker/connect] [WorkspaceProjectFactoryService] Project E:\Unity\Projects\MRP\QFSW.QC.Extras.csproj loaded by C# Dev Kit
2026-03-07 21:53:10.002 [info] [serviceBroker/connect] [WorkspaceProjectFactoryService] Project E:\Unity\Projects\MRP\QFSW.QC.UI.csproj loaded by C# Dev Kit
2026-03-07 21:53:10.003 [info] [serviceBroker/connect] [WorkspaceProjectFactoryService] Project E:\Unity\Projects\MRP\QFSW.QC.QGUI.csproj loaded by C# Dev Kit
2026-03-07 21:53:10.040 [info] [serviceBroker/connect] [WorkspaceProjectFactoryService] Project E:\Unity\Projects\MRP\BGCurve.csproj loaded by C# Dev Kit
2026-03-07 21:53:10.040 [info] [serviceBroker/connect] [WorkspaceProjectFactoryService] Project E:\Unity\Projects\MRP\QFSW.QC.Suggestors.csproj loaded by C# Dev Kit
2026-03-07 21:53:10.061 [info] [serviceBroker/connect] [WorkspaceProjectFactoryService] Project E:\Unity\Projects\MRP\QFSW.QC.Parsers.csproj loaded by C# Dev Kit
2026-03-07 21:53:10.154 [info] [serviceBroker/connect] [WorkspaceProjectFactoryService] Project E:\Unity\Projects\MRP\Assembly-CSharp-Editor.csproj loaded by C# Dev Kit
2026-03-07 21:53:10.155 [info] [serviceBroker/connect] [WorkspaceProjectFactoryService] Project E:\Unity\Projects\MRP\Tests.csproj loaded by C# Dev Kit
2026-03-07 21:53:10.520 [info] [serviceBroker/connect] [WorkspaceProjectFactoryService] Project E:\Unity\Projects\MRP\Editor.csproj loaded by C# Dev Kit
2026-03-07 21:53:10.521 [info] [serviceBroker/connect] [WorkspaceProjectFactoryService] Project E:\Unity\Projects\MRP\ShapesRuntime.csproj loaded by C# Dev Kit
2026-03-07 21:53:10.522 [info] [serviceBroker/connect] [WorkspaceProjectFactoryService] Project E:\Unity\Projects\MRP\QFSW.QC.Grammar.csproj loaded by C# Dev Kit
2026-03-07 21:53:10.522 [info] [serviceBroker/connect] [WorkspaceProjectFactoryService] Project E:\Unity\Projects\MRP\QFSW.QC.csproj loaded by C# Dev Kit
2026-03-07 21:53:11.070 [info] [serviceBroker/connect] [WorkspaceProjectFactoryService] Project E:\Unity\Projects\MRP\Assembly-CSharp.csproj loaded by C# Dev Kit
2026-03-07 21:53:11.071 [info] [serviceBroker/connect] [WorkspaceProjectFactoryService] Project E:\Unity\Projects\MRP\QFSW.QC.ScanRules.csproj loaded by C# Dev Kit
2026-03-07 21:53:11.072 [info] [serviceBroker/connect] [WorkspaceProjectFactoryService] Project E:\Unity\Projects\MRP\Polyperfect.Common.csproj loaded by C# Dev Kit
2026-03-07 21:53:11.242 [info] [serviceBroker/connect] [WorkspaceProjectFactoryService] Project E:\Unity\Projects\MRP\AmplifyShaderEditor.csproj loaded by C# Dev Kit
2026-03-07 21:53:11.327 [info] [serviceBroker/connect] [WorkspaceProjectFactoryService] Project E:\Unity\Projects\MRP\MRP.csproj loaded by C# Dev Kit
2026-03-07 21:53:11.515 [info] [serviceBroker/connect] [WorkspaceProjectFactoryService] Project E:\Unity\Projects\MRP\Assembly-CSharp-firstpass.csproj loaded by C# Dev Kit
```
### C# LSP Trace Logs log ###
```
```
## Environment Information ##
**VSCode version**: 1.110.1
**C# Extension**: 2.120.3
**Using OmniSharp**: false
Dotnet Information
.NET SDK:
Version: 10.0.103
Commit: c2435c3e0f
Workload version: 10.0.100-manifests.c992be6d
MSBuild version: 18.0.11+c2435c3e0
Runtime Environment:
OS Name: Windows
OS Version: 10.0.19045
OS Platform: Windows
RID: win-x64
Base Path: C:\Program Files\dotnet\sdk\10.0.103\
.NET workloads installed:
There are no installed workloads to display.
Configured to use workload sets when installing new manifests.
No workload sets are installed. Run "dotnet workload restore" to install a workload set.
Host:
Version: 10.0.3
Architecture: x64
Commit: c2435c3e0f
.NET SDKs installed:
6.0.321 [C:\Program Files\dotnet\sdk]
10.0.103 [C:\Program Files\dotnet\sdk]
.NET runtimes installed:
Microsoft.AspNetCore.App 6.0.26 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 7.0.20 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 10.0.3 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 6.0.6 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 6.0.26 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 6.0.36 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 7.0.20 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 10.0.3 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.WindowsDesktop.App 6.0.6 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 6.0.26 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 6.0.36 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 7.0.20 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 10.0.3 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Other architectures found:
x86 [C:\Program Files (x86)\dotnet]
registered at [HKLM\SOFTWARE\dotnet\Setup\InstalledVersions\x86\InstallLocation]
Environment variables:
DOTNET_CLI_UI_LANGUAGE [en-US]
global.json file:
Not found
Learn more:
https://aka.ms/dotnet/info
Download .NET:
https://aka.ms/dotnet/download
Visual Studio Code Extensions
|Extension|Author|Version|Folder Name|
|---|---|---|---|
|atlascode|atlassian|4.0.22|atlassian.atlascode-4.0.22|
|chatgpt|openai|26.304.20706|openai.chatgpt-26.304.20706-win32-x64|
|code-spell-checker|streetsidesoftware|4.5.6|streetsidesoftware.code-spell-checker-4.5.6|
|copilot-chat|GitHub|0.38.2|github.copilot-chat-0.38.2|
|cpptools|ms-vscode|1.30.5|ms-vscode.cpptools-1.30.5-win32-x64|
|csdevkit|ms-dotnettools|2.10.3|ms-dotnettools.csdevkit-2.10.3-win32-x64|
|csharp|ms-dotnettools|2.120.3|ms-dotnettools.csharp-2.120.3-win32-x64|
|gitlens|eamodio|17.11.0|eamodio.gitlens-17.11.0|
|playwright|ms-playwright|1.1.17|ms-playwright.playwright-1.1.17|
|powershell|ms-vscode|2025.4.0|ms-vscode.powershell-2025.4.0|
|rainbow-csv|mechatroner|3.24.1|mechatroner.rainbow-csv-3.24.1|
|svelte-vscode|svelte|109.14.2|svelte.svelte-vscode-109.14.2|
|vetur|octref|0.37.3|octref.vetur-0.37.3|
|vscode-css-formatter|aeschli|1.0.2|aeschli.vscode-css-formatter-1.0.2|
|vscode-dotnet-runtime|ms-dotnettools|3.0.0|ms-dotnettools.vscode-dotnet-runtime-3.0.0|
|vscode-peacock|johnpapa|4.2.2|johnpapa.vscode-peacock-4.2.2|
|vscode-yaml|redhat|1.21.0|redhat.vscode-yaml-1.21.0|
|vsliveshare|ms-vsliveshare|1.0.5959|ms-vsliveshare.vsliveshare-1.0.5959|
|vsliveshare-pack|ms-vsliveshare|0.4.0|ms-vsliveshare.vsliveshare-pack-0.4.0|
|vsls-whiteboard|lostintangent|0.0.12|lostintangent.vsls-whiteboard-0.0.12|
|vstuc|visualstudiotoolsforunity|1.2.1|visualstudiotoolsforunity.vstuc-1.2.1|;
C# Settings
|Setting|Value|
|---|---|
|preferCSharpExtension|false|
|compilerDiagnosticScope|openFiles|
|analyzerDiagnosticScope|openFiles|
|enableXamlTools|true|
|useServerGC|true|;
System Info
|Item|Value|
|---|---|
|CPUs|Intel(R) Core(TM) i5-7500 CPU @ 3.40GHz (4 x 3408)|
|GPU Status|2d_canvas: enabled
GPU0: VENDOR= 0x10de, DEVICE=0x1c02 [NVIDIA GeForce GTX 1060 3GB], DRIVER_VENDOR=NVIDIA, DRIVER_VERSION=32.0.15.6094 *ACTIVE*
GPU1: VENDOR= 0x10de, DEVICE=0x1c02 [NVIDIA GeForce GTX 1060 3GB], DRIVER_VERSION=32.0.15.6094
GPU2: VENDOR= 0x1414, DEVICE=0x008c [Microsoft Basic Render Driver], DRIVER_VERSION=10.0.19041.5794
Machine model name:
Machine model version:
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
trees_in_viz: disabled_off
video_decode: enabled
video_encode: enabled
webgl: enabled
webgl2: enabled
webgpu: enabled
webnn: disabled_off|
|Load (avg)|undefined|
|Memory (System)|31.94GB (5.97GB free)|
|Process Argv|--crash-reporter-id 867cfbbf-b045-434b-9810-4dda7f718d33|
|Screen Reader|no|
|VM|0%|
A/B Experiments
```
vsliv368cf:30146710
binariesv615:30325510
nativeloc1:31344060
dwcopilot:31170013
dwoutputs:31242946
copilot_t_ci:31333650
e5gg6876:31282496
pythonrdcb7:31342333
6518g693:31463988
aj953862:31281341
6abeh943:31336334
envsactivate1:31464700
cloudbuttont:31379625
aihoversummaries_t:31469308
3efgi100_wstrepl:31403338
55ia6109:31457054
use-responses-api:31390855
ddidtcf:31399634
je187915:31401257
ec5jj548:31422691
cp_cls_c_966_ss:31454199
4je02754:31466945
ge8j1254_inline_auto_hint_haiku:31431912
nes-autoexp-off:31446584
a5gib710:31434435
00h15499_gpt_53_codex:31464542
7a04d226_do_not_restore_last_panel_session:31438103
31c7i317_no_change:31465101
preserve_tokens:31444547
cp_cls_c_1081:31454833
copilot-nes-oct-trt:31432596
ia-use-proxy-models-svc:31452481
a43f0574:31442827
e9c30283:31461165
test_treatment2:31471001
nes-fast-additive:31462666
control_6dc23131:31467998
9c05b404_max_request_50:31468594
idci7584:31464702
edit_mode_hidden:31461530
864ei723_large_tool_results_to_disk:31460878
notips:31471632
i54ji102:31458073
b1f5h706:31471673
nes-extended-on:31455476
chat:31457767
8hig5102:31471928
ah:31460422
jdddd261:31472041
nes-rcnt-edit:31471617
thinking_effort_h:31471653
f0268191:31471593
thinking_c:31471065
```
Contributor guide
Assessment
This issue has not been assessed yet.