mirror of
https://github.com/microsoft/vscode.git
synced 2025-12-20 02:08:47 +00:00
@@ -65,6 +65,32 @@ export class CloseWindowAction extends Action2 {
|
||||
}
|
||||
}
|
||||
|
||||
export class CloseOtherWindowsAction extends Action2 {
|
||||
|
||||
private static readonly ID = 'workbench.action.closeOtherWindows';
|
||||
|
||||
constructor() {
|
||||
super({
|
||||
id: CloseOtherWindowsAction.ID,
|
||||
title: localize2('closeOtherWindows', "Close Other Windows"),
|
||||
f1: true
|
||||
});
|
||||
}
|
||||
|
||||
override async run(accessor: ServicesAccessor): Promise<void> {
|
||||
const nativeHostService = accessor.get(INativeHostService);
|
||||
|
||||
const currentWindowId = getActiveWindow().vscodeWindowId;
|
||||
const windows = await nativeHostService.getWindows({ includeAuxiliaryWindows: false });
|
||||
|
||||
for (const window of windows) {
|
||||
if (window.id !== currentWindowId) {
|
||||
nativeHostService.closeWindow({ targetWindowId: window.id });
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
abstract class BaseZoomAction extends Action2 {
|
||||
|
||||
private static readonly ZOOM_LEVEL_SETTING_KEY = 'window.zoomLevel';
|
||||
|
||||
@@ -10,7 +10,7 @@ import { IConfigurationRegistry, Extensions as ConfigurationExtensions, Configur
|
||||
import { KeyMod, KeyCode } from '../../base/common/keyCodes.js';
|
||||
import { isLinux, isMacintosh, isWindows } from '../../base/common/platform.js';
|
||||
import { ConfigureRuntimeArgumentsAction, ToggleDevToolsAction, ReloadWindowWithExtensionsDisabledAction, OpenUserDataFolderAction, ShowGPUInfoAction, StopTracing } from './actions/developerActions.js';
|
||||
import { ZoomResetAction, ZoomOutAction, ZoomInAction, CloseWindowAction, SwitchWindowAction, QuickSwitchWindowAction, NewWindowTabHandler, ShowPreviousWindowTabHandler, ShowNextWindowTabHandler, MoveWindowTabToNewWindowHandler, MergeWindowTabsHandlerHandler, ToggleWindowTabsBarHandler, ToggleWindowAlwaysOnTopAction, DisableWindowAlwaysOnTopAction, EnableWindowAlwaysOnTopAction } from './actions/windowActions.js';
|
||||
import { ZoomResetAction, ZoomOutAction, ZoomInAction, CloseWindowAction, SwitchWindowAction, QuickSwitchWindowAction, NewWindowTabHandler, ShowPreviousWindowTabHandler, ShowNextWindowTabHandler, MoveWindowTabToNewWindowHandler, MergeWindowTabsHandlerHandler, ToggleWindowTabsBarHandler, ToggleWindowAlwaysOnTopAction, DisableWindowAlwaysOnTopAction, EnableWindowAlwaysOnTopAction, CloseOtherWindowsAction } from './actions/windowActions.js';
|
||||
import { ContextKeyExpr } from '../../platform/contextkey/common/contextkey.js';
|
||||
import { KeybindingsRegistry, KeybindingWeight } from '../../platform/keybinding/common/keybindingsRegistry.js';
|
||||
import { CommandsRegistry } from '../../platform/commands/common/commands.js';
|
||||
@@ -41,6 +41,7 @@ import { MAX_ZOOM_LEVEL, MIN_ZOOM_LEVEL } from '../../platform/window/electron-b
|
||||
registerAction2(SwitchWindowAction);
|
||||
registerAction2(QuickSwitchWindowAction);
|
||||
registerAction2(CloseWindowAction);
|
||||
registerAction2(CloseOtherWindowsAction);
|
||||
registerAction2(ToggleWindowAlwaysOnTopAction);
|
||||
registerAction2(EnableWindowAlwaysOnTopAction);
|
||||
registerAction2(DisableWindowAlwaysOnTopAction);
|
||||
|
||||
Reference in New Issue
Block a user