-
Notifications
You must be signed in to change notification settings - Fork 34k
Open
Open
Copy link
Labels
debtCode quality issuesCode quality issuesengineeringVS Code - Build / issue tracking / etc.VS Code - Build / issue tracking / etc.
Milestone
Description
Ref - https://github.com/microsoft/vscode-internalbacklog/issues/5545
With the experimental configuration system migration from onExP
tag to structured experiment
objects, many settings now have mode:'startup'
by default. Eg:
'chat.editRequests': {
tags: ['experimental'],
experiment: {
mode: 'startup'
}
}
This issue tracks the review of settings that could potentially handle automatic configuration changes when experiment values are updated, and identifies candidates for enabling mode: auto
.
Detecting Experiment-Driven Configuration Changes
Components can detect when a configuration change originates because of Default value has update by checking the source
property in the configuration change event. When event.source === ConfigurationTarget.DEFAULT
.
this.configurationService.onDidChangeConfiguration(event => {
if (event.source === ConfigurationTarget.DEFAULT && event.affectsConfiguration('your.setting.key')) {
// This change came from default value change
// Handle dynamic configuration change
}
});
Settings Categories to Review:
- Tree Sitter Settings (
editorConfigurationSchema.ts
) - @alexr00editor.experimental.treeSitterTelemetry
editor.experimental.preferTreeSitter.css
editor.experimental.preferTreeSitter.typescript
editor.experimental.preferTreeSitter.ini
editor.experimental.preferTreeSitter.regex
- Inline Suggest Settings (
editorOptions.ts
) - @hedieteditor.inlineSuggest.experimental.suppressInlineSuggestions
editor.inlineSuggest.experimental.triggerCommandOnProviderChange
- Quick Suggestions (
editorOptions.ts
) - @hedieteditor.quickSuggestionsDelay
- Layout Settings (
workbench.contribution.ts
) - @bpaseroworkbench.secondarySideBar.defaultVisibility
workbench.settings.showAISearchToggle
- Chat Experience Settings (
chat.contribution.ts
) - @roblourens / @isidornchat.defaultMode
chat.emptyChatState.enabled
chat.edits2Enabled
chat.agent.enabled
chat.signInDialogVariant
- Inline Chat Features (
inlineChat.ts
) - @jrieken / @isidorninlineChat.enableV2
inlineChat.hideOnRequest
- Telemetry Settings (
editTelemetry.contribution.ts
) @hediettelemetry.editStats.detailed.enabled
- Performance Settings (
performance.contribution.ts
) @bpaseroapplication.experimental.rendererProfiling
For each setting, evaluate:
- Can the default setting value change dynamically without causing user experience disruptions?
- What happens if the setting changes automatically while the application is running?
Next Steps:
- Component owners review their assigned settings
- Update
autoRefetch: true
for settings that can handle dynamic changes
Metadata
Metadata
Labels
debtCode quality issuesCode quality issuesengineeringVS Code - Build / issue tracking / etc.VS Code - Build / issue tracking / etc.