mirror of
https://github.com/microsoft/vscode.git
synced 2026-07-12 01:28:01 +01:00
Agents - cleanup Changes view menus/actions (#315014)
* Agents - cleanup Changes view menus/actions * More fixes
This commit is contained in:
@@ -5100,7 +5100,7 @@
|
||||
"group": "navigation@0"
|
||||
}
|
||||
],
|
||||
"chat/input/editing/sessionApplyActions": [
|
||||
"agents/changes/actions/primary": [
|
||||
{
|
||||
"command": "github.copilot.sessions.initializeRepository",
|
||||
"when": "chatSessionType == copilotcli && isSessionsWindow && sessions.isolationMode == workspace && !sessions.hasGitRepository && !sessions.isAgentHostSession",
|
||||
|
||||
@@ -183,7 +183,7 @@
|
||||
"when": "github.hasGitHubRepo && timelineItem =~ /git:file:commit\\b/"
|
||||
}
|
||||
],
|
||||
"chat/input/editing/sessionApplyActions": []
|
||||
"agents/changes/actions/primary": []
|
||||
},
|
||||
"configuration": [
|
||||
{
|
||||
|
||||
@@ -265,7 +265,6 @@ export class MenuId {
|
||||
static readonly ChatModePicker = new MenuId('ChatModePicker');
|
||||
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');
|
||||
@@ -313,6 +312,8 @@ export class MenuId {
|
||||
static readonly AgentSessionItemToolbar = new MenuId('AgentSessionItemToolbar');
|
||||
static readonly AgentSessionSectionToolbar = new MenuId('AgentSessionSectionToolbar');
|
||||
static readonly AgentsTitleBarControlMenu = new MenuId('AgentsTitleBarControlMenu');
|
||||
static readonly AgentsChangesToolbar = new MenuId('AgentsChangesToolbar');
|
||||
static readonly AgentsChangesPrimaryActionSubMenu = new MenuId('AgentsChangesPrimaryActionSubMenu');
|
||||
static readonly ChatViewSessionTitleNavigationToolbar = new MenuId('ChatViewSessionTitleNavigationToolbar');
|
||||
static readonly ChatViewSessionTitleToolbar = new MenuId('ChatViewSessionTitleToolbar');
|
||||
static readonly ChatContextUsageActions = new MenuId('ChatContextUsageActions');
|
||||
|
||||
@@ -62,7 +62,7 @@ class ActiveSessionFeedbackContextContribution extends Disposable implements IWo
|
||||
contextKey.set(count > 0);
|
||||
|
||||
if (count > 0) {
|
||||
menuRegistration.value = MenuRegistry.appendMenuItem(MenuId.ChatEditingSessionApplySubmenu, {
|
||||
menuRegistration.value = MenuRegistry.appendMenuItem(MenuId.AgentsChangesPrimaryActionSubMenu, {
|
||||
command: {
|
||||
id: submitActiveSessionFeedbackActionId,
|
||||
icon: Codicon.comment,
|
||||
|
||||
@@ -171,7 +171,7 @@ function registerAgentHostSkillButton(spec: IAgentHostSkillButtonSpec): void {
|
||||
icon: spec.icon,
|
||||
f1: false,
|
||||
menu: {
|
||||
id: MenuId.ChatEditingSessionApplySubmenu,
|
||||
id: MenuId.AgentsChangesPrimaryActionSubMenu,
|
||||
group: spec.group,
|
||||
order: spec.order,
|
||||
when: ContextKeyExpr.and(
|
||||
|
||||
@@ -165,7 +165,7 @@ suite('agentHostSkillButtons - menu registration', () => {
|
||||
ensureNoDisposablesAreLeakedInTestSuite();
|
||||
|
||||
function skillButtonItems() {
|
||||
const all = MenuRegistry.getMenuItems(MenuId.ChatEditingSessionApplySubmenu);
|
||||
const all = MenuRegistry.getMenuItems(MenuId.AgentsChangesPrimaryActionSubMenu);
|
||||
const menuItems: { command: { id: string }; when?: ContextKeyExpression }[] = [];
|
||||
for (const item of all) {
|
||||
if (!isIMenuItem(item)) {
|
||||
@@ -209,9 +209,9 @@ suite('agentHostSkillButtons - menu registration', () => {
|
||||
});
|
||||
|
||||
test('the apply submenu is contributed to the changes toolbar in the navigation group', () => {
|
||||
const toolbarItems = MenuRegistry.getMenuItems(MenuId.ChatEditingSessionChangesToolbar);
|
||||
const submenuEntry = toolbarItems.find(item => isISubmenuItem(item) && item.submenu === MenuId.ChatEditingSessionApplySubmenu);
|
||||
assert.ok(submenuEntry, 'expected ChatEditingSessionApplySubmenu to be registered on ChatEditingSessionChangesToolbar');
|
||||
const toolbarItems = MenuRegistry.getMenuItems(MenuId.AgentsChangesToolbar);
|
||||
const submenuEntry = toolbarItems.find(item => isISubmenuItem(item) && item.submenu === MenuId.AgentsChangesPrimaryActionSubMenu);
|
||||
assert.ok(submenuEntry, 'expected AgentsChangesPrimaryActionSubMenu to be registered on AgentsChangesToolbar');
|
||||
assert.strictEqual((submenuEntry as { group?: string }).group, 'navigation');
|
||||
});
|
||||
|
||||
|
||||
+3
-3
@@ -65,7 +65,7 @@ class ApplyChangesToParentRepoAction extends Action2 {
|
||||
),
|
||||
menu: [
|
||||
{
|
||||
id: MenuId.ChatEditingSessionApplySubmenu,
|
||||
id: MenuId.AgentsChangesPrimaryActionSubMenu,
|
||||
group: 'navigation',
|
||||
order: 2,
|
||||
when: ContextKeyExpr.and(
|
||||
@@ -165,8 +165,8 @@ registerAction2(ApplyChangesToParentRepoAction);
|
||||
registerWorkbenchContribution2(ApplyChangesToParentRepoContribution.ID, ApplyChangesToParentRepoContribution, WorkbenchPhase.AfterRestored);
|
||||
|
||||
// Register the apply submenu in the session changes toolbar
|
||||
MenuRegistry.appendMenuItem(MenuId.ChatEditingSessionChangesToolbar, {
|
||||
submenu: MenuId.ChatEditingSessionApplySubmenu,
|
||||
MenuRegistry.appendMenuItem(MenuId.AgentsChangesToolbar, {
|
||||
submenu: MenuId.AgentsChangesPrimaryActionSubMenu,
|
||||
title: localize2('applyActions', 'Apply Actions'),
|
||||
group: 'navigation',
|
||||
order: 1,
|
||||
|
||||
@@ -158,7 +158,7 @@ class ChangesButtonBarWidget extends Disposable {
|
||||
|
||||
reader.store.add(new MenuWorkbenchButtonBar(
|
||||
container,
|
||||
MenuId.ChatEditingSessionChangesToolbar,
|
||||
MenuId.AgentsChangesToolbar,
|
||||
{
|
||||
telemetrySource: 'changesView',
|
||||
menuOptions: sessionResource
|
||||
|
||||
@@ -78,7 +78,7 @@ class OpenPullRequestAction extends Action2 {
|
||||
icon: Codicon.gitPullRequest,
|
||||
f1: false,
|
||||
menu: {
|
||||
id: MenuId.ChatEditingSessionChangesToolbar,
|
||||
id: MenuId.AgentsChangesToolbar,
|
||||
group: 'navigation',
|
||||
order: 9,
|
||||
when: ContextKeyExpr.and(
|
||||
|
||||
@@ -129,7 +129,7 @@ class FixCIChecksAction extends Action2 {
|
||||
category: CHAT_CATEGORY,
|
||||
precondition: ContextKeyExpr.and(ChatContextKeys.enabled, hasActiveSessionFailedCIChecks),
|
||||
menu: [{
|
||||
id: MenuId.ChatEditingSessionApplySubmenu,
|
||||
id: MenuId.AgentsChangesPrimaryActionSubMenu,
|
||||
group: 'navigation',
|
||||
order: 4,
|
||||
when: ContextKeyExpr.and(IsSessionsWindowContext, hasActiveSessionFailedCIChecks),
|
||||
|
||||
@@ -47,7 +47,7 @@ function registerSessionCodeReviewAction(tooltip: string, icon: ThemeIcon): Disp
|
||||
canRunSessionCodeReviewContextKey),
|
||||
menu: [
|
||||
{
|
||||
id: MenuId.ChatEditingSessionChangesToolbar,
|
||||
id: MenuId.AgentsChangesToolbar,
|
||||
group: 'navigation',
|
||||
order: 7,
|
||||
when: ContextKeyExpr.and(
|
||||
|
||||
@@ -791,7 +791,7 @@ registerAction2(class MarkSessionAsDoneAction extends Action2 {
|
||||
icon: Codicon.check,
|
||||
precondition: ChatContextKeys.requestInProgress.negate(),
|
||||
menu: [{
|
||||
id: MenuId.ChatEditingSessionChangesToolbar,
|
||||
id: MenuId.AgentsChangesToolbar,
|
||||
group: 'navigation',
|
||||
order: 1,
|
||||
when: ContextKeyExpr.and(
|
||||
@@ -824,7 +824,7 @@ registerAction2(class RestoreSessionAction extends Action2 {
|
||||
title: localize2('restore', "Restore"),
|
||||
icon: Codicon.discard,
|
||||
menu: [{
|
||||
id: MenuId.ChatEditingSessionChangesToolbar,
|
||||
id: MenuId.AgentsChangesToolbar,
|
||||
group: 'navigation',
|
||||
order: 1,
|
||||
when: ContextKeyExpr.and(
|
||||
|
||||
@@ -83,7 +83,7 @@
|
||||
"group": "navigation@1"
|
||||
}
|
||||
],
|
||||
"chat/input/editing/sessionApplyActions": [
|
||||
"agents/changes/actions/primary": [
|
||||
{
|
||||
"command": "github.copilot.chat.mergeCopilotCLIAgentSessionChanges.merge",
|
||||
"when": "chatSessionType == copilotcli && isSessionsWindow && !sessions.isMergeBaseBranchProtected",
|
||||
|
||||
@@ -484,12 +484,6 @@ const apiMenus: IAPIMenu[] = [
|
||||
description: localize('menus.chatEditingSessionChangesToolbar', "The Chat Editing widget toolbar menu for session changes."),
|
||||
proposed: 'chatSessionsProvider'
|
||||
},
|
||||
{
|
||||
key: 'chat/input/editing/sessionApplyActions',
|
||||
id: MenuId.ChatEditingSessionApplySubmenu,
|
||||
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,
|
||||
@@ -557,6 +551,18 @@ const apiMenus: IAPIMenu[] = [
|
||||
description: localize('menus.chatNewSession', "The Chat new session menu."),
|
||||
proposed: 'chatSessionsProvider'
|
||||
},
|
||||
{
|
||||
key: 'agents/changes/actions',
|
||||
id: MenuId.AgentsChangesToolbar,
|
||||
description: localize('menus.agentsChangesToolbar', "The Changes view toolbar of the agents window."),
|
||||
proposed: 'chatSessionsProvider'
|
||||
},
|
||||
{
|
||||
key: 'agents/changes/actions/primary',
|
||||
id: MenuId.AgentsChangesPrimaryActionSubMenu,
|
||||
description: localize('menus.agentsChangesPrimaryActionSubMenu', "The Changes view toolbar primary action submenu in the agents window."),
|
||||
proposed: 'chatSessionsProvider'
|
||||
},
|
||||
];
|
||||
|
||||
namespace schema {
|
||||
|
||||
Reference in New Issue
Block a user