From 8f8b99bdb6d7e9a3b3689aefeefc170df20bb285 Mon Sep 17 00:00:00 2001 From: Pierce Boggan Date: Tue, 24 Feb 2026 16:56:44 -0700 Subject: [PATCH] Add copy button to chat message toolbar The copy action was only available via right-click context menu (ChatContext). Add it to the ChatMessageTitle toolbar so it appears as a visible icon button on hover, using the copy codicon. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../chat/browser/actions/chatCopyActions.ts | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.ts b/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.ts index e0647b11c4a..03ae16210cc 100644 --- a/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.ts +++ b/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.ts @@ -4,6 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import * as dom from '../../../../../base/browser/dom.js'; +import { Codicon } from '../../../../../base/common/codicons.js'; import { ServicesAccessor } from '../../../../../editor/browser/editorExtensions.js'; import { localize2 } from '../../../../../nls.js'; import { Action2, MenuId, registerAction2 } from '../../../../../platform/actions/common/actions.js'; @@ -54,11 +55,20 @@ export function registerChatCopyActions() { title: localize2('interactive.copyItem.label', "Copy"), f1: false, category: CHAT_CATEGORY, - menu: { - id: MenuId.ChatContext, - when: ChatContextKeys.responseIsFiltered.negate(), - group: 'copy', - } + icon: Codicon.copy, + menu: [ + { + id: MenuId.ChatContext, + when: ChatContextKeys.responseIsFiltered.negate(), + group: 'copy', + }, + { + id: MenuId.ChatMessageTitle, + group: 'navigation', + order: 5, + when: ChatContextKeys.responseIsFiltered.negate(), + } + ] }); }