diff --git a/src/vs/platform/actions/browser/buttonbar.ts b/src/vs/platform/actions/browser/buttonbar.ts index 530b1fe6170..82545321f17 100644 --- a/src/vs/platform/actions/browser/buttonbar.ts +++ b/src/vs/platform/actions/browser/buttonbar.ts @@ -20,7 +20,7 @@ import { IHoverService } from 'vs/platform/hover/browser/hover'; import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding'; import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; -export type IButtonConfigProvider = (action: IAction) => { +export type IButtonConfigProvider = (action: IAction, index: number) => { showIcon?: boolean; showLabel?: boolean; isSecondary?: boolean; @@ -90,7 +90,7 @@ export class WorkbenchButtonBar extends ButtonBar { const [first, ...rest] = actionOrSubmenu.actions; action = first; btn = this.addButtonWithDropdown({ - secondary: conifgProvider(action)?.isSecondary ?? secondary, + secondary: conifgProvider(action, i)?.isSecondary ?? secondary, actionRunner: this._actionRunner, actions: rest, contextMenuProvider: this._contextMenuService, @@ -99,19 +99,19 @@ export class WorkbenchButtonBar extends ButtonBar { } else { action = actionOrSubmenu; btn = this.addButton({ - secondary: conifgProvider(action)?.isSecondary ?? secondary, + secondary: conifgProvider(action, i)?.isSecondary ?? secondary, ariaLabel: action.label }); } btn.enabled = action.enabled; btn.element.classList.add('default-colors'); - if (conifgProvider(action)?.showLabel ?? true) { + if (conifgProvider(action, i)?.showLabel ?? true) { btn.label = action.label; } else { btn.element.classList.add('monaco-text-button'); } - if (conifgProvider(action)?.showIcon) { + if (conifgProvider(action, i)?.showIcon) { if (action instanceof MenuItemAction && ThemeIcon.isThemeIcon(action.item.icon)) { btn.icon = action.item.icon; } else if (action.class) { diff --git a/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.ts b/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.ts index 2ff889accd1..ed78feed024 100644 --- a/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.ts +++ b/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.ts @@ -4,10 +4,10 @@ *--------------------------------------------------------------------------------------------*/ import { EditorContributionInstantiation, registerEditorContribution } from 'vs/editor/browser/editorExtensions'; -import { IMenuItem, isIMenuItem, MenuId, MenuRegistry, registerAction2 } from 'vs/platform/actions/common/actions'; +import { IMenuItem, MenuRegistry, registerAction2 } from 'vs/platform/actions/common/actions'; import { InlineChatController } from 'vs/workbench/contrib/inlineChat/browser/inlineChatController'; import * as InlineChatActions from 'vs/workbench/contrib/inlineChat/browser/inlineChatActions'; -import { CTX_INLINE_CHAT_CONFIG_TXT_BTNS, CTX_INLINE_CHAT_REQUEST_IN_PROGRESS, INLINE_CHAT_ID, InlineChatConfigKeys, MENU_INLINE_CHAT_CONTENT_STATUS, MENU_INLINE_CHAT_EXECUTE, MENU_INLINE_CHAT_WIDGET_STATUS } from 'vs/workbench/contrib/inlineChat/common/inlineChat'; +import { CTX_INLINE_CHAT_REQUEST_IN_PROGRESS, INLINE_CHAT_ID, MENU_INLINE_CHAT_CONTENT_STATUS, MENU_INLINE_CHAT_WIDGET_STATUS } from 'vs/workbench/contrib/inlineChat/common/inlineChat'; import { InstantiationType, registerSingleton } from 'vs/platform/instantiation/common/extensions'; import { Registry } from 'vs/platform/registry/common/platform'; import { LifecyclePhase } from 'vs/workbench/services/lifecycle/common/lifecycle'; @@ -23,8 +23,6 @@ import { CancelAction, SubmitAction } from 'vs/workbench/contrib/chat/browser/ac import { localize } from 'vs/nls'; import { CONTEXT_CHAT_INPUT_HAS_TEXT } from 'vs/workbench/contrib/chat/common/chatContextKeys'; import { ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey'; -import { DisposableStore, IDisposable } from 'vs/base/common/lifecycle'; -import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; import { InlineChatAccessibilityHelp } from 'vs/workbench/contrib/inlineChat/browser/inlineChatAccessibilityHelp'; import { InlineChatExansionContextKey, InlineChatExpandLineAction } from 'vs/workbench/contrib/inlineChat/browser/inlineChatCurrentLine'; @@ -51,7 +49,6 @@ const sendActionMenuItem: IMenuItem = { when: ContextKeyExpr.and( CONTEXT_CHAT_INPUT_HAS_TEXT, CTX_INLINE_CHAT_REQUEST_IN_PROGRESS.toNegated(), - CTX_INLINE_CHAT_CONFIG_TXT_BTNS ), }; @@ -101,47 +98,3 @@ workbenchContributionsRegistry.registerWorkbenchContribution(InlineChatNotebookC registerWorkbenchContribution2(InlineChatEnabler.Id, InlineChatEnabler, WorkbenchPhase.AfterRestored); AccessibleViewRegistry.register(new InlineChatAccessibleView()); AccessibleViewRegistry.register(new InlineChatAccessibilityHelp()); - - -// MARK - Menu Copier -// menu copier that we use for text-button mode. -// When active it filters out the send and cancel actions from the chat menu -class MenuCopier implements IDisposable { - - static Id = 'inlineChat.menuCopier'; - - readonly dispose: () => void; - - constructor(@IConfigurationService configService: IConfigurationService,) { - - const store = new DisposableStore(); - function updateMenu() { - store.clear(); - for (const item of MenuRegistry.getMenuItems(MenuId.ChatExecute)) { - if (configService.getValue(InlineChatConfigKeys.ExpTextButtons) && isIMenuItem(item) && (item.command.id === SubmitAction.ID || item.command.id === CancelAction.ID)) { - continue; - } - store.add(MenuRegistry.appendMenuItem(MENU_INLINE_CHAT_EXECUTE, item)); - } - } - updateMenu(); - const listener = MenuRegistry.onDidChangeMenu(e => { - if (e.has(MenuId.ChatExecute)) { - updateMenu(); - } - }); - const listener2 = configService.onDidChangeConfiguration(e => { - if (e.affectsConfiguration(InlineChatConfigKeys.ExpTextButtons)) { - updateMenu(); - } - }); - - this.dispose = () => { - listener.dispose(); - listener2.dispose(); - store.dispose(); - }; - } -} - -registerWorkbenchContribution2(MenuCopier.Id, MenuCopier, WorkbenchPhase.AfterRestored); diff --git a/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.ts b/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.ts index 918e5b0e4ff..6c77173caaa 100644 --- a/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.ts +++ b/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.ts @@ -29,7 +29,7 @@ import { registerIcon } from 'vs/platform/theme/common/iconRegistry'; import { IPreferencesService } from 'vs/workbench/services/preferences/common/preferences'; import { ILogService } from 'vs/platform/log/common/log'; import { IChatService } from 'vs/workbench/contrib/chat/common/chatService'; -import { CONTEXT_IN_CHAT_INPUT } from 'vs/workbench/contrib/chat/common/chatContextKeys'; +import { CONTEXT_CHAT_INPUT_HAS_TEXT, CONTEXT_IN_CHAT_INPUT } from 'vs/workbench/contrib/chat/common/chatContextKeys'; CommandsRegistry.registerCommandAlias('interactiveEditor.start', 'inlineChat.start'); CommandsRegistry.registerCommandAlias('interactive.acceptChanges', ACTION_ACCEPT_CHANGES); @@ -269,6 +269,7 @@ export class AcceptChanges extends AbstractInlineChatAction { group: '0_main', order: 1, when: ContextKeyExpr.and( + CONTEXT_CHAT_INPUT_HAS_TEXT.toNegated(), CTX_INLINE_CHAT_REQUEST_IN_PROGRESS.toNegated(), CTX_INLINE_CHAT_RESPONSE_TYPE.isEqualTo(InlineChatResponseType.MessagesAndEdits) ), @@ -294,6 +295,7 @@ export class DiscardHunkAction extends AbstractInlineChatAction { group: '0_main', order: 2, when: ContextKeyExpr.and( + CONTEXT_CHAT_INPUT_HAS_TEXT.toNegated(), CTX_INLINE_CHAT_REQUEST_IN_PROGRESS.negate(), CTX_INLINE_CHAT_RESPONSE_TYPE.isEqualTo(InlineChatResponseType.MessagesAndEdits), CTX_INLINE_CHAT_EDIT_MODE.isEqualTo(EditMode.Live) @@ -326,6 +328,7 @@ export class RerunAction extends AbstractInlineChatAction { group: '0_main', order: 5, when: ContextKeyExpr.and( + CONTEXT_CHAT_INPUT_HAS_TEXT.toNegated(), CTX_INLINE_CHAT_REQUEST_IN_PROGRESS.negate(), CTX_INLINE_CHAT_RESPONSE_TYPE.notEqualsTo(InlineChatResponseType.None) ) @@ -498,6 +501,7 @@ export class ViewInChatAction extends AbstractInlineChatAction { group: '0_main', order: 1, when: ContextKeyExpr.and( + CONTEXT_CHAT_INPUT_HAS_TEXT.toNegated(), CTX_INLINE_CHAT_RESPONSE_TYPE.isEqualTo(InlineChatResponseType.Messages), CTX_INLINE_CHAT_REQUEST_IN_PROGRESS.negate() ) diff --git a/src/vs/workbench/contrib/inlineChat/browser/inlineChatContentWidget.ts b/src/vs/workbench/contrib/inlineChat/browser/inlineChatContentWidget.ts index be23211e5db..a06f4f64bd9 100644 --- a/src/vs/workbench/contrib/inlineChat/browser/inlineChatContentWidget.ts +++ b/src/vs/workbench/contrib/inlineChat/browser/inlineChatContentWidget.ts @@ -11,7 +11,7 @@ import { Emitter, Event } from 'vs/base/common/event'; import { DisposableStore } from 'vs/base/common/lifecycle'; import { IPosition, Position } from 'vs/editor/common/core/position'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; -import { inlineChatBackground, InlineChatConfigKeys, MENU_INLINE_CHAT_CONTENT_STATUS, MENU_INLINE_CHAT_EXECUTE } from 'vs/workbench/contrib/inlineChat/common/inlineChat'; +import { inlineChatBackground, MENU_INLINE_CHAT_CONTENT_STATUS } from 'vs/workbench/contrib/inlineChat/common/inlineChat'; import { Session } from 'vs/workbench/contrib/inlineChat/browser/inlineChatSession'; import { ChatWidget, IChatWidgetLocationOptions } from 'vs/workbench/contrib/chat/browser/chatWidget'; import { ChatAgentLocation } from 'vs/workbench/contrib/chat/common/chatAgents'; @@ -23,7 +23,7 @@ import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey'; import { EditorOption } from 'vs/editor/common/config/editorOptions'; import { ScrollType } from 'vs/editor/common/editorCommon'; import { MenuWorkbenchToolBar } from 'vs/platform/actions/browser/toolbar'; -import { MenuItemAction } from 'vs/platform/actions/common/actions'; +import { MenuId, MenuItemAction } from 'vs/platform/actions/common/actions'; import { TextOnlyMenuEntryActionViewItem } from 'vs/platform/actions/browser/menuEntryActionViewItem'; import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; import { IQuickInputService } from 'vs/platform/quickinput/common/quickInput'; @@ -81,7 +81,7 @@ export class InlineChatContentWidget implements IContentWidget { supportsFileReferences: configurationService.getValue(`chat.experimental.variables.${location.location}`) === true, menus: { telemetrySource: 'inlineChat-content', - executeToolbar: MENU_INLINE_CHAT_EXECUTE, + executeToolbar: MenuId.ChatExecute, }, filter: _item => false }, @@ -103,10 +103,6 @@ export class InlineChatContentWidget implements IContentWidget { this._domNode.appendChild(this._inputContainer); this._toolbarContainer.classList.add('toolbar'); - if (configurationService.getValue(InlineChatConfigKeys.ExpTextButtons)) { - this._toolbarContainer.style.display = 'inherit'; - this._domNode.style.paddingBottom = '4px'; - } this._domNode.appendChild(this._toolbarContainer); const toolbar = this._store.add(scopedInstaService.createInstance(MenuWorkbenchToolBar, this._toolbarContainer, MENU_INLINE_CHAT_CONTENT_STATUS, { diff --git a/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.ts b/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.ts index 347943488b9..2590c4c79be 100644 --- a/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.ts +++ b/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.ts @@ -52,7 +52,6 @@ export abstract class EditModeStrategy { description: 'inline-chat', showIfCollapsed: false, isWholeLine: true, - className: 'inline-chat-block-selection', }); protected readonly _store = new DisposableStore(); diff --git a/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.ts b/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.ts index 35ad5dbf148..fd711335b1c 100644 --- a/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.ts +++ b/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.ts @@ -23,8 +23,7 @@ import { IResolvedTextEditorModel, ITextModelService } from 'vs/editor/common/se import { localize } from 'vs/nls'; import { IAccessibilityService } from 'vs/platform/accessibility/common/accessibility'; import { IWorkbenchButtonBarOptions, MenuWorkbenchButtonBar } from 'vs/platform/actions/browser/buttonbar'; -import { HiddenItemStrategy, MenuWorkbenchToolBar } from 'vs/platform/actions/browser/toolbar'; -import { MenuId, MenuItemAction } from 'vs/platform/actions/common/actions'; +import { MenuId } from 'vs/platform/actions/common/actions'; import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; import { IContextKey, IContextKeyService } from 'vs/platform/contextkey/common/contextkey'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; @@ -36,7 +35,7 @@ import { AccessibilityCommandId } from 'vs/workbench/contrib/accessibility/commo import { ChatModel, IChatModel } from 'vs/workbench/contrib/chat/common/chatModel'; import { isResponseVM, isWelcomeVM } from 'vs/workbench/contrib/chat/common/chatViewModel'; import { HunkInformation, Session } from 'vs/workbench/contrib/inlineChat/browser/inlineChatSession'; -import { CTX_INLINE_CHAT_FOCUSED, CTX_INLINE_CHAT_RESPONSE_FOCUSED, inlineChatBackground, InlineChatConfigKeys, inlineChatForeground } from 'vs/workbench/contrib/inlineChat/common/inlineChat'; +import { CTX_INLINE_CHAT_FOCUSED, CTX_INLINE_CHAT_RESPONSE_FOCUSED, inlineChatBackground, inlineChatForeground } from 'vs/workbench/contrib/inlineChat/common/inlineChat'; import { ChatWidget, IChatWidgetLocationOptions } from 'vs/workbench/contrib/chat/browser/chatWidget'; import { chatRequestBackground } from 'vs/workbench/contrib/chat/common/chatColors'; import { Selection } from 'vs/editor/common/core/selection'; @@ -47,7 +46,6 @@ import { getDefaultHoverDelegate } from 'vs/base/browser/ui/hover/hoverDelegateF import { ServiceCollection } from 'vs/platform/instantiation/common/serviceCollection'; import { IHoverService } from 'vs/platform/hover/browser/hover'; import { IChatWidgetViewOptions } from 'vs/workbench/contrib/chat/browser/chat'; -import { TextOnlyMenuEntryActionViewItem } from 'vs/platform/actions/browser/menuEntryActionViewItem'; export interface InlineChatWidgetViewState { @@ -89,7 +87,6 @@ export class InlineChatWidget { h('div.accessibleViewer@accessibleViewer'), h('div.status@status', [ h('div.label.info.hidden@infoLabel'), - h('div.actions.text-style.hidden@toolbar1'), h('div.actions.button-style.hidden@toolbar2'), h('div.label.status.hidden@statusLabel'), ]), @@ -196,19 +193,6 @@ export class InlineChatWidget { const statusMenuId = options.statusMenuId instanceof MenuId ? options.statusMenuId : options.statusMenuId.menu; - // TEXT-ONLY bar - const statusToolbarMenu = scopedInstaService.createInstance(MenuWorkbenchToolBar, this._elements.toolbar1, statusMenuId, { - hiddenItemStrategy: HiddenItemStrategy.NoHide, - telemetrySource: options.chatWidgetViewOptions?.menus?.telemetrySource, - actionViewItemProvider: action => action instanceof MenuItemAction ? this._instantiationService.createInstance(TextOnlyMenuEntryActionViewItem, action, { conversational: true }) : undefined, - toolbarOptions: { primaryGroup: '0_main' }, - menuOptions: { renderShortTitle: true }, - label: true, - icon: false - }); - this._store.add(statusToolbarMenu.onDidChangeMenuItems(() => this._onDidChangeHeight.fire())); - this._store.add(statusToolbarMenu); - // BUTTON bar const statusMenuOptions = options.statusMenuId instanceof MenuId ? undefined : options.statusMenuId.options; const statusButtonBar = scopedInstaService.createInstance(MenuWorkbenchButtonBar, this._elements.toolbar2, statusMenuId, { @@ -220,10 +204,6 @@ export class InlineChatWidget { this._store.add(statusButtonBar.onDidChange(() => this._onDidChangeHeight.fire())); this._store.add(statusButtonBar); - const toggleToolbar = () => this._elements.status.classList.toggle('text', this._configurationService.getValue(InlineChatConfigKeys.ExpTextButtons)); - this._store.add(this._configurationService.onDidChangeConfiguration(e => e.affectsConfiguration(InlineChatConfigKeys.ExpTextButtons) && toggleToolbar())); - toggleToolbar(); - this._store.add(this._configurationService.onDidChangeConfiguration(e => { if (e.affectsConfiguration(AccessibilityVerbositySettingId.InlineChat)) { @@ -373,7 +353,6 @@ export class InlineChatWidget { updateToolbar(show: boolean) { this._elements.root.classList.toggle('toolbar', show); - this._elements.toolbar1.classList.toggle('hidden', !show); this._elements.toolbar2.classList.toggle('hidden', !show); this._elements.status.classList.toggle('actions', show); this._elements.infoLabel.classList.toggle('hidden', show); @@ -505,7 +484,6 @@ export class InlineChatWidget { reset(this._elements.statusLabel); this._elements.statusLabel.classList.toggle('hidden', true); - this._elements.toolbar1.classList.add('hidden'); this._elements.toolbar2.classList.add('hidden'); this.updateInfo(''); diff --git a/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.ts b/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.ts index adc3b413558..0f5da62da94 100644 --- a/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.ts +++ b/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.ts @@ -14,7 +14,7 @@ import { ZoneWidget } from 'vs/editor/contrib/zoneWidget/browser/zoneWidget'; import { localize } from 'vs/nls'; import { IContextKey, IContextKeyService } from 'vs/platform/contextkey/common/contextkey'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; -import { ACTION_ACCEPT_CHANGES, ACTION_REGENERATE_RESPONSE, ACTION_TOGGLE_DIFF, CTX_INLINE_CHAT_OUTER_CURSOR_POSITION, EditMode, InlineChatConfigKeys, MENU_INLINE_CHAT_EXECUTE, MENU_INLINE_CHAT_WIDGET_STATUS } from 'vs/workbench/contrib/inlineChat/common/inlineChat'; +import { ACTION_ACCEPT_CHANGES, ACTION_REGENERATE_RESPONSE, ACTION_TOGGLE_DIFF, CTX_INLINE_CHAT_OUTER_CURSOR_POSITION, EditMode, InlineChatConfigKeys, MENU_INLINE_CHAT_WIDGET_STATUS } from 'vs/workbench/contrib/inlineChat/common/inlineChat'; import { EditorBasedInlineChatWidget } from './inlineChatWidget'; import { isEqual } from 'vs/base/common/resources'; import { StableEditorBottomScrollState } from 'vs/editor/browser/stableEditorScroll'; @@ -22,6 +22,7 @@ import { ScrollType } from 'vs/editor/common/editorCommon'; import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; import { ILogService } from 'vs/platform/log/common/log'; import { IChatWidgetLocationOptions } from 'vs/workbench/contrib/chat/browser/chatWidget'; +import { MenuId } from 'vs/platform/actions/common/actions'; export class InlineChatZoneWidget extends ZoneWidget { @@ -50,20 +51,21 @@ export class InlineChatZoneWidget extends ZoneWidget { statusMenuId: { menu: MENU_INLINE_CHAT_WIDGET_STATUS, options: { - buttonConfigProvider: action => { + buttonConfigProvider: (action, index) => { + const isSecondary = index > 0; if (new Set([ACTION_REGENERATE_RESPONSE, ACTION_TOGGLE_DIFF]).has(action.id)) { - return { isSecondary: true, showIcon: true, showLabel: false }; + return { isSecondary, showIcon: true, showLabel: false }; } else if (action.id === ACTION_ACCEPT_CHANGES) { - return { isSecondary: false }; + return { isSecondary }; } else { - return { isSecondary: true }; + return { isSecondary }; } } } }, chatWidgetViewOptions: { menus: { - executeToolbar: MENU_INLINE_CHAT_EXECUTE, + executeToolbar: MenuId.ChatExecute, telemetrySource: 'interactiveEditorWidget-toolbar', }, rendererOptions: { diff --git a/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css b/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css index a6b855ff046..0395f2fe091 100644 --- a/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css +++ b/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css @@ -69,7 +69,7 @@ display: flex; justify-content: space-between; align-items: center; - padding: 4px 6px 0 6px + padding: 6px 6px 0 6px } .monaco-workbench .inline-chat .status .actions.hidden { @@ -121,29 +121,6 @@ .actions-container { gap: 3px } - - .action-item.text-only .action-label { - font-size: 12px; - line-height: 16px; - padding: 0 4px; - border-radius: 2px; - } - - .monaco-action-bar .action-item.menu-entry.text-only + .action-item:not(.text-only) > .monaco-dropdown .action-label { - font-size: 12px; - line-height: 16px; - width: unset; - height: unset; - } -} - -.monaco-workbench .inline-chat .status .actions, -.monaco-workbench .inline-chat-content-widget.contents .toolbar { - - .monaco-action-bar .action-item.menu-entry.text-only:first-of-type .action-label{ - color: var(--vscode-button-foreground); - background-color: var(--vscode-button-background); - } } .monaco-workbench .inline-chat .status { @@ -155,15 +132,6 @@ } } -.monaco-workbench .inline-chat .status.text { - .actions.text-style { - display: inherit; - } - .actions.button-style { - display: none; - } -} - .monaco-workbench .inline-chat .status .actions > .monaco-button, .monaco-workbench .inline-chat .status .actions > .monaco-button-dropdown { margin-right: 4px; @@ -230,11 +198,6 @@ background-color: var(--vscode-diffEditor-insertedTextBackground); } -.monaco-workbench .inline-chat-block-selection { - background-color: var(--vscode-inlineChat-regionHighlight); -} - - /* gutter decoration */ .monaco-workbench .glyph-margin-widgets .cgmr.codicon-inline-chat-opaque, diff --git a/src/vs/workbench/contrib/inlineChat/common/inlineChat.ts b/src/vs/workbench/contrib/inlineChat/common/inlineChat.ts index b4c754b1759..5655fc11bf3 100644 --- a/src/vs/workbench/contrib/inlineChat/common/inlineChat.ts +++ b/src/vs/workbench/contrib/inlineChat/common/inlineChat.ts @@ -6,7 +6,7 @@ import { localize } from 'vs/nls'; import { MenuId } from 'vs/platform/actions/common/actions'; import { Extensions, IConfigurationRegistry } from 'vs/platform/configuration/common/configurationRegistry'; -import { ContextKeyExpr, RawContextKey } from 'vs/platform/contextkey/common/contextkey'; +import { RawContextKey } from 'vs/platform/contextkey/common/contextkey'; import { Registry } from 'vs/platform/registry/common/platform'; import { diffInserted, diffRemoved, editorWidgetBackground, editorWidgetBorder, editorWidgetForeground, focusBorder, inputBackground, inputPlaceholderForeground, registerColor, transparent, widgetShadow } from 'vs/platform/theme/common/colorRegistry'; @@ -17,8 +17,7 @@ export const enum InlineChatConfigKeys { FinishOnType = 'inlineChat.finishOnType', AcceptedOrDiscardBeforeSave = 'inlineChat.acceptedOrDiscardBeforeSave', HoldToSpeech = 'inlineChat.holdToSpeech', - AccessibleDiffView = 'inlineChat.accessibleDiffView', - ExpTextButtons = 'inlineChat.experimental.textButtons' + AccessibleDiffView = 'inlineChat.accessibleDiffView' } export const enum EditMode { @@ -65,13 +64,7 @@ Registry.as(Extensions.Configuration).registerConfigurat localize('accessibleDiffView.on', "The accessible diff viewer is always enabled."), localize('accessibleDiffView.off', "The accessible diff viewer is never enabled."), ], - }, - [InlineChatConfigKeys.ExpTextButtons]: { - description: localize('txtButtons', "Whether to use textual buttons."), - default: false, - type: 'boolean', - tags: ['experimental'] - }, + } } }); @@ -106,8 +99,6 @@ export const CTX_INLINE_CHAT_EDIT_MODE = new RawContextKey('config.inl export const CTX_INLINE_CHAT_REQUEST_IN_PROGRESS = new RawContextKey('inlineChatRequestInProgress', false, localize('inlineChatRequestInProgress', "Whether an inline chat request is currently in progress")); export const CTX_INLINE_CHAT_RESPONSE_TYPE = new RawContextKey('inlineChatResponseType', InlineChatResponseType.None, localize('inlineChatResponseTypes', "What type was the responses have been receieved, nothing yet, just messages, or messaged and local edits")); -export const CTX_INLINE_CHAT_CONFIG_TXT_BTNS = ContextKeyExpr.equals(`config.${[InlineChatConfigKeys.ExpTextButtons]}`, true); - // --- (selected) action identifier export const ACTION_ACCEPT_CHANGES = 'inlineChat.acceptChanges'; @@ -117,7 +108,6 @@ export const ACTION_TOGGLE_DIFF = 'inlineChat.toggleDiff'; // --- menus -export const MENU_INLINE_CHAT_EXECUTE = MenuId.for('inlineChat.execute'); export const MENU_INLINE_CHAT_CONTENT_STATUS = MenuId.for('inlineChat.content.status'); export const MENU_INLINE_CHAT_WIDGET_STATUS = MenuId.for('inlineChatWidget.status');