Skip to content

Commit a030b0c

Browse files
authored
fix: add default keybindings for chat editing widget actions (microsoft#232162)
1 parent bf742db commit a030b0c

File tree

2 files changed

+19
-2
lines changed

2 files changed

+19
-2
lines changed

src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.ts

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import { IListService } from '../../../../../platform/list/browser/listService.j
2121
import { GroupsOrder, IEditorGroupsService } from '../../../../services/editor/common/editorGroupsService.js';
2222
import { IEditorService } from '../../../../services/editor/common/editorService.js';
2323
import { ChatAgentLocation } from '../../common/chatAgents.js';
24-
import { CONTEXT_CHAT_LOCATION, CONTEXT_CHAT_REQUEST_IN_PROGRESS, CONTEXT_IN_CHAT_INPUT, CONTEXT_IN_CHAT_SESSION, CONTEXT_ITEM_ID, CONTEXT_LAST_ITEM_ID, CONTEXT_REQUEST, CONTEXT_RESPONSE } from '../../common/chatContextKeys.js';
24+
import { CONTEXT_CHAT_INPUT_HAS_TEXT, CONTEXT_CHAT_LOCATION, CONTEXT_CHAT_REQUEST_IN_PROGRESS, CONTEXT_IN_CHAT_INPUT, CONTEXT_IN_CHAT_SESSION, CONTEXT_ITEM_ID, CONTEXT_LAST_ITEM_ID, CONTEXT_REQUEST, CONTEXT_RESPONSE } from '../../common/chatContextKeys.js';
2525
import { applyingChatEditsContextKey, CHAT_EDITING_MULTI_DIFF_SOURCE_RESOLVER_SCHEME, chatEditingResourceContextKey, chatEditingWidgetFileStateContextKey, decidedChatEditingResourceContextKey, hasAppliedChatEditsContextKey, hasUndecidedChatEditingResourceContextKey, IChatEditingService, IChatEditingSession, isChatRequestCheckpointed, WorkingSetEntryState } from '../../common/chatEditingService.js';
2626
import { IChatService } from '../../common/chatService.js';
2727
import { isRequestVM, isResponseVM } from '../../common/chatViewModel.js';
@@ -181,6 +181,11 @@ export class ChatEditingAcceptAllAction extends Action2 {
181181
icon: Codicon.check,
182182
tooltip: localize('acceptAllEdits', 'Accept All Edits'),
183183
precondition: ContextKeyExpr.and(CONTEXT_CHAT_REQUEST_IN_PROGRESS.negate(), hasUndecidedChatEditingResourceContextKey),
184+
keybinding: {
185+
primary: KeyMod.CtrlCmd | KeyCode.Enter,
186+
when: ContextKeyExpr.and(CONTEXT_CHAT_REQUEST_IN_PROGRESS.negate(), hasUndecidedChatEditingResourceContextKey, CONTEXT_CHAT_LOCATION.isEqualTo(ChatAgentLocation.EditingSession), CONTEXT_IN_CHAT_INPUT),
187+
weight: KeybindingWeight.WorkbenchContrib,
188+
},
184189
menu: [
185190
{
186191
when: ContextKeyExpr.equals('resourceScheme', CHAT_EDITING_MULTI_DIFF_SOURCE_RESOLVER_SCHEME),
@@ -232,6 +237,11 @@ export class ChatEditingDiscardAllAction extends Action2 {
232237
when: ContextKeyExpr.or(hasAppliedChatEditsContextKey.negate(), ContextKeyExpr.and(CONTEXT_CHAT_LOCATION.isEqualTo(ChatAgentLocation.EditingSession), hasUndecidedChatEditingResourceContextKey))
233238
}
234239
],
240+
keybinding: {
241+
when: ContextKeyExpr.and(CONTEXT_CHAT_REQUEST_IN_PROGRESS.negate(), hasUndecidedChatEditingResourceContextKey, CONTEXT_CHAT_LOCATION.isEqualTo(ChatAgentLocation.EditingSession), CONTEXT_IN_CHAT_INPUT, CONTEXT_CHAT_INPUT_HAS_TEXT.negate()),
242+
weight: KeybindingWeight.WorkbenchContrib,
243+
primary: KeyMod.CtrlCmd | KeyCode.Backspace,
244+
},
235245
});
236246
}
237247

src/vs/workbench/contrib/chat/browser/chatEditorSaving.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import { DeferredPromise, RunOnceScheduler } from '../../../../base/common/async
77
import { Codicon } from '../../../../base/common/codicons.js';
88
import { CancellationError } from '../../../../base/common/errors.js';
99
import { Iterable } from '../../../../base/common/iterator.js';
10+
import { KeyCode, KeyMod } from '../../../../base/common/keyCodes.js';
1011
import { Disposable, DisposableMap, DisposableStore, MutableDisposable } from '../../../../base/common/lifecycle.js';
1112
import { ResourceSet } from '../../../../base/common/map.js';
1213
import { URI } from '../../../../base/common/uri.js';
@@ -16,14 +17,15 @@ import { Action2, MenuId, registerAction2 } from '../../../../platform/actions/c
1617
import { IConfigurationService } from '../../../../platform/configuration/common/configuration.js';
1718
import { ContextKeyExpr } from '../../../../platform/contextkey/common/contextkey.js';
1819
import { IDialogService } from '../../../../platform/dialogs/common/dialogs.js';
20+
import { KeybindingWeight } from '../../../../platform/keybinding/common/keybindingsRegistry.js';
1921
import { ILabelService } from '../../../../platform/label/common/label.js';
2022
import { IWorkbenchContribution } from '../../../common/contributions.js';
2123
import { IEditorIdentifier, SaveReason } from '../../../common/editor.js';
2224
import { IEditorService } from '../../../services/editor/common/editorService.js';
2325
import { IFilesConfigurationService } from '../../../services/filesConfiguration/common/filesConfigurationService.js';
2426
import { ITextFileService } from '../../../services/textfile/common/textfiles.js';
2527
import { ChatAgentLocation, IChatAgentService } from '../common/chatAgents.js';
26-
import { CONTEXT_CHAT_LOCATION, CONTEXT_CHAT_REQUEST_IN_PROGRESS } from '../common/chatContextKeys.js';
28+
import { CONTEXT_CHAT_LOCATION, CONTEXT_CHAT_REQUEST_IN_PROGRESS, CONTEXT_IN_CHAT_INPUT } from '../common/chatContextKeys.js';
2729
import { CHAT_EDITING_MULTI_DIFF_SOURCE_RESOLVER_SCHEME, hasAppliedChatEditsContextKey, hasUndecidedChatEditingResourceContextKey, IChatEditingService, IChatEditingSession, WorkingSetEntryState } from '../common/chatEditingService.js';
2830

2931
export class ChatEditorSaving extends Disposable implements IWorkbenchContribution {
@@ -219,6 +221,11 @@ export class ChatEditingSaveAllAction extends Action2 {
219221
)
220222
}
221223
],
224+
keybinding: {
225+
primary: KeyMod.CtrlCmd | KeyCode.KeyS,
226+
when: ContextKeyExpr.and(CONTEXT_CHAT_REQUEST_IN_PROGRESS.negate(), hasUndecidedChatEditingResourceContextKey, CONTEXT_CHAT_LOCATION.isEqualTo(ChatAgentLocation.EditingSession), CONTEXT_IN_CHAT_INPUT),
227+
weight: KeybindingWeight.WorkbenchContrib,
228+
},
222229
});
223230
}
224231

0 commit comments

Comments
 (0)