Add keybinding for chat 'cancel'

This commit is contained in:
Rob Lourens 2024-04-12 14:10:48 -07:00
parent d28dc16e5b
commit b4a33b8e71

View file

@ -157,19 +157,26 @@ export class CancelAction extends Action2 {
id: MenuId.ChatExecute,
when: CONTEXT_CHAT_REQUEST_IN_PROGRESS,
group: 'navigation',
},
keybinding: {
weight: KeybindingWeight.WorkbenchContrib,
primary: KeyMod.CtrlCmd | KeyCode.Escape,
}
});
}
run(accessor: ServicesAccessor, ...args: any[]) {
const context: IChatExecuteActionContext = args[0];
if (!context.widget) {
const context: IChatExecuteActionContext | undefined = args[0];
const widgetService = accessor.get(IChatWidgetService);
const widget = context?.widget ?? widgetService.lastFocusedWidget;
if (!widget) {
return;
}
const chatService = accessor.get(IChatService);
if (context.widget.viewModel) {
chatService.cancelCurrentRequestForSession(context.widget.viewModel.sessionId);
if (widget.viewModel) {
chatService.cancelCurrentRequestForSession(widget.viewModel.sessionId);
}
}
}