add audio cue for terminal quick fix (#162226)

This commit is contained in:
Megan Rogge
2022-09-28 14:57:54 -07:00
committed by GitHub
parent 5a2baf9017
commit a4071cf8de
3 changed files with 14 additions and 1 deletions
@@ -201,6 +201,12 @@ export class AudioCue {
settingsKey: 'audioCues.lineHasInlineSuggestion',
});
public static readonly terminalQuickFix = AudioCue.register({
name: localize('audioCues.terminalQuickFix.name', 'Terminal Quick Fix'),
sound: Sound.quickFixes,
settingsKey: 'audioCues.terminalQuickFix',
});
public static readonly onDebugBreak = AudioCue.register({
name: localize('audioCues.onDebugBreak.name', 'Debugger Stopped on Breakpoint'),
sound: Sound.break,
@@ -76,6 +76,10 @@ Registry.as<IConfigurationRegistry>(ConfigurationExtensions.Configuration).regis
'description': localize('audioCues.taskEnded', "Plays a sound when a task ends."),
...audioCueFeatureBase,
},
'audioCues.terminalQuickFix': {
'description': localize('audioCues.terminalQuickFix', "Plays a sound when a terminal quick fixes are available"),
...audioCueFeatureBase,
},
}
});
@@ -19,6 +19,7 @@ import { IColorTheme, ICssStyleCollector, registerThemingParticipant } from 'vs/
import { PANEL_BACKGROUND } from 'vs/workbench/common/theme';
import { TERMINAL_BACKGROUND_COLOR } from 'vs/workbench/contrib/terminal/common/terminalColorRegistry';
import { Color } from 'vs/base/common/color';
import { AudioCue, IAudioCueService } from 'vs/workbench/contrib/audioCues/browser/audioCueService';
export interface ITerminalQuickFix {
showMenu(): void;
@@ -51,7 +52,8 @@ export class TerminalQuickFixAddon extends Disposable implements ITerminalAddon,
constructor(private readonly _capabilities: ITerminalCapabilityStore,
@IContextMenuService private readonly _contextMenuService: IContextMenuService,
@IConfigurationService private readonly _configurationService: IConfigurationService) {
@IConfigurationService private readonly _configurationService: IConfigurationService,
@IAudioCueService private readonly _audioCueService: IAudioCueService) {
super();
const commandDetectionCapability = this._capabilities.get(TerminalCapability.CommandDetection);
if (commandDetectionCapability) {
@@ -121,6 +123,7 @@ export class TerminalQuickFixAddon extends Disposable implements ITerminalAddon,
this._currentQuickFixElement = e;
e.classList.add(DecorationSelector.QuickFix, DecorationSelector.LightBulb, DecorationSelector.Codicon, DecorationSelector.CommandDecoration, DecorationSelector.XtermDecoration);
updateLayout(this._configurationService, e);
this._audioCueService.playAudioCue(AudioCue.terminalQuickFix);
if (actions) {
this._decorationMarkerIds.add(decoration.marker.id);
dom.addDisposableListener(e, dom.EventType.CLICK, () => {