-
Notifications
You must be signed in to change notification settings - Fork 789
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 our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
VS enable diagnostics for unopened files #15591
VS enable diagnostics for unopened files #15591
Conversation
How is vram compared with and without this option on something like VisualFSharp or FCS solution? |
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 |
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.