-
Notifications
You must be signed in to change notification settings - Fork 4.2k
Remove unnecessary options #56984
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
Remove unnecessary options #56984
Conversation
CyrusNajmabadi
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approving with the TestAccessor change.
allisonchou
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks Tomas! lgtm.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LspOptions.LspCompletionFeatureFlag only has a feature flag storage location. Feature flags cannot be set on machines without telemetry enabled (not even through manual local override for testing), so we either need to retain the ForceRoslynLSPCompletionExperiment option or add a RoamingProfileStorageLocation to LspCompletionFeatureFlag
Is this to allow manually changing it in the registry? I don't understand the scenario. |
Yes, otherwise there is no way to test the flag. |
Testing where? Integration tests on CI? In unit tests the flag is tested, the registry storage is not needed. Integration Tests can also use IGlobalOptionsService to set the flag as needed. |
Locally. It's impossible to set a feature flag for local testing. All feature flags are backed by secondary option with registry storage so local developers can set the value for smoke testing and/or debugging. |
genlu
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UsePartialSemanticForCompletion part LGTM
|
@sharwell This feature flag can be set locally in UI here: |
|
@tmat Awesome, verified locally that |
|
Thanks for the extra validation! |
|
Note this means there are a bunch of other options using the dual pattern that can likely be consolidated. |
|
@sharwell Yeah, that's likely. Will add it to the list of things to clean up :) |
|
Not all our feature flags are shown in the above UI. Maybe they should be. #55974 |
This comment has been minimized.
This comment has been minimized.
|
I don't think we need to show all feature flags in the UI. For items we don't expect users to change, it's sufficient to allow them to be set via |

ForceRoslynLSPCompletionExperiment is no longer necessary since LspCompletionFeatureFlag feature flag can be turned on/off directly as a global option.
UsePartialSemanticForCompletion is a test-hook flag that can be set directly on CompletionServiceWithProviders.