提交 2dc09277 编写于 作者: B Benjamin Pasero

Merge "Terminal" and "Task" menu (fixes #56836)

上级 f7b8c9b7
......@@ -242,16 +242,16 @@ export class CodeMenu {
const gotoMenuItem = new MenuItem({ label: this.mnemonicLabel(nls.localize({ key: 'mGoto', comment: ['&& denotes a mnemonic'] }, "&&Go")), submenu: gotoMenu });
this.setGotoMenu(gotoMenu);
// Terminal
const terminalMenu = new Menu();
const terminalMenuItem = new MenuItem({ label: this.mnemonicLabel(nls.localize({ key: 'mTerminal', comment: ['&& denotes a mnemonic'] }, "Ter&&minal")), submenu: terminalMenu });
this.setTerminalMenu(terminalMenu);
// Debug
const debugMenu = new Menu();
const debugMenuItem = new MenuItem({ label: this.mnemonicLabel(nls.localize({ key: 'mDebug', comment: ['&& denotes a mnemonic'] }, "&&Debug")), submenu: debugMenu });
this.setDebugMenu(debugMenu);
// Terminal
const terminalMenu = new Menu();
const terminalMenuItem = new MenuItem({ label: this.mnemonicLabel(nls.localize({ key: 'mTerminal', comment: ['&& denotes a mnemonic'] }, "&&Terminal")), submenu: terminalMenu });
this.setTerminalMenu(terminalMenu);
// Mac: Window
let macWindowMenuItem: Electron.MenuItem;
if (isMacintosh) {
......@@ -265,10 +265,6 @@ export class CodeMenu {
const helpMenuItem = new MenuItem({ label: this.mnemonicLabel(nls.localize({ key: 'mHelp', comment: ['&& denotes a mnemonic'] }, "&&Help")), submenu: helpMenu, role: 'help' });
this.setHelpMenu(helpMenu);
// Tasks
const taskMenu = new Menu();
const taskMenuItem = new MenuItem({ label: this.mnemonicLabel(nls.localize({ key: 'mTask', comment: ['&& denotes a mnemonic'] }, "&&Tasks")), submenu: taskMenu });
this.setTaskMenu(taskMenu);
// Menu Structure
if (macApplicationMenuItem) {
......@@ -280,9 +276,8 @@ export class CodeMenu {
menubar.append(selectionMenuItem);
menubar.append(viewMenuItem);
menubar.append(gotoMenuItem);
menubar.append(terminalMenuItem);
menubar.append(debugMenuItem);
menubar.append(taskMenuItem);
menubar.append(terminalMenuItem);
if (macWindowMenuItem) {
menubar.append(macWindowMenuItem);
......@@ -885,28 +880,33 @@ export class CodeMenu {
private setTerminalMenu(terminalMenu: Electron.Menu): void {
const newTerminal = this.createMenuItem(nls.localize({ key: 'miNewTerminal', comment: ['&& denotes a mnemonic'] }, "&&New Terminal"), 'workbench.action.terminal.new');
const splitTerminal = this.createMenuItem(nls.localize({ key: 'miSplitTerminal', comment: ['&& denotes a mnemonic'] }, "&&Split Terminal"), 'workbench.action.terminal.split');
const killTerminal = this.createMenuItem(nls.localize({ key: 'miKillTerminal', comment: ['&& denotes a mnemonic'] }, "&&Kill Terminal"), 'workbench.action.terminal.kill');
const clear = this.createMenuItem(nls.localize({ key: 'miClear', comment: ['&& denotes a mnemonic'] }, "&&Clear"), 'workbench.action.terminal.clear');
const runActiveFile = this.createMenuItem(nls.localize({ key: 'miRunActiveFile', comment: ['&& denotes a mnemonic'] }, "Run &&Active File"), 'workbench.action.terminal.runActiveFile');
const runSelectedText = this.createMenuItem(nls.localize({ key: 'miRunSelectedText', comment: ['&& denotes a mnemonic'] }, "Run &&Selected Text"), 'workbench.action.terminal.runSelectedText');
const scrollToPreviousCommand = this.createMenuItem(nls.localize({ key: 'miScrollToPreviousCommand', comment: ['&& denotes a mnemonic'] }, "Scroll To Previous Command"), 'workbench.action.terminal.scrollToPreviousCommand');
const scrollToNextCommand = this.createMenuItem(nls.localize({ key: 'miScrollToNextCommand', comment: ['&& denotes a mnemonic'] }, "Scroll To Next Command"), 'workbench.action.terminal.scrollToNextCommand');
const selectToPreviousCommand = this.createMenuItem(nls.localize({ key: 'miSelectToPreviousCommand', comment: ['&& denotes a mnemonic'] }, "Select To Previous Command"), 'workbench.action.terminal.selectToPreviousCommand');
const selectToNextCommand = this.createMenuItem(nls.localize({ key: 'miSelectToNextCommand', comment: ['&& denotes a mnemonic'] }, "Select To Next Command"), 'workbench.action.terminal.selectToNextCommand');
const runTask = this.createMenuItem(nls.localize({ key: 'miRunTask', comment: ['&& denotes a mnemonic'] }, "&&Run Task..."), 'workbench.action.tasks.runTask');
const buildTask = this.createMenuItem(nls.localize({ key: 'miBuildTask', comment: ['&& denotes a mnemonic'] }, "Run &&Build Task..."), 'workbench.action.tasks.build');
const showTasks = this.createMenuItem(nls.localize({ key: 'miRunningTask', comment: ['&& denotes a mnemonic'] }, "Show Runnin&&g Tasks..."), 'workbench.action.tasks.showTasks');
const restartTask = this.createMenuItem(nls.localize({ key: 'miRestartTask', comment: ['&& denotes a mnemonic'] }, "R&&estart Running Task..."), 'workbench.action.tasks.restartTask');
const terminateTask = this.createMenuItem(nls.localize({ key: 'miTerminateTask', comment: ['&& denotes a mnemonic'] }, "&&Terminate Task..."), 'workbench.action.tasks.terminate');
const configureTask = this.createMenuItem(nls.localize({ key: 'miConfigureTask', comment: ['&& denotes a mnemonic'] }, "&&Configure Tasks..."), 'workbench.action.tasks.configureTaskRunner');
const configureBuildTask = this.createMenuItem(nls.localize({ key: 'miConfigureBuildTask', comment: ['&& denotes a mnemonic'] }, "Configure De&&fault Build Task..."), 'workbench.action.tasks.configureDefaultBuildTask');
const menuItems: MenuItem[] = [
newTerminal,
splitTerminal,
killTerminal,
__separator__(),
clear,
runTask,
buildTask,
runActiveFile,
runSelectedText,
__separator__(),
scrollToPreviousCommand,
scrollToNextCommand,
selectToPreviousCommand,
selectToNextCommand
terminateTask,
restartTask,
showTasks,
__separator__(),
configureTask,
configureBuildTask
];
menuItems.forEach(item => terminalMenu.append(item));
......@@ -1087,29 +1087,6 @@ export class CodeMenu {
}
}
private setTaskMenu(taskMenu: Electron.Menu): void {
const runTask = this.createMenuItem(nls.localize({ key: 'miRunTask', comment: ['&& denotes a mnemonic'] }, "&&Run Task..."), 'workbench.action.tasks.runTask');
const buildTask = this.createMenuItem(nls.localize({ key: 'miBuildTask', comment: ['&& denotes a mnemonic'] }, "Run &&Build Task..."), 'workbench.action.tasks.build');
const showTasks = this.createMenuItem(nls.localize({ key: 'miRunningTask', comment: ['&& denotes a mnemonic'] }, "Show Runnin&&g Tasks..."), 'workbench.action.tasks.showTasks');
const restartTask = this.createMenuItem(nls.localize({ key: 'miRestartTask', comment: ['&& denotes a mnemonic'] }, "R&&estart Running Task..."), 'workbench.action.tasks.restartTask');
const terminateTask = this.createMenuItem(nls.localize({ key: 'miTerminateTask', comment: ['&& denotes a mnemonic'] }, "&&Terminate Task..."), 'workbench.action.tasks.terminate');
const configureTask = this.createMenuItem(nls.localize({ key: 'miConfigureTask', comment: ['&& denotes a mnemonic'] }, "&&Configure Tasks..."), 'workbench.action.tasks.configureTaskRunner');
const configureBuildTask = this.createMenuItem(nls.localize({ key: 'miConfigureBuildTask', comment: ['&& denotes a mnemonic'] }, "Configure De&&fault Build Task..."), 'workbench.action.tasks.configureDefaultBuildTask');
[
//__separator__(),
runTask,
buildTask,
__separator__(),
terminateTask,
restartTask,
showTasks,
__separator__(),
configureTask,
configureBuildTask
].forEach(item => taskMenu.append(item));
}
private openAccessibilityOptions(): void {
const win = new BrowserWindow({
alwaysOnTop: true,
......
......@@ -97,7 +97,6 @@ export class MenuId {
static readonly MenubarSwitchGroupMenu = new MenuId();
static readonly MenubarDebugMenu = new MenuId();
static readonly MenubarNewBreakpointMenu = new MenuId();
static readonly MenubarTasksMenu = new MenuId();
static readonly MenubarPreferencesMenu = new MenuId();
static readonly MenubarHelpMenu = new MenuId();
static readonly MenubarTerminalMenu = new MenuId();
......
......@@ -69,9 +69,8 @@ export class MenubarControl extends Disposable {
'Selection': IMenu;
'View': IMenu;
'Go': IMenu;
'Terminal': IMenu;
'Debug': IMenu;
'Tasks': IMenu;
'Terminal': IMenu;
'Window'?: IMenu;
'Help': IMenu;
[index: string]: IMenu;
......@@ -83,9 +82,8 @@ export class MenubarControl extends Disposable {
'Selection': nls.localize({ key: 'mSelection', comment: ['&& denotes a mnemonic'] }, "&&Selection"),
'View': nls.localize({ key: 'mView', comment: ['&& denotes a mnemonic'] }, "&&View"),
'Go': nls.localize({ key: 'mGoto', comment: ['&& denotes a mnemonic'] }, "&&Go"),
'Terminal': nls.localize({ key: 'mTerminal', comment: ['&& denotes a mnemonic'] }, "Ter&&minal"),
'Debug': nls.localize({ key: 'mDebug', comment: ['&& denotes a mnemonic'] }, "&&Debug"),
'Tasks': nls.localize({ key: 'mTasks', comment: ['&& denotes a mnemonic'] }, "&&Tasks"),
'Terminal': nls.localize({ key: 'mTerminal', comment: ['&& denotes a mnemonic'] }, "Ter&&minal"),
'Help': nls.localize({ key: 'mHelp', comment: ['&& denotes a mnemonic'] }, "&&Help")
};
......@@ -134,9 +132,8 @@ export class MenubarControl extends Disposable {
'Selection': this._register(this.menuService.createMenu(MenuId.MenubarSelectionMenu, this.contextKeyService)),
'View': this._register(this.menuService.createMenu(MenuId.MenubarViewMenu, this.contextKeyService)),
'Go': this._register(this.menuService.createMenu(MenuId.MenubarGoMenu, this.contextKeyService)),
'Terminal': this._register(this.menuService.createMenu(MenuId.MenubarTerminalMenu, this.contextKeyService)),
'Debug': this._register(this.menuService.createMenu(MenuId.MenubarDebugMenu, this.contextKeyService)),
'Tasks': this._register(this.menuService.createMenu(MenuId.MenubarTasksMenu, this.contextKeyService)),
'Terminal': this._register(this.menuService.createMenu(MenuId.MenubarTerminalMenu, this.contextKeyService)),
'Help': this._register(this.menuService.createMenu(MenuId.MenubarHelpMenu, this.contextKeyService))
};
......
......@@ -2419,8 +2419,8 @@ class TaskService implements ITaskService {
}
}
MenuRegistry.appendMenuItem(MenuId.MenubarTasksMenu, {
group: '1_run',
MenuRegistry.appendMenuItem(MenuId.MenubarTerminalMenu, {
group: '2_run',
command: {
id: 'workbench.action.tasks.runTask',
title: nls.localize({ key: 'miRunTask', comment: ['&& denotes a mnemonic'] }, "&&Run Task...")
......@@ -2428,8 +2428,8 @@ MenuRegistry.appendMenuItem(MenuId.MenubarTasksMenu, {
order: 1
});
MenuRegistry.appendMenuItem(MenuId.MenubarTasksMenu, {
group: '1_run',
MenuRegistry.appendMenuItem(MenuId.MenubarTerminalMenu, {
group: '2_run',
command: {
id: 'workbench.action.tasks.build',
title: nls.localize({ key: 'miBuildTask', comment: ['&& denotes a mnemonic'] }, "Run &&Build Task...")
......@@ -2438,8 +2438,8 @@ MenuRegistry.appendMenuItem(MenuId.MenubarTasksMenu, {
});
// Manage Tasks
MenuRegistry.appendMenuItem(MenuId.MenubarTasksMenu, {
group: '2_manage',
MenuRegistry.appendMenuItem(MenuId.MenubarTerminalMenu, {
group: '3_manage',
command: {
precondition: TASK_RUNNING_STATE,
id: 'workbench.action.tasks.showTasks',
......@@ -2448,8 +2448,8 @@ MenuRegistry.appendMenuItem(MenuId.MenubarTasksMenu, {
order: 1
});
MenuRegistry.appendMenuItem(MenuId.MenubarTasksMenu, {
group: '2_manage',
MenuRegistry.appendMenuItem(MenuId.MenubarTerminalMenu, {
group: '3_manage',
command: {
precondition: TASK_RUNNING_STATE,
id: 'workbench.action.tasks.restartTask',
......@@ -2458,8 +2458,8 @@ MenuRegistry.appendMenuItem(MenuId.MenubarTasksMenu, {
order: 2
});
MenuRegistry.appendMenuItem(MenuId.MenubarTasksMenu, {
group: '2_manage',
MenuRegistry.appendMenuItem(MenuId.MenubarTerminalMenu, {
group: '3_manage',
command: {
precondition: TASK_RUNNING_STATE,
id: 'workbench.action.tasks.terminate',
......@@ -2469,8 +2469,8 @@ MenuRegistry.appendMenuItem(MenuId.MenubarTasksMenu, {
});
// Configure Tasks
MenuRegistry.appendMenuItem(MenuId.MenubarTasksMenu, {
group: '3_configure',
MenuRegistry.appendMenuItem(MenuId.MenubarTerminalMenu, {
group: '4_configure',
command: {
id: 'workbench.action.tasks.configureTaskRunner',
title: nls.localize({ key: 'miConfigureTask', comment: ['&& denotes a mnemonic'] }, "&&Configure Tasks...")
......@@ -2478,8 +2478,8 @@ MenuRegistry.appendMenuItem(MenuId.MenubarTasksMenu, {
order: 1
});
MenuRegistry.appendMenuItem(MenuId.MenubarTasksMenu, {
group: '3_configure',
MenuRegistry.appendMenuItem(MenuId.MenubarTerminalMenu, {
group: '4_configure',
command: {
id: 'workbench.action.tasks.configureDefaultBuildTask',
title: nls.localize({ key: 'miConfigureBuildTask', comment: ['&& denotes a mnemonic'] }, "Configure De&&fault Build Task...")
......
......@@ -22,9 +22,9 @@ export function setupTerminalMenu() {
});
// Manage
const manageGroup = '1_manage';
const createGroup = '1_create';
MenuRegistry.appendMenuItem(MenuId.MenubarTerminalMenu, {
group: manageGroup,
group: createGroup,
command: {
id: TERMINAL_COMMAND_ID.NEW,
title: nls.localize({ key: 'miNewTerminal', comment: ['&& denotes a mnemonic'] }, "&&New Terminal")
......@@ -32,7 +32,7 @@ export function setupTerminalMenu() {
order: 1
});
MenuRegistry.appendMenuItem(MenuId.MenubarTerminalMenu, {
group: manageGroup,
group: createGroup,
command: {
id: TERMINAL_COMMAND_ID.SPLIT,
title: nls.localize({ key: 'miSplitTerminal', comment: ['&& denotes a mnemonic'] }, "&&Split Terminal"),
......@@ -41,34 +41,15 @@ export function setupTerminalMenu() {
order: 2
});
MenuRegistry.appendMenuItem(MenuId.MenubarTerminalMenu, {
group: manageGroup,
command: {
id: TERMINAL_COMMAND_ID.KILL,
title: nls.localize({ key: 'miKillTerminal', comment: ['&& denotes a mnemonic'] }, "&&Kill Terminal"),
precondition: ContextKeyExpr.has('terminalIsOpen')
},
order: 3
});
// Run
const runGroup = '2_run';
MenuRegistry.appendMenuItem(MenuId.MenubarTerminalMenu, {
group: runGroup,
command: {
id: TERMINAL_COMMAND_ID.CLEAR,
title: nls.localize({ key: 'miClear', comment: ['&& denotes a mnemonic'] }, "&&Clear"),
precondition: ContextKeyExpr.has('terminalIsOpen')
},
order: 1
});
MenuRegistry.appendMenuItem(MenuId.MenubarTerminalMenu, {
group: runGroup,
command: {
id: TERMINAL_COMMAND_ID.RUN_ACTIVE_FILE,
title: nls.localize({ key: 'miRunActiveFile', comment: ['&& denotes a mnemonic'] }, "Run &&Active File")
},
order: 2
order: 3
});
MenuRegistry.appendMenuItem(MenuId.MenubarTerminalMenu, {
group: runGroup,
......@@ -76,45 +57,6 @@ export function setupTerminalMenu() {
id: TERMINAL_COMMAND_ID.RUN_SELECTED_TEXT,
title: nls.localize({ key: 'miRunSelectedText', comment: ['&& denotes a mnemonic'] }, "Run &&Selected Text")
},
order: 3
});
// Navigation
const navigationGroup = '3_navigation';
MenuRegistry.appendMenuItem(MenuId.MenubarTerminalMenu, {
group: navigationGroup,
command: {
id: TERMINAL_COMMAND_ID.SCROLL_TO_PREVIOUS_COMMAND,
title: nls.localize({ key: 'miScrollToPreviousCommand', comment: ['&& denotes a mnemonic'] }, "Scroll To Previous Command"),
precondition: ContextKeyExpr.has('terminalIsOpen')
},
order: 1
});
MenuRegistry.appendMenuItem(MenuId.MenubarTerminalMenu, {
group: navigationGroup,
command: {
id: TERMINAL_COMMAND_ID.SCROLL_TO_NEXT_COMMAND,
title: nls.localize({ key: 'miScrollToNextCommand', comment: ['&& denotes a mnemonic'] }, "Scroll To Next Command"),
precondition: ContextKeyExpr.has('terminalIsOpen')
},
order: 2
});
MenuRegistry.appendMenuItem(MenuId.MenubarTerminalMenu, {
group: navigationGroup,
command: {
id: TERMINAL_COMMAND_ID.SELECT_TO_PREVIOUS_COMMAND,
title: nls.localize({ key: 'miSelectToPreviousCommand', comment: ['&& denotes a mnemonic'] }, "Select To Previous Command"),
precondition: ContextKeyExpr.has('terminalIsOpen')
},
order: 3
});
MenuRegistry.appendMenuItem(MenuId.MenubarTerminalMenu, {
group: navigationGroup,
command: {
id: TERMINAL_COMMAND_ID.SELECT_TO_NEXT_COMMAND,
title: nls.localize({ key: 'miSelectToNextCommand', comment: ['&& denotes a mnemonic'] }, "Select To Next Command"),
precondition: ContextKeyExpr.has('terminalIsOpen')
},
order: 4
});
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册