- Notifications
You must be signed in to change notification settings - Fork825
VS enable diagnostics for unopened files#15591
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
VS enable diagnostics for unopened files#15591
Uh oh!
There was an error while loading.Please reload this page.
Conversation
How is vram compared with and without this option on something like VisualFSharp or FCS solution? |
T-Gro commentedJul 12, 2023 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
I had the before/after Visual Studios side by side and did not spot any memory usage increase, the caches are being evicted and not kept strongly. This also means it does take longer and is not at all smart about avoiding work (we do not have "cross project graph checking"), for VisualFsharp.sln it was easily several minutes before the full solution was analyzed. |
Can you please ensure we're sending state of the option in telemetry? So we can filter it out when looking at perf data? |
ok, will redo it to include that option in telemetry. |
@vzarytovskii : Reported as a boolean property |
Uh oh!
There was an error while loading.Please reload this page.
This PR brings in an optional checkbox for enabling solution-wide background analysis.
The default remains "false" - only opened documents are being analyzed.
Once this is turned on, unopened documents in all projects will also be analyzed for diagnostics.
This is a rough summary of the priorities:
Any change is typed to active document => stop#2/#3, go back to#1 and start over
During active typing, no background analysis is running at all.
This does work together with the "live buffers" option:

The tests for the functionality exist in the Roslyn repository.
Remark: GH research indicates that the Roslyn's SolutionCrawler is on a path of being deprecated in the future, and this might need a different impl in the LSP-future of F#. I think it still makes sense to enable background analysis as an option despite knowing that.