Sessions - expose Changes view menu (#304489)

Sessions - expose changes view menus
This commit is contained in:
Ladislau Szomoru
2026-03-24 15:43:31 +00:00
committed by GitHub
parent b7d981c0ca
commit 754b67fe92
3 changed files with 22 additions and 7 deletions
@@ -263,6 +263,8 @@ export class MenuId {
static readonly ChatEditingWidgetToolbar = new MenuId('ChatEditingWidgetToolbar');
static readonly ChatEditingSessionChangesToolbar = new MenuId('ChatEditingSessionChangesToolbar');
static readonly ChatEditingSessionApplySubmenu = new MenuId('ChatEditingSessionApplySubmenu');
static readonly ChatEditingSessionTitleToolbar = new MenuId('ChatEditingSessionTitleToolbar');
static readonly ChatEditingSessionChangeToolbar = new MenuId('ChatEditingSessionChangeToolbar');
static readonly ChatEditingSessionChangesVersionsSubmenu = new MenuId('ChatEditingSessionChangesVersionsSubmenu');
static readonly ChatEditingEditorContent = new MenuId('ChatEditingEditorContent');
static readonly ChatEditingEditorHunk = new MenuId('ChatEditingEditorHunk');
@@ -342,7 +342,10 @@ export class ChangesViewPane extends ViewPane {
@ICodeReviewService private readonly codeReviewService: ICodeReviewService,
@IGitHubService private readonly gitHubService: IGitHubService,
) {
super(options, keybindingService, contextMenuService, configurationService, contextKeyService, viewDescriptorService, instantiationService, openerService, themeService, hoverService);
super({
...options,
titleMenuId: MenuId.ChatEditingSessionTitleToolbar,
}, keybindingService, contextMenuService, configurationService, contextKeyService, viewDescriptorService, instantiationService, openerService, themeService, hoverService);
this.viewModel = this.instantiationService.createInstance(ChangesViewModel);
this._register(this.viewModel);
@@ -770,7 +773,7 @@ export class ChangesViewPane extends ViewPane {
'ChangesViewTree',
this.listContainer,
new ChangesTreeDelegate(),
[this.instantiationService.createInstance(ChangesTreeRenderer, resourceLabels, MenuId.ChatEditingWidgetModifiedFilesToolbar)],
[this.instantiationService.createInstance(ChangesTreeRenderer, resourceLabels, MenuId.ChatEditingSessionChangesToolbar)],
{
alwaysConsumeMouseWheel: false,
accessibilityProvider: {
@@ -1240,8 +1243,7 @@ class SetChangesListViewModeAction extends ViewAction<ChangesViewPane> {
icon: Codicon.listTree,
toggled: changesViewModeContextKey.isEqualTo(ChangesViewMode.List),
menu: {
id: MenuId.ViewTitle,
when: ContextKeyExpr.equals('view', CHANGES_VIEW_ID),
id: MenuId.ChatEditingSessionTitleToolbar,
group: '1_viewmode',
order: 1
}
@@ -1263,8 +1265,7 @@ class SetChangesTreeViewModeAction extends ViewAction<ChangesViewPane> {
icon: Codicon.listFlat,
toggled: changesViewModeContextKey.isEqualTo(ChangesViewMode.Tree),
menu: {
id: MenuId.ViewTitle,
when: ContextKeyExpr.equals('view', CHANGES_VIEW_ID),
id: MenuId.ChatEditingSessionTitleToolbar,
group: '1_viewmode',
order: 2
}
@@ -1281,7 +1282,7 @@ registerAction2(SetChangesTreeViewModeAction);
// --- Versions Submenu
MenuRegistry.appendMenuItem(MenuId.ViewTitle, {
MenuRegistry.appendMenuItem(MenuId.ChatEditingSessionTitleToolbar, {
submenu: MenuId.ChatEditingSessionChangesVersionsSubmenu,
title: localize2('versionsActions', 'Versions'),
icon: Codicon.versions,
@@ -490,6 +490,18 @@ const apiMenus: IAPIMenu[] = [
description: localize('menus.chatEditingSessionApplySubmenu', "Submenu for apply actions in the Chat Editing session changes toolbar."),
proposed: 'chatSessionsProvider'
},
{
key: 'chat/input/editing/sessionTitleToolbar',
id: MenuId.ChatEditingSessionTitleToolbar,
description: localize('menus.chatEditingSessionTitleToolbar', "The Chat Editing widget toolbar menu for session title."),
proposed: 'chatSessionsProvider'
},
{
key: 'chat/input/editing/sessionChangeToolbar',
id: MenuId.ChatEditingSessionChangeToolbar,
description: localize('menus.chatEditingSessionChangeToolbar', "The Chat Editing widget toolbar menu for session changes."),
proposed: 'chatSessionsProvider'
},
{
// TODO: rename this to something like: `chatSessions/item/inline`
key: 'chat/chatSessions',