microsoft / microsoft/vscode-dotnettools

Add a way to reload analyzers/source generators

Open
#3,345 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

v11
Dominant language
No language data
Stars
321
Forks
54
Avg merge
2d 19h
Merged PRs (30d)
2

Description

Type: Feature Request

Currently, analyzers and source generators seem to be aggressively cached and assumed to never change. When the user modifies an analyzer or source generator's source code, Roslyn continues using the old, previously-built version.

The extension should, preferably, detect changes in analyzers/source genetators, and automatically use rebuilt versions. If this is not possible, at the very least, there should be a command pallete action to force-reload all analyzers and source generators. In order to do this today, users have to do Reload Window, which closes all terminals and is, in general, inconvenient.

Extension version: 3.20.199
VS Code version: Code 1.130.0 (1b6a188127eeaf9194f945eb6eb89a657e93c54c, 2026-07-22T14:55:04Z)
OS version: Windows_NT x64 10.0.26200
Modes:
Remote OS version: Linux x64 6.18.33.2-microsoft-standard-WSL2

System Info
Item Value
CPUs AMD Ryzen 7 7800X3D 8-Core Processor (16 x 4192)
GPU Status 2d_canvas: enabled
GPU0: VENDOR= 0x10de, DEVICE=0x2504 [NVIDIA GeForce RTX 3060], DRIVER_VENDOR=NVIDIA, DRIVER_VERSION=32.0.15.9144 ACTIVE
GPU1: VENDOR= 0x1002, DEVICE=0x164e [AMD Radeon(TM) Graphics], DRIVER_VERSION=32.0.11024.2
GPU2: VENDOR= 0x10de, DEVICE=0x2504 [NVIDIA GeForce RTX 3060], DRIVER_VERSION=32.0.15.9144
GPU3: VENDOR= 0x1414, DEVICE=0x008c [Microsoft Basic Render Driver], DRIVER_VERSION=10.0.26100.8875
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
webgpu: enabled
webnn: disabled_off
Load (avg) undefined
Memory (System) 31.09GB (11.46GB free)
Process Argv --crash-reporter-id 581cc9ef-2cee-4c1d-977c-f58988f1f906
Screen Reader no
VM 50%
Item Value
Remote WSL: Ubuntu-24.04-WSL2
OS Linux x64 6.18.33.2-microsoft-standard-WSL2
CPUs AMD Ryzen 7 7800X3D 8-Core Processor (16 x 0)
Memory (System) 7.75GB (4.31GB free)
VM 0%

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing how analyzers and source generators are cached and how the existing Reload Window behavior is invoked. Compare that flow with the command palette integration; done means modified analyzers or source generators are detected and reloaded, or a command palette action can force-reload them without closing terminals.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, vscode
Domain
developer-experience, tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.