From 1df6f8d37bd74bb64ccda8ac285d0f0ffb6fda1f Mon Sep 17 00:00:00 2001 From: pengxingjian Date: Fri, 18 Jul 2025 17:13:26 +0800 Subject: [PATCH 1/2] fix: get close tab shortcut from key-binding-registry --- .../design/src/browser/override/editor-tab.service.tsx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/design/src/browser/override/editor-tab.service.tsx b/packages/design/src/browser/override/editor-tab.service.tsx index a801537498..01933a3a7d 100644 --- a/packages/design/src/browser/override/editor-tab.service.tsx +++ b/packages/design/src/browser/override/editor-tab.service.tsx @@ -1,6 +1,7 @@ import cls from 'classnames'; import React, { ReactNode, useCallback, useMemo } from 'react'; +import { KeybindingRegistry, useInjectable } from '@opensumi/ide-core-browser'; import { Autowired, Injectable } from '@opensumi/di'; import { Popover, PopoverPosition } from '@opensumi/ide-core-browser/lib/components'; import { LayoutViewSizeConfig } from '@opensumi/ide-core-browser/lib/layout/constants'; @@ -19,7 +20,11 @@ const EditorTabCloseComponent = (props) => { setDisplay(false); }, []); - const title = useMemo(() => formatLocalize('editor.closeTab.title', isMacintosh ? '⌘W' : 'Ctrl+W'), []); + const keybindingRegistry = useInjectable(KeybindingRegistry); + const keyBinds = keybindingRegistry.getKeybindingsForCommand('editor.close'); + const keyBinding = keyBinds && keyBinds[0]; + const shortCut = keyBinding ? keybindingRegistry.acceleratorFor(keyBinding, ' ') : isMacintosh ? '⌘W' : 'Ctrl+W'; + const title = useMemo(() => formatLocalize('editor.closeTab.title', shortCut), []); return ( Date: Wed, 23 Jul 2025 21:51:49 +0800 Subject: [PATCH 2/2] :bug: lint err of import order --- packages/design/src/browser/override/editor-tab.service.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/design/src/browser/override/editor-tab.service.tsx b/packages/design/src/browser/override/editor-tab.service.tsx index 01933a3a7d..97f52fcb61 100644 --- a/packages/design/src/browser/override/editor-tab.service.tsx +++ b/packages/design/src/browser/override/editor-tab.service.tsx @@ -1,8 +1,8 @@ import cls from 'classnames'; import React, { ReactNode, useCallback, useMemo } from 'react'; -import { KeybindingRegistry, useInjectable } from '@opensumi/ide-core-browser'; import { Autowired, Injectable } from '@opensumi/di'; +import { KeybindingRegistry, useInjectable } from '@opensumi/ide-core-browser'; import { Popover, PopoverPosition } from '@opensumi/ide-core-browser/lib/components'; import { LayoutViewSizeConfig } from '@opensumi/ide-core-browser/lib/layout/constants'; import { formatLocalize, isMacintosh, uuid } from '@opensumi/ide-core-common'; @@ -29,7 +29,7 @@ const EditorTabCloseComponent = (props) => { return (