Change:
override async run(accessor: ServicesAccessor): Promise<void> { const audioCueService = accessor.get(IAudioCueService); <del> const quickPickService = accessor.get(IQuickInputService); const preferencesService = accessor.get(IPreferencesService); const accessibilityService = accessor.get(IAccessibilityService); const items: (IQuickPickItem & { audioCue: AudioCue })[] = AudioCue.allAudioCues.filter(c => !!c.alertMessage).map((cue, idx) => ({ label: accessibilityService.isScreenReaderOptimized() ? `${cue.name}${audioCueService.isAlertEnabled(cue) ? '' : ' (' + localize('disabled', "Disabled") + ')'}` : `${audioCueService.isAlertEnabled(cue) ? '$(check)' : '     '} ${cue.name}`, </del> <ins> const quickInputService = accessor.get(IQuickInputService); const configurationService = accessor.get(IConfigurationService); const userGestureAlerts = [AudioCue.save, AudioCue.format]; const items: (IQuickPickItem & { audioCue: AudioCue })[] = AudioCue.allAudioCues.filter(c => c.alertSettingsKey).map((cue, idx) => ({ label: userGestureAlerts.includes(cue) && cue.alertSettingsKey ? `${cue.name} (${configurationService.getValue(cue.alertSettingsKey)})` : cue.name, </ins> audioCue: cue, <del> buttons: [{ </del> <ins> buttons: userGestureAlerts.includes(cue) ? [{ </ins> iconClass: ThemeIcon.asClassName(Codicon.settingsGear), <del> tooltip: localize('alerts.help.settings', 'Enable/Disable Audio Cue'), }], </del> <ins> tooltip: localize('alert.help.settings', 'Enable/Disable Alert'), alwaysVisible: true }] : [] </ins> })); <del> const quickPick = quickPickService.pick<IQuickPickItem & { audioCue: AudioCue }>( items, { activeItem: items[0], onDidTriggerItemButton: (context) => { preferencesService.openSettings({ query: context.item.audioCue.alertSettingsKey }); }, placeHolder: localize('alerts.help.placeholder', 'Inspect and configure the status of an alert'), </del> <ins> const qp = quickInputService.createQuickPick<IQuickPickItem & { audioCue: AudioCue }>(); qp.items = items; qp.selectedItems = items.filter(i => audioCueService.isAlertEnabled(i.audioCue)); qp.onDidAccept(() => { const enabledAlerts = qp.selectedItems.map(i => i.audioCue); const disabledAlerts = AudioCue.allAudioCues.filter(cue => !enabledAlerts.includes(cue)); for (const cue of enabledAlerts) { if (!userGestureAlerts.includes(cue)) { configurationService.updateValue(cue.alertSettingsKey!, true); } </ins> } <del> ); await quickPick; </del> <ins> for (const cue of disabledAlerts) { if (userGestureAlerts.includes(cue)) { configurationService.updateValue(cue.alertSettingsKey!, 'never'); } else { configurationService.updateValue(cue.alertSettingsKey!, false); } } qp.hide(); }); qp.placeholder = localize('alert.help.placeholder', 'Select an alert to configure'); qp.canSelectMany = true; await qp.show(); </ins> } }

Discussion:
When using the command, Roberto did not know there was a configure action available. He said: It works, but in all my time using the editor, it never occurred to me to try using the tab key in that list. I always assumed it was read only. Originally posted by in
also this discoverability issue. Additionally, he found that has to be pressed twice to reach the settings gear when running .
He suggested we use checkboxes instead and combine with .
Need to assess which other actions we need to fix
I think it is possible using the quick pick api to render checkboxes for this. Let me un-assign Tyler and in case you need help with the API feel free to reach out to me and we can find the right usage.