Skip to content

Commit e26cb0f

Browse files
CopilotTyriar
andcommitted
Add NewInNewWindow terminal command implementation
Co-authored-by: Tyriar <[email protected]>
1 parent fdd8f0d commit e26cb0f

File tree

3 files changed

+15
-1
lines changed

3 files changed

+15
-1
lines changed

src/vs/workbench/contrib/terminal/browser/terminalActions.ts

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ import { IConfigurationResolverService } from '../../../services/configurationRe
4747
import { ConfigurationResolverExpression } from '../../../services/configurationResolver/common/configurationResolverExpression.js';
4848
import { editorGroupToColumn } from '../../../services/editor/common/editorGroupColumn.js';
4949
import { IEditorGroupsService } from '../../../services/editor/common/editorGroupsService.js';
50-
import { SIDE_GROUP } from '../../../services/editor/common/editorService.js';
50+
import { AUX_WINDOW_GROUP, SIDE_GROUP } from '../../../services/editor/common/editorService.js';
5151
import { IWorkbenchEnvironmentService } from '../../../services/environment/common/environmentService.js';
5252
import { IPreferencesService } from '../../../services/preferences/common/preferences.js';
5353
import { IRemoteAgentService } from '../../../services/remote/common/remoteAgentService.js';
@@ -344,6 +344,17 @@ export function registerTerminalActions() {
344344
}
345345
});
346346

347+
registerTerminalAction({
348+
id: TerminalCommandId.NewInNewWindow,
349+
title: terminalStrings.newInNewWindow,
350+
run: async (c) => {
351+
const instance = await c.service.createTerminal({
352+
location: { viewColumn: AUX_WINDOW_GROUP }
353+
});
354+
await instance.focusWhenReady();
355+
}
356+
});
357+
347358
registerContextualInstanceAction({
348359
id: TerminalCommandId.MoveToEditor,
349360
title: terminalStrings.moveToEditor,

src/vs/workbench/contrib/terminal/common/terminal.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -480,6 +480,7 @@ export const enum TerminalCommandId {
480480
MoveToEditor = 'workbench.action.terminal.moveToEditor',
481481
MoveToTerminalPanel = 'workbench.action.terminal.moveToTerminalPanel',
482482
MoveIntoNewWindow = 'workbench.action.terminal.moveIntoNewWindow',
483+
NewInNewWindow = 'workbench.action.terminal.newInNewWindow',
483484
SetDimensions = 'workbench.action.terminal.setDimensions',
484485
FocusHover = 'workbench.action.terminal.focusHover',
485486
ShowEnvironmentContributions = 'workbench.action.terminal.showEnvironmentContributions',
@@ -513,6 +514,7 @@ export const DEFAULT_COMMANDS_TO_SKIP_SHELL: string[] = [
513514
TerminalCommandId.MoveToTerminalPanel,
514515
TerminalCommandId.NewInActiveWorkspace,
515516
TerminalCommandId.New,
517+
TerminalCommandId.NewInNewWindow,
516518
TerminalCommandId.Paste,
517519
TerminalCommandId.PasteSelection,
518520
TerminalCommandId.ResizePaneDown,

src/vs/workbench/contrib/terminal/common/terminalStrings.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ export const terminalStrings = {
2525
},
2626
moveToEditor: localize2('moveToEditor', "Move Terminal into Editor Area"),
2727
moveIntoNewWindow: localize2('moveIntoNewWindow', "Move Terminal into New Window"),
28+
newInNewWindow: localize2('newInNewWindow', "New Terminal in New Window"),
2829
moveToTerminalPanel: localize2('workbench.action.terminal.moveToTerminalPanel', "Move Terminal into Panel"),
2930
changeIcon: localize2('workbench.action.terminal.changeIcon', "Change Icon..."),
3031
changeColor: localize2('workbench.action.terminal.changeColor', "Change Color..."),

0 commit comments

Comments
 (0)