mirror of
https://github.com/microsoft/vscode.git
synced 2026-04-23 10:08:49 +01:00
remove ExpTextButtons setting and logic but keep make buttons more dynamic (#225495)
This commit is contained in:
@@ -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<boolean>(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);
|
||||
|
||||
Reference in New Issue
Block a user