@codingame/monaco-vscode-xterm-common 24.3.0 → 25.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +4 -4
- package/vscode/src/vs/workbench/contrib/terminal/browser/environmentVariableInfo.js +5 -5
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalActions.js +75 -71
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalIconPicker.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalInstance.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalInstance.js +80 -35
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalProcessManager.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalTabsList.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalTabsList.js +39 -37
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalTooltip.d.ts +2 -3
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalTooltip.js +6 -50
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat.js +9 -9
- package/vscode/src/vs/workbench/contrib/terminalContrib/stickyScroll/browser/terminalStickyScrollColorRegistry.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/stickyScroll/browser/terminalStickyScrollOverlay.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/stickyScroll/browser/terminalStickyScrollOverlay.js +12 -10
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codingame/monaco-vscode-xterm-common",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "25.0.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "VSCode public API plugged on the monaco editor - common package depending on xterm",
|
|
6
6
|
"keywords": [],
|
|
@@ -15,9 +15,9 @@
|
|
|
15
15
|
},
|
|
16
16
|
"type": "module",
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@codingame/monaco-vscode-api": "
|
|
19
|
-
"@codingame/monaco-vscode-xterm-addons-common": "
|
|
20
|
-
"@xterm/xterm": "
|
|
18
|
+
"@codingame/monaco-vscode-api": "25.0.0",
|
|
19
|
+
"@codingame/monaco-vscode-xterm-addons-common": "25.0.0",
|
|
20
|
+
"@xterm/xterm": "6.1.0-beta.97"
|
|
21
21
|
},
|
|
22
22
|
"exports": {
|
|
23
23
|
".": {
|
|
@@ -24,7 +24,7 @@ let EnvironmentVariableInfoStale = class EnvironmentVariableInfoStale {
|
|
|
24
24
|
addExtensionIdentifiers(extSet, ( this._diff.removed.values()));
|
|
25
25
|
addExtensionIdentifiers(extSet, ( this._diff.changed.values()));
|
|
26
26
|
let message = ( localize(
|
|
27
|
-
|
|
27
|
+
11494,
|
|
28
28
|
"The following extensions want to relaunch the terminal to contribute to its environment:"
|
|
29
29
|
));
|
|
30
30
|
message += getMergedDescription(this._collection, scope, this._extensionService, extSet);
|
|
@@ -32,7 +32,7 @@ let EnvironmentVariableInfoStale = class EnvironmentVariableInfoStale {
|
|
|
32
32
|
}
|
|
33
33
|
_getActions() {
|
|
34
34
|
return [{
|
|
35
|
-
label: ( localize(
|
|
35
|
+
label: ( localize(11495, "Relaunch Terminal")),
|
|
36
36
|
run: () => this._terminalService.getInstanceFromId(this._terminalId)?.relaunch(),
|
|
37
37
|
commandId: TerminalCommandId.Relaunch
|
|
38
38
|
}];
|
|
@@ -62,7 +62,7 @@ let EnvironmentVariableInfoChangesActive = class EnvironmentVariableInfoChangesA
|
|
|
62
62
|
const extSet = ( new Set());
|
|
63
63
|
addExtensionIdentifiers(extSet, ( this._collection.getVariableMap(scope).values()));
|
|
64
64
|
let message = ( localize(
|
|
65
|
-
|
|
65
|
+
11496,
|
|
66
66
|
"The following extensions have contributed to this terminal's environment:"
|
|
67
67
|
));
|
|
68
68
|
message += getMergedDescription(this._collection, scope, this._extensionService, extSet);
|
|
@@ -70,7 +70,7 @@ let EnvironmentVariableInfoChangesActive = class EnvironmentVariableInfoChangesA
|
|
|
70
70
|
}
|
|
71
71
|
_getActions(scope) {
|
|
72
72
|
return [{
|
|
73
|
-
label: ( localize(
|
|
73
|
+
label: ( localize(11497, "Show Environment Contributions")),
|
|
74
74
|
run: () => this._commandService.executeCommand(TerminalCommandId.ShowEnvironmentContributions, scope),
|
|
75
75
|
commandId: TerminalCommandId.ShowEnvironmentContributions
|
|
76
76
|
}];
|
|
@@ -101,7 +101,7 @@ function getMergedDescription(collection, scope, extensionService, extSet) {
|
|
|
101
101
|
}
|
|
102
102
|
const workspaceDescription = workspaceDescriptions.get(ext);
|
|
103
103
|
if (workspaceDescription) {
|
|
104
|
-
const workspaceSuffix = globalDescription ? ` (${( localize(
|
|
104
|
+
const workspaceSuffix = globalDescription ? ` (${( localize(11498, 'workspace'))})` : '';
|
|
105
105
|
message.push(`\n- \`${getExtensionName(ext, extensionService)}${workspaceSuffix}\``);
|
|
106
106
|
message.push(`: ${workspaceDescription}`);
|
|
107
107
|
}
|
|
@@ -43,7 +43,7 @@ import { IConfigurationResolverService } from '@codingame/monaco-vscode-api/vsco
|
|
|
43
43
|
import { ConfigurationResolverExpression } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/configurationResolver/common/configurationResolverExpression';
|
|
44
44
|
import { editorGroupToColumn } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorGroupColumn';
|
|
45
45
|
import { IEditorGroupsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorGroupsService.service';
|
|
46
|
-
import { SIDE_GROUP, AUX_WINDOW_GROUP } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService';
|
|
46
|
+
import { ACTIVE_GROUP, SIDE_GROUP, AUX_WINDOW_GROUP } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService';
|
|
47
47
|
import { IWorkbenchEnvironmentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/environment/common/environmentService.service';
|
|
48
48
|
import { IPreferencesService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/preferences/common/preferences.service';
|
|
49
49
|
import { IRemoteAgentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/remote/common/remoteAgentService.service';
|
|
@@ -63,7 +63,7 @@ import { ResourceContextKey } from '@codingame/monaco-vscode-api/vscode/vs/workb
|
|
|
63
63
|
import { SeparatorSelectOption } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/selectBox/selectBox';
|
|
64
64
|
import Severity from '@codingame/monaco-vscode-api/vscode/vs/base/common/severity';
|
|
65
65
|
|
|
66
|
-
const switchTerminalShowTabsTitle = ( localize(
|
|
66
|
+
const switchTerminalShowTabsTitle = ( localize(11501, "Show Tabs"));
|
|
67
67
|
const category = terminalStrings.actionCategory;
|
|
68
68
|
const sharedWhenClause = (() => {
|
|
69
69
|
const terminalAvailable = ( ContextKeyExpr.or(
|
|
@@ -87,7 +87,7 @@ async function getCwdForSplit(instance, folders, commandService, configService)
|
|
|
87
87
|
}
|
|
88
88
|
else if (folders.length > 1) {
|
|
89
89
|
const options = {
|
|
90
|
-
placeHolder: ( localize(
|
|
90
|
+
placeHolder: ( localize(11502, "Select current working directory for new terminal"))
|
|
91
91
|
};
|
|
92
92
|
const workspace = await commandService.executeCommand(PICK_WORKSPACE_FOLDER_COMMAND_ID, [options]);
|
|
93
93
|
if (!workspace) {
|
|
@@ -105,7 +105,7 @@ async function getCwdForSplit(instance, folders, commandService, configService)
|
|
|
105
105
|
}
|
|
106
106
|
let TerminalLaunchHelpAction = class TerminalLaunchHelpAction extends Action {
|
|
107
107
|
constructor(_openerService) {
|
|
108
|
-
super('workbench.action.terminal.launchHelp', ( localize(
|
|
108
|
+
super('workbench.action.terminal.launchHelp', ( localize(11503, "Open Help")));
|
|
109
109
|
this._openerService = _openerService;
|
|
110
110
|
}
|
|
111
111
|
async run() {
|
|
@@ -213,7 +213,7 @@ function getTerminalServices(accessor) {
|
|
|
213
213
|
function registerTerminalActions() {
|
|
214
214
|
registerTerminalAction({
|
|
215
215
|
id: TerminalCommandId.NewInActiveWorkspace,
|
|
216
|
-
title: ( localize2(
|
|
216
|
+
title: ( localize2(11504, 'Create New Terminal (In Active Workspace)')),
|
|
217
217
|
run: async (c) => {
|
|
218
218
|
if (c.service.isProcessSupportRegistered) {
|
|
219
219
|
const instance = await c.service.createTerminal({ location: c.configService.defaultLocation });
|
|
@@ -228,19 +228,19 @@ function registerTerminalActions() {
|
|
|
228
228
|
refreshTerminalActions([]);
|
|
229
229
|
registerTerminalAction({
|
|
230
230
|
id: TerminalCommandId.CreateTerminalEditor,
|
|
231
|
-
title: ( localize2(
|
|
231
|
+
title: ( localize2(11505, 'Create New Terminal in Editor Area')),
|
|
232
232
|
run: async (c, _, args) => {
|
|
233
233
|
function isCreateTerminalOptions(obj) {
|
|
234
234
|
return isObject(obj) && 'location' in obj;
|
|
235
235
|
}
|
|
236
|
-
const options = isCreateTerminalOptions(args) ? args : { location:
|
|
236
|
+
const options = isCreateTerminalOptions(args) ? args : { location: { viewColumn: ACTIVE_GROUP } };
|
|
237
237
|
const instance = await c.service.createTerminal(options);
|
|
238
238
|
await instance.focusWhenReady();
|
|
239
239
|
}
|
|
240
240
|
});
|
|
241
241
|
registerTerminalAction({
|
|
242
242
|
id: TerminalCommandId.CreateTerminalEditorSameGroup,
|
|
243
|
-
title: ( localize2(
|
|
243
|
+
title: ( localize2(11505, 'Create New Terminal in Editor Area')),
|
|
244
244
|
f1: false,
|
|
245
245
|
run: async (c, accessor, args) => {
|
|
246
246
|
const editorGroupsService = accessor.get(IEditorGroupsService);
|
|
@@ -254,7 +254,7 @@ function registerTerminalActions() {
|
|
|
254
254
|
});
|
|
255
255
|
registerTerminalAction({
|
|
256
256
|
id: TerminalCommandId.CreateTerminalEditorSide,
|
|
257
|
-
title: ( localize2(
|
|
257
|
+
title: ( localize2(11506, 'Create New Terminal in Editor Area to the Side')),
|
|
258
258
|
run: async (c) => {
|
|
259
259
|
const instance = await c.service.createTerminal({
|
|
260
260
|
location: { viewColumn: SIDE_GROUP }
|
|
@@ -309,7 +309,7 @@ function registerTerminalActions() {
|
|
|
309
309
|
});
|
|
310
310
|
registerTerminalAction({
|
|
311
311
|
id: TerminalCommandId.FocusPreviousPane,
|
|
312
|
-
title: ( localize2(
|
|
312
|
+
title: ( localize2(11507, 'Focus Previous Terminal in Terminal Group')),
|
|
313
313
|
keybinding: {
|
|
314
314
|
primary: KeyMod.Alt | KeyCode.LeftArrow,
|
|
315
315
|
secondary: [KeyMod.Alt | KeyCode.UpArrow],
|
|
@@ -328,7 +328,7 @@ function registerTerminalActions() {
|
|
|
328
328
|
});
|
|
329
329
|
registerTerminalAction({
|
|
330
330
|
id: TerminalCommandId.FocusNextPane,
|
|
331
|
-
title: ( localize2(
|
|
331
|
+
title: ( localize2(11508, 'Focus Next Terminal in Terminal Group')),
|
|
332
332
|
keybinding: {
|
|
333
333
|
primary: KeyMod.Alt | KeyCode.RightArrow,
|
|
334
334
|
secondary: [KeyMod.Alt | KeyCode.DownArrow],
|
|
@@ -347,7 +347,7 @@ function registerTerminalActions() {
|
|
|
347
347
|
});
|
|
348
348
|
registerTerminalAction({
|
|
349
349
|
id: TerminalCommandId.ResizePaneLeft,
|
|
350
|
-
title: ( localize2(
|
|
350
|
+
title: ( localize2(11509, 'Resize Terminal Left')),
|
|
351
351
|
keybinding: {
|
|
352
352
|
linux: { primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.LeftArrow },
|
|
353
353
|
mac: { primary: KeyMod.CtrlCmd | KeyMod.WinCtrl | KeyCode.LeftArrow },
|
|
@@ -359,7 +359,7 @@ function registerTerminalActions() {
|
|
|
359
359
|
});
|
|
360
360
|
registerTerminalAction({
|
|
361
361
|
id: TerminalCommandId.ResizePaneRight,
|
|
362
|
-
title: ( localize2(
|
|
362
|
+
title: ( localize2(11510, 'Resize Terminal Right')),
|
|
363
363
|
keybinding: {
|
|
364
364
|
linux: { primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.RightArrow },
|
|
365
365
|
mac: { primary: KeyMod.CtrlCmd | KeyMod.WinCtrl | KeyCode.RightArrow },
|
|
@@ -371,7 +371,7 @@ function registerTerminalActions() {
|
|
|
371
371
|
});
|
|
372
372
|
registerTerminalAction({
|
|
373
373
|
id: TerminalCommandId.ResizePaneUp,
|
|
374
|
-
title: ( localize2(
|
|
374
|
+
title: ( localize2(11511, 'Resize Terminal Up')),
|
|
375
375
|
keybinding: {
|
|
376
376
|
mac: { primary: KeyMod.CtrlCmd | KeyMod.WinCtrl | KeyCode.UpArrow },
|
|
377
377
|
when: TerminalContextKeys.focus,
|
|
@@ -382,7 +382,7 @@ function registerTerminalActions() {
|
|
|
382
382
|
});
|
|
383
383
|
registerTerminalAction({
|
|
384
384
|
id: TerminalCommandId.ResizePaneDown,
|
|
385
|
-
title: ( localize2(
|
|
385
|
+
title: ( localize2(11512, 'Resize Terminal Down')),
|
|
386
386
|
keybinding: {
|
|
387
387
|
mac: { primary: KeyMod.CtrlCmd | KeyMod.WinCtrl | KeyCode.DownArrow },
|
|
388
388
|
when: TerminalContextKeys.focus,
|
|
@@ -410,12 +410,12 @@ function registerTerminalActions() {
|
|
|
410
410
|
return;
|
|
411
411
|
}
|
|
412
412
|
c.service.setActiveInstance(instance);
|
|
413
|
-
focusActiveTerminal(instance, c);
|
|
413
|
+
await focusActiveTerminal(instance, c);
|
|
414
414
|
}
|
|
415
415
|
});
|
|
416
416
|
registerTerminalAction({
|
|
417
417
|
id: TerminalCommandId.FocusTabs,
|
|
418
|
-
title: ( localize2(
|
|
418
|
+
title: ( localize2(11513, 'Focus Terminal Tabs View')),
|
|
419
419
|
keybinding: {
|
|
420
420
|
primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.Backslash,
|
|
421
421
|
weight: KeybindingWeight.WorkbenchContrib,
|
|
@@ -426,7 +426,7 @@ function registerTerminalActions() {
|
|
|
426
426
|
});
|
|
427
427
|
registerTerminalAction({
|
|
428
428
|
id: TerminalCommandId.FocusNext,
|
|
429
|
-
title: ( localize2(
|
|
429
|
+
title: ( localize2(11514, 'Focus Next Terminal Group')),
|
|
430
430
|
precondition: sharedWhenClause.terminalAvailable,
|
|
431
431
|
keybinding: {
|
|
432
432
|
primary: KeyMod.CtrlCmd | KeyCode.PageDown,
|
|
@@ -443,7 +443,7 @@ function registerTerminalActions() {
|
|
|
443
443
|
});
|
|
444
444
|
registerTerminalAction({
|
|
445
445
|
id: TerminalCommandId.FocusPrevious,
|
|
446
|
-
title: ( localize2(
|
|
446
|
+
title: ( localize2(11515, 'Focus Previous Terminal Group')),
|
|
447
447
|
precondition: sharedWhenClause.terminalAvailable,
|
|
448
448
|
keybinding: {
|
|
449
449
|
primary: KeyMod.CtrlCmd | KeyCode.PageUp,
|
|
@@ -460,7 +460,7 @@ function registerTerminalActions() {
|
|
|
460
460
|
});
|
|
461
461
|
registerTerminalAction({
|
|
462
462
|
id: TerminalCommandId.RunSelectedText,
|
|
463
|
-
title: ( localize2(
|
|
463
|
+
title: ( localize2(11516, 'Run Selected Text In Active Terminal')),
|
|
464
464
|
run: async (c, accessor) => {
|
|
465
465
|
const codeEditorService = accessor.get(ICodeEditorService);
|
|
466
466
|
const editor = codeEditorService.getActiveCodeEditor();
|
|
@@ -483,7 +483,7 @@ function registerTerminalActions() {
|
|
|
483
483
|
});
|
|
484
484
|
registerTerminalAction({
|
|
485
485
|
id: TerminalCommandId.RunActiveFile,
|
|
486
|
-
title: ( localize2(
|
|
486
|
+
title: ( localize2(11517, 'Run Active File In Active Terminal')),
|
|
487
487
|
precondition: sharedWhenClause.terminalAvailable,
|
|
488
488
|
run: async (c, accessor) => {
|
|
489
489
|
const codeEditorService = accessor.get(ICodeEditorService);
|
|
@@ -497,7 +497,7 @@ function registerTerminalActions() {
|
|
|
497
497
|
const isRemote = instance ? instance.hasRemoteAuthority : (workbenchEnvironmentService.remoteAuthority ? true : false);
|
|
498
498
|
const uri = editor.getModel().uri;
|
|
499
499
|
if ((!isRemote && uri.scheme !== Schemas.file && uri.scheme !== Schemas.vscodeUserData) || (isRemote && uri.scheme !== Schemas.vscodeRemote)) {
|
|
500
|
-
notificationService.warn(( localize(
|
|
500
|
+
notificationService.warn(( localize(11518, 'Only files on disk can be run in the terminal')));
|
|
501
501
|
return;
|
|
502
502
|
}
|
|
503
503
|
await instance.sendPath(uri, true);
|
|
@@ -506,7 +506,7 @@ function registerTerminalActions() {
|
|
|
506
506
|
});
|
|
507
507
|
registerActiveXtermAction({
|
|
508
508
|
id: TerminalCommandId.ScrollDownLine,
|
|
509
|
-
title: ( localize2(
|
|
509
|
+
title: ( localize2(11519, 'Scroll Down (Line)')),
|
|
510
510
|
keybinding: {
|
|
511
511
|
primary: KeyMod.CtrlCmd | KeyMod.Alt | KeyCode.PageDown,
|
|
512
512
|
linux: { primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.DownArrow },
|
|
@@ -518,7 +518,7 @@ function registerTerminalActions() {
|
|
|
518
518
|
});
|
|
519
519
|
registerActiveXtermAction({
|
|
520
520
|
id: TerminalCommandId.ScrollDownPage,
|
|
521
|
-
title: ( localize2(
|
|
521
|
+
title: ( localize2(11520, 'Scroll Down (Page)')),
|
|
522
522
|
keybinding: {
|
|
523
523
|
primary: KeyMod.Shift | KeyCode.PageDown,
|
|
524
524
|
mac: { primary: KeyCode.PageDown },
|
|
@@ -530,7 +530,7 @@ function registerTerminalActions() {
|
|
|
530
530
|
});
|
|
531
531
|
registerActiveXtermAction({
|
|
532
532
|
id: TerminalCommandId.ScrollToBottom,
|
|
533
|
-
title: ( localize2(
|
|
533
|
+
title: ( localize2(11521, 'Scroll to Bottom')),
|
|
534
534
|
keybinding: {
|
|
535
535
|
primary: KeyMod.CtrlCmd | KeyCode.End,
|
|
536
536
|
linux: { primary: KeyMod.Shift | KeyCode.End },
|
|
@@ -542,7 +542,7 @@ function registerTerminalActions() {
|
|
|
542
542
|
});
|
|
543
543
|
registerActiveXtermAction({
|
|
544
544
|
id: TerminalCommandId.ScrollUpLine,
|
|
545
|
-
title: ( localize2(
|
|
545
|
+
title: ( localize2(11522, 'Scroll Up (Line)')),
|
|
546
546
|
keybinding: {
|
|
547
547
|
primary: KeyMod.CtrlCmd | KeyMod.Alt | KeyCode.PageUp,
|
|
548
548
|
linux: { primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.UpArrow },
|
|
@@ -554,7 +554,7 @@ function registerTerminalActions() {
|
|
|
554
554
|
});
|
|
555
555
|
registerActiveXtermAction({
|
|
556
556
|
id: TerminalCommandId.ScrollUpPage,
|
|
557
|
-
title: ( localize2(
|
|
557
|
+
title: ( localize2(11523, 'Scroll Up (Page)')),
|
|
558
558
|
f1: true,
|
|
559
559
|
keybinding: {
|
|
560
560
|
primary: KeyMod.Shift | KeyCode.PageUp,
|
|
@@ -567,7 +567,7 @@ function registerTerminalActions() {
|
|
|
567
567
|
});
|
|
568
568
|
registerActiveXtermAction({
|
|
569
569
|
id: TerminalCommandId.ScrollToTop,
|
|
570
|
-
title: ( localize2(
|
|
570
|
+
title: ( localize2(11524, 'Scroll to Top')),
|
|
571
571
|
keybinding: {
|
|
572
572
|
primary: KeyMod.CtrlCmd | KeyCode.Home,
|
|
573
573
|
linux: { primary: KeyMod.Shift | KeyCode.Home },
|
|
@@ -579,7 +579,7 @@ function registerTerminalActions() {
|
|
|
579
579
|
});
|
|
580
580
|
registerActiveXtermAction({
|
|
581
581
|
id: TerminalCommandId.ClearSelection,
|
|
582
|
-
title: ( localize2(
|
|
582
|
+
title: ( localize2(11525, 'Clear Selection')),
|
|
583
583
|
keybinding: {
|
|
584
584
|
primary: KeyCode.Escape,
|
|
585
585
|
when: ( ContextKeyExpr.and(
|
|
@@ -699,12 +699,12 @@ function registerTerminalActions() {
|
|
|
699
699
|
});
|
|
700
700
|
registerActiveInstanceAction({
|
|
701
701
|
id: TerminalCommandId.DetachSession,
|
|
702
|
-
title: ( localize2(
|
|
702
|
+
title: ( localize2(11526, 'Detach Session')),
|
|
703
703
|
run: (activeInstance) => activeInstance.detachProcessAndDispose(TerminalExitReason.User)
|
|
704
704
|
});
|
|
705
705
|
registerTerminalAction({
|
|
706
706
|
id: TerminalCommandId.AttachToSession,
|
|
707
|
-
title: ( localize2(
|
|
707
|
+
title: ( localize2(11527, 'Attach to Session')),
|
|
708
708
|
run: async (c, accessor) => {
|
|
709
709
|
const quickInputService = accessor.get(IQuickInputService);
|
|
710
710
|
const labelService = accessor.get(ILabelService);
|
|
@@ -728,7 +728,7 @@ function registerTerminalActions() {
|
|
|
728
728
|
};
|
|
729
729
|
}));
|
|
730
730
|
if (items.length === 0) {
|
|
731
|
-
notificationService.info(( localize(
|
|
731
|
+
notificationService.info(( localize(11528, 'There are no unattached terminals to attach to')));
|
|
732
732
|
return;
|
|
733
733
|
}
|
|
734
734
|
const selected = await quickInputService.pick(items, { canPickMany: false });
|
|
@@ -802,7 +802,7 @@ function registerTerminalActions() {
|
|
|
802
802
|
});
|
|
803
803
|
registerActiveInstanceAction({
|
|
804
804
|
id: TerminalCommandId.SelectToPreviousCommand,
|
|
805
|
-
title: ( localize2(
|
|
805
|
+
title: ( localize2(11529, 'Select to Previous Command')),
|
|
806
806
|
keybinding: {
|
|
807
807
|
primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.UpArrow,
|
|
808
808
|
when: TerminalContextKeys.focus,
|
|
@@ -816,7 +816,7 @@ function registerTerminalActions() {
|
|
|
816
816
|
});
|
|
817
817
|
registerActiveInstanceAction({
|
|
818
818
|
id: TerminalCommandId.SelectToNextCommand,
|
|
819
|
-
title: ( localize2(
|
|
819
|
+
title: ( localize2(11530, 'Select to Next Command')),
|
|
820
820
|
keybinding: {
|
|
821
821
|
primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.DownArrow,
|
|
822
822
|
when: TerminalContextKeys.focus,
|
|
@@ -830,7 +830,7 @@ function registerTerminalActions() {
|
|
|
830
830
|
});
|
|
831
831
|
registerActiveXtermAction({
|
|
832
832
|
id: TerminalCommandId.SelectToPreviousLine,
|
|
833
|
-
title: ( localize2(
|
|
833
|
+
title: ( localize2(11531, 'Select to Previous Line')),
|
|
834
834
|
precondition: sharedWhenClause.terminalAvailable,
|
|
835
835
|
run: async (xterm, _, instance) => {
|
|
836
836
|
xterm.markTracker.selectToPreviousLine();
|
|
@@ -839,7 +839,7 @@ function registerTerminalActions() {
|
|
|
839
839
|
});
|
|
840
840
|
registerActiveXtermAction({
|
|
841
841
|
id: TerminalCommandId.SelectToNextLine,
|
|
842
|
-
title: ( localize2(
|
|
842
|
+
title: ( localize2(11532, 'Select to Next Line')),
|
|
843
843
|
precondition: sharedWhenClause.terminalAvailable,
|
|
844
844
|
run: async (xterm, _, instance) => {
|
|
845
845
|
xterm.markTracker.selectToNextLine();
|
|
@@ -858,7 +858,7 @@ function registerTerminalActions() {
|
|
|
858
858
|
required: ['cwd'],
|
|
859
859
|
properties: {
|
|
860
860
|
cwd: {
|
|
861
|
-
description: ( localize(
|
|
861
|
+
description: ( localize(11533, "The directory to start the terminal at")),
|
|
862
862
|
type: 'string'
|
|
863
863
|
}
|
|
864
864
|
},
|
|
@@ -887,7 +887,7 @@ function registerTerminalActions() {
|
|
|
887
887
|
required: ['name'],
|
|
888
888
|
properties: {
|
|
889
889
|
name: {
|
|
890
|
-
description: ( localize(
|
|
890
|
+
description: ( localize(11534, "The new name for the terminal")),
|
|
891
891
|
type: 'string',
|
|
892
892
|
minLength: 1
|
|
893
893
|
}
|
|
@@ -901,7 +901,7 @@ function registerTerminalActions() {
|
|
|
901
901
|
const notificationService = accessor.get(INotificationService);
|
|
902
902
|
const name = args ? toOptionalString(args.name) : undefined;
|
|
903
903
|
if (!name) {
|
|
904
|
-
notificationService.warn(( localize(
|
|
904
|
+
notificationService.warn(( localize(11535, "No name argument provided")));
|
|
905
905
|
return;
|
|
906
906
|
}
|
|
907
907
|
activeInstance.rename(name);
|
|
@@ -909,7 +909,7 @@ function registerTerminalActions() {
|
|
|
909
909
|
});
|
|
910
910
|
registerActiveInstanceAction({
|
|
911
911
|
id: TerminalCommandId.Relaunch,
|
|
912
|
-
title: ( localize2(
|
|
912
|
+
title: ( localize2(11536, 'Relaunch Active Terminal')),
|
|
913
913
|
run: (activeInstance) => activeInstance.relaunch()
|
|
914
914
|
});
|
|
915
915
|
registerTerminalAction({
|
|
@@ -986,7 +986,7 @@ function registerTerminalActions() {
|
|
|
986
986
|
});
|
|
987
987
|
registerTerminalAction({
|
|
988
988
|
id: TerminalCommandId.JoinActiveTab,
|
|
989
|
-
title: ( localize2(
|
|
989
|
+
title: ( localize2(11537, 'Join Terminals')),
|
|
990
990
|
precondition: ( ContextKeyExpr.and(sharedWhenClause.terminalAvailable, ( TerminalContextKeys.tabsSingularSelection.toNegated()))),
|
|
991
991
|
run: async (c, accessor) => {
|
|
992
992
|
const instances = getSelectedViewInstances(accessor);
|
|
@@ -997,7 +997,7 @@ function registerTerminalActions() {
|
|
|
997
997
|
});
|
|
998
998
|
registerTerminalAction({
|
|
999
999
|
id: TerminalCommandId.Join,
|
|
1000
|
-
title: ( localize2(
|
|
1000
|
+
title: ( localize2(11538, 'Join Terminals...')),
|
|
1001
1001
|
precondition: sharedWhenClause.terminalAvailable,
|
|
1002
1002
|
run: async (c, accessor) => {
|
|
1003
1003
|
const themeService = accessor.get(IThemeService);
|
|
@@ -1005,7 +1005,7 @@ function registerTerminalActions() {
|
|
|
1005
1005
|
const quickInputService = accessor.get(IQuickInputService);
|
|
1006
1006
|
const picks = [];
|
|
1007
1007
|
if (c.groupService.instances.length <= 1) {
|
|
1008
|
-
notificationService.warn(( localize(
|
|
1008
|
+
notificationService.warn(( localize(11539, 'Insufficient terminals for the join action')));
|
|
1009
1009
|
return;
|
|
1010
1010
|
}
|
|
1011
1011
|
const otherInstances = c.groupService.instances.filter(i => i.instanceId !== c.groupService.activeInstance?.instanceId);
|
|
@@ -1031,7 +1031,7 @@ function registerTerminalActions() {
|
|
|
1031
1031
|
}
|
|
1032
1032
|
}
|
|
1033
1033
|
if (picks.length === 0) {
|
|
1034
|
-
notificationService.warn(( localize(
|
|
1034
|
+
notificationService.warn(( localize(11540, 'All terminals are joined already')));
|
|
1035
1035
|
return;
|
|
1036
1036
|
}
|
|
1037
1037
|
const result = await quickInputService.pick(picks, {});
|
|
@@ -1042,7 +1042,7 @@ function registerTerminalActions() {
|
|
|
1042
1042
|
});
|
|
1043
1043
|
registerActiveInstanceAction({
|
|
1044
1044
|
id: TerminalCommandId.SplitInActiveWorkspace,
|
|
1045
|
-
title: ( localize2(
|
|
1045
|
+
title: ( localize2(11541, 'Split Terminal (In Active Workspace)')),
|
|
1046
1046
|
run: async (instance, c) => {
|
|
1047
1047
|
const newInstance = await c.service.createTerminal({ location: { parentTerminal: instance } });
|
|
1048
1048
|
if (newInstance?.target !== TerminalLocation.Editor) {
|
|
@@ -1052,7 +1052,7 @@ function registerTerminalActions() {
|
|
|
1052
1052
|
});
|
|
1053
1053
|
registerActiveXtermAction({
|
|
1054
1054
|
id: TerminalCommandId.SelectAll,
|
|
1055
|
-
title: ( localize2(
|
|
1055
|
+
title: ( localize2(11542, 'Select All')),
|
|
1056
1056
|
precondition: sharedWhenClause.terminalAvailable,
|
|
1057
1057
|
keybinding: [{
|
|
1058
1058
|
primary: 0,
|
|
@@ -1064,7 +1064,7 @@ function registerTerminalActions() {
|
|
|
1064
1064
|
});
|
|
1065
1065
|
registerTerminalAction({
|
|
1066
1066
|
id: TerminalCommandId.New,
|
|
1067
|
-
title: ( localize2(
|
|
1067
|
+
title: ( localize2(11543, 'Create New Terminal')),
|
|
1068
1068
|
precondition: ( ContextKeyExpr.or(
|
|
1069
1069
|
TerminalContextKeys.processSupported,
|
|
1070
1070
|
TerminalContextKeys.webExtensionContributedProfile
|
|
@@ -1126,7 +1126,7 @@ function registerTerminalActions() {
|
|
|
1126
1126
|
}
|
|
1127
1127
|
registerTerminalAction({
|
|
1128
1128
|
id: TerminalCommandId.Kill,
|
|
1129
|
-
title: ( localize2(
|
|
1129
|
+
title: ( localize2(11544, 'Kill the Active Terminal Instance')),
|
|
1130
1130
|
precondition: ( ContextKeyExpr.or(sharedWhenClause.terminalAvailable, TerminalContextKeys.isOpen)),
|
|
1131
1131
|
icon: killTerminalIcon,
|
|
1132
1132
|
run: async (c) => killInstance(c, c.groupService.activeInstance)
|
|
@@ -1140,7 +1140,7 @@ function registerTerminalActions() {
|
|
|
1140
1140
|
});
|
|
1141
1141
|
registerTerminalAction({
|
|
1142
1142
|
id: TerminalCommandId.KillAll,
|
|
1143
|
-
title: ( localize2(
|
|
1143
|
+
title: ( localize2(11545, 'Kill All Terminals')),
|
|
1144
1144
|
precondition: ( ContextKeyExpr.or(sharedWhenClause.terminalAvailable, TerminalContextKeys.isOpen)),
|
|
1145
1145
|
icon: Codicon.trash,
|
|
1146
1146
|
run: async (c) => {
|
|
@@ -1153,7 +1153,7 @@ function registerTerminalActions() {
|
|
|
1153
1153
|
});
|
|
1154
1154
|
registerTerminalAction({
|
|
1155
1155
|
id: TerminalCommandId.KillEditor,
|
|
1156
|
-
title: ( localize2(
|
|
1156
|
+
title: ( localize2(11546, 'Kill the Active Terminal in Editor Area')),
|
|
1157
1157
|
precondition: sharedWhenClause.terminalAvailable,
|
|
1158
1158
|
keybinding: {
|
|
1159
1159
|
primary: KeyMod.CtrlCmd | KeyCode.KeyW,
|
|
@@ -1199,7 +1199,7 @@ function registerTerminalActions() {
|
|
|
1199
1199
|
});
|
|
1200
1200
|
registerActiveInstanceAction({
|
|
1201
1201
|
id: TerminalCommandId.Clear,
|
|
1202
|
-
title: ( localize2(
|
|
1202
|
+
title: ( localize2(11547, 'Clear')),
|
|
1203
1203
|
precondition: sharedWhenClause.terminalAvailable,
|
|
1204
1204
|
keybinding: [{
|
|
1205
1205
|
primary: 0,
|
|
@@ -1211,18 +1211,18 @@ function registerTerminalActions() {
|
|
|
1211
1211
|
});
|
|
1212
1212
|
registerTerminalAction({
|
|
1213
1213
|
id: TerminalCommandId.SelectDefaultProfile,
|
|
1214
|
-
title: ( localize2(
|
|
1214
|
+
title: ( localize2(11548, 'Select Default Profile')),
|
|
1215
1215
|
run: (c) => c.service.showProfileQuickPick('setDefault')
|
|
1216
1216
|
});
|
|
1217
1217
|
registerTerminalAction({
|
|
1218
1218
|
id: TerminalCommandId.ConfigureTerminalSettings,
|
|
1219
|
-
title: ( localize2(
|
|
1219
|
+
title: ( localize2(11549, 'Configure Terminal Settings')),
|
|
1220
1220
|
precondition: sharedWhenClause.terminalAvailable,
|
|
1221
1221
|
run: (c, accessor) => accessor.get(IPreferencesService).openSettings({ jsonEditor: false, query: '@feature:terminal' })
|
|
1222
1222
|
});
|
|
1223
1223
|
registerActiveInstanceAction({
|
|
1224
1224
|
id: TerminalCommandId.SetDimensions,
|
|
1225
|
-
title: ( localize2(
|
|
1225
|
+
title: ( localize2(11550, 'Set Fixed Dimensions')),
|
|
1226
1226
|
precondition: sharedWhenClause.terminalAvailable_and_opened,
|
|
1227
1227
|
run: (activeInstance) => activeInstance.setFixedDimensions()
|
|
1228
1228
|
});
|
|
@@ -1239,7 +1239,7 @@ function registerTerminalActions() {
|
|
|
1239
1239
|
});
|
|
1240
1240
|
registerTerminalAction({
|
|
1241
1241
|
id: TerminalCommandId.SwitchTerminal,
|
|
1242
|
-
title: ( localize2(
|
|
1242
|
+
title: ( localize2(11551, 'Switch Terminal')),
|
|
1243
1243
|
precondition: sharedWhenClause.terminalAvailable,
|
|
1244
1244
|
run: async (c, accessor, args) => {
|
|
1245
1245
|
const item = toOptionalString(args);
|
|
@@ -1324,7 +1324,7 @@ function getSelectedViewInstances(accessor, args, args2) {
|
|
|
1324
1324
|
function validateTerminalName(name) {
|
|
1325
1325
|
if (!name || name.trim().length === 0) {
|
|
1326
1326
|
return {
|
|
1327
|
-
content: ( localize(
|
|
1327
|
+
content: ( localize(11552, "Providing no name will reset it to the default value")),
|
|
1328
1328
|
severity: Severity.Info
|
|
1329
1329
|
};
|
|
1330
1330
|
}
|
|
@@ -1347,7 +1347,7 @@ function refreshTerminalActions(detectedProfiles) {
|
|
|
1347
1347
|
constructor() {
|
|
1348
1348
|
super({
|
|
1349
1349
|
id: TerminalCommandId.NewWithProfile,
|
|
1350
|
-
title: ( localize2(
|
|
1350
|
+
title: ( localize2(11553, 'Create New Terminal (With Profile)')),
|
|
1351
1351
|
f1: true,
|
|
1352
1352
|
precondition: ( ContextKeyExpr.or(
|
|
1353
1353
|
TerminalContextKeys.processSupported,
|
|
@@ -1362,18 +1362,18 @@ function refreshTerminalActions(detectedProfiles) {
|
|
|
1362
1362
|
required: ['profileName'],
|
|
1363
1363
|
properties: {
|
|
1364
1364
|
profileName: {
|
|
1365
|
-
description: ( localize(
|
|
1365
|
+
description: ( localize(11554, "The name of the profile to create")),
|
|
1366
1366
|
type: 'string',
|
|
1367
1367
|
enum: profileEnum.values,
|
|
1368
1368
|
markdownEnumDescriptions: profileEnum.markdownDescriptions
|
|
1369
1369
|
},
|
|
1370
1370
|
location: {
|
|
1371
|
-
description: ( localize(
|
|
1371
|
+
description: ( localize(11555, "Where to create the terminal")),
|
|
1372
1372
|
type: 'string',
|
|
1373
1373
|
enum: ['view', 'editor'],
|
|
1374
1374
|
enumDescriptions: [
|
|
1375
|
-
( localize(
|
|
1376
|
-
( localize(
|
|
1375
|
+
( localize(11556, 'Create the terminal in the terminal view')),
|
|
1376
|
+
( localize(11557, 'Create the terminal in the editor')),
|
|
1377
1377
|
]
|
|
1378
1378
|
}
|
|
1379
1379
|
}
|
|
@@ -1427,7 +1427,7 @@ function refreshTerminalActions(detectedProfiles) {
|
|
|
1427
1427
|
const folders = workspaceContextService.getWorkspace().folders;
|
|
1428
1428
|
if (folders.length > 1) {
|
|
1429
1429
|
const options = {
|
|
1430
|
-
placeHolder: ( localize(
|
|
1430
|
+
placeHolder: ( localize(11502, "Select current working directory for new terminal"))
|
|
1431
1431
|
};
|
|
1432
1432
|
const workspace = await commandService.executeCommand(PICK_WORKSPACE_FOLDER_COMMAND_ID, [options]);
|
|
1433
1433
|
if (!workspace) {
|
|
@@ -1476,7 +1476,7 @@ async function pickTerminalCwd(accessor, cancel) {
|
|
|
1476
1476
|
const label = pair.folder.name;
|
|
1477
1477
|
const description = pair.isOverridden
|
|
1478
1478
|
? ( localize(
|
|
1479
|
-
|
|
1479
|
+
11558,
|
|
1480
1480
|
"(Overriden) {0}",
|
|
1481
1481
|
labelService.getUriLabel(pair.cwd, { relative: !pair.isAbsolute })
|
|
1482
1482
|
))
|
|
@@ -1489,7 +1489,7 @@ async function pickTerminalCwd(accessor, cancel) {
|
|
|
1489
1489
|
};
|
|
1490
1490
|
}));
|
|
1491
1491
|
const options = {
|
|
1492
|
-
placeHolder: ( localize(
|
|
1492
|
+
placeHolder: ( localize(11502, "Select current working directory for new terminal")),
|
|
1493
1493
|
matchOnDescription: true,
|
|
1494
1494
|
canPickMany: false,
|
|
1495
1495
|
};
|
|
@@ -1521,13 +1521,17 @@ function shrinkWorkspaceFolderCwdPairs(pairs) {
|
|
|
1521
1521
|
return selectedPairsInOrder;
|
|
1522
1522
|
}
|
|
1523
1523
|
async function focusActiveTerminal(instance, c) {
|
|
1524
|
-
|
|
1525
|
-
|
|
1526
|
-
|
|
1527
|
-
|
|
1528
|
-
|
|
1529
|
-
|
|
1524
|
+
const target = instance
|
|
1525
|
+
?? c.service.activeInstance
|
|
1526
|
+
?? c.editorService.activeInstance
|
|
1527
|
+
?? c.groupService.activeInstance;
|
|
1528
|
+
if (!target) {
|
|
1529
|
+
if (c.groupService.instances.length > 0) {
|
|
1530
|
+
await c.groupService.showPanel(true);
|
|
1531
|
+
}
|
|
1532
|
+
return;
|
|
1530
1533
|
}
|
|
1534
|
+
await c.service.focusInstance(target);
|
|
1531
1535
|
}
|
|
1532
1536
|
async function renameWithQuickPick(c, accessor, resource) {
|
|
1533
1537
|
let instance = resource;
|
|
@@ -1537,7 +1541,7 @@ async function renameWithQuickPick(c, accessor, resource) {
|
|
|
1537
1541
|
if (instance) {
|
|
1538
1542
|
const title = await accessor.get(IQuickInputService).input({
|
|
1539
1543
|
value: instance.title,
|
|
1540
|
-
prompt: ( localize(
|
|
1544
|
+
prompt: ( localize(11559, "Enter terminal name")),
|
|
1541
1545
|
});
|
|
1542
1546
|
if (title) {
|
|
1543
1547
|
instance.rename(title);
|
|
@@ -56,7 +56,7 @@ let TerminalIconPicker = class TerminalIconPicker extends Disposable {
|
|
|
56
56
|
target: {
|
|
57
57
|
targetElements: [body],
|
|
58
58
|
x: bodyRect.left + (bodyRect.width - dimension.width) / 2,
|
|
59
|
-
y: bodyRect.top + this._layoutService.activeContainerOffset.
|
|
59
|
+
y: bodyRect.top + this._layoutService.activeContainerOffset.top
|
|
60
60
|
},
|
|
61
61
|
position: {
|
|
62
62
|
hoverPosition: HoverPosition.BELOW,
|
|
@@ -275,6 +275,7 @@ export declare class TerminalInstance extends Disposable implements ITerminalIns
|
|
|
275
275
|
* Create xterm.js instance and attach data listeners.
|
|
276
276
|
*/
|
|
277
277
|
protected _createXterm(): Promise<XtermTerminal | undefined>;
|
|
278
|
+
private _refreshShellIntegrationInfoStatus;
|
|
278
279
|
runCommand(commandLine: string, shouldExecute: boolean, commandId?: string): Promise<void>;
|
|
279
280
|
detachFromElement(): void;
|
|
280
281
|
attachToElement(container: HTMLElement): void;
|