@codingame/monaco-vscode-remote-agent-service-override 11.0.2 → 11.1.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 +3 -3
- package/vscode/src/vs/workbench/contrib/remote/browser/explorerViewItems.js +1 -1
- package/vscode/src/vs/workbench/contrib/remote/browser/remote.js +17 -17
- package/vscode/src/vs/workbench/contrib/remote/browser/remoteConnectionHealth.js +6 -6
- package/vscode/src/vs/workbench/contrib/remote/browser/remoteIndicator.js +23 -23
- package/vscode/src/vs/workbench/contrib/remote/browser/remoteStartEntry.js +2 -2
- package/vscode/src/vs/workbench/contrib/remote/browser/tunnelFactory.js +2 -2
- package/vscode/src/vs/workbench/contrib/remote/common/remote.contribution.js +46 -46
- package/vscode/src/vs/workbench/services/remote/browser/remoteAgentService.js +3 -3
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codingame/monaco-vscode-remote-agent-service-override",
|
|
3
|
-
"version": "11.0
|
|
3
|
+
"version": "11.1.0",
|
|
4
4
|
"keywords": [],
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "CodinGame",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
}
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"vscode": "npm:@codingame/monaco-vscode-api@11.0
|
|
30
|
-
"@codingame/monaco-vscode-environment-service-override": "11.0
|
|
29
|
+
"vscode": "npm:@codingame/monaco-vscode-api@11.1.0",
|
|
30
|
+
"@codingame/monaco-vscode-environment-service-override": "11.1.0"
|
|
31
31
|
}
|
|
32
32
|
}
|
|
@@ -27,7 +27,7 @@ let SwitchRemoteViewItem = class SwitchRemoteViewItem extends Disposable {
|
|
|
27
27
|
this.switchRemoteMenu = MenuId.for('workbench.remote.menu.switchRemoteMenu');
|
|
28
28
|
this._register(MenuRegistry.appendMenuItem(MenuId.ViewContainerTitle, {
|
|
29
29
|
submenu: this.switchRemoteMenu,
|
|
30
|
-
title: ( localize(
|
|
30
|
+
title: ( localize(11113, "Switch Remote")),
|
|
31
31
|
group: 'navigation',
|
|
32
32
|
when: ( (ContextKeyExpr.equals('viewContainer', VIEWLET_ID))),
|
|
33
33
|
order: 1,
|
|
@@ -117,27 +117,27 @@ class HelpModel {
|
|
|
117
117
|
const getStarted = this.viewModel.helpInformation.filter(info => info.getStarted);
|
|
118
118
|
if (getStarted.length) {
|
|
119
119
|
const helpItemValues = ( (getStarted.map((info) => this.createHelpItemValue(info, 'getStarted'))));
|
|
120
|
-
const getStartedHelpItem = this.items?.find(item => item.icon === getStartedIcon) ?? ( (new GetStartedHelpItem(getStartedIcon, ( localize(
|
|
120
|
+
const getStartedHelpItem = this.items?.find(item => item.icon === getStartedIcon) ?? ( (new GetStartedHelpItem(getStartedIcon, ( localize(8888, "Get Started")), helpItemValues, this.quickInputService, this.environmentService, this.openerService, this.remoteExplorerService, this.workspaceContextService, this.commandService)));
|
|
121
121
|
getStartedHelpItem.values = helpItemValues;
|
|
122
122
|
helpItems.push(getStartedHelpItem);
|
|
123
123
|
}
|
|
124
124
|
const documentation = this.viewModel.helpInformation.filter(info => info.documentation);
|
|
125
125
|
if (documentation.length) {
|
|
126
126
|
const helpItemValues = ( (documentation.map((info) => this.createHelpItemValue(info, 'documentation'))));
|
|
127
|
-
const documentationHelpItem = this.items?.find(item => item.icon === documentationIcon) ?? ( (new HelpItem(documentationIcon, ( localize(
|
|
127
|
+
const documentationHelpItem = this.items?.find(item => item.icon === documentationIcon) ?? ( (new HelpItem(documentationIcon, ( localize(8889, "Read Documentation")), helpItemValues, this.quickInputService, this.environmentService, this.openerService, this.remoteExplorerService, this.workspaceContextService)));
|
|
128
128
|
documentationHelpItem.values = helpItemValues;
|
|
129
129
|
helpItems.push(documentationHelpItem);
|
|
130
130
|
}
|
|
131
131
|
const issues = this.viewModel.helpInformation.filter(info => info.issues);
|
|
132
132
|
if (issues.length) {
|
|
133
133
|
const helpItemValues = ( (issues.map((info) => this.createHelpItemValue(info, 'issues'))));
|
|
134
|
-
const reviewIssuesHelpItem = this.items?.find(item => item.icon === reviewIssuesIcon) ?? ( (new HelpItem(reviewIssuesIcon, ( localize(
|
|
134
|
+
const reviewIssuesHelpItem = this.items?.find(item => item.icon === reviewIssuesIcon) ?? ( (new HelpItem(reviewIssuesIcon, ( localize(8890, "Review Issues")), helpItemValues, this.quickInputService, this.environmentService, this.openerService, this.remoteExplorerService, this.workspaceContextService)));
|
|
135
135
|
reviewIssuesHelpItem.values = helpItemValues;
|
|
136
136
|
helpItems.push(reviewIssuesHelpItem);
|
|
137
137
|
}
|
|
138
138
|
if (helpItems.length) {
|
|
139
139
|
const helpItemValues = ( (this.viewModel.helpInformation.map(info => this.createHelpItemValue(info, 'reportIssue'))));
|
|
140
|
-
const issueReporterItem = this.items?.find(item => item.icon === reportIssuesIcon) ?? ( (new IssueReporterItem(reportIssuesIcon, ( localize(
|
|
140
|
+
const issueReporterItem = this.items?.find(item => item.icon === reportIssuesIcon) ?? ( (new IssueReporterItem(reportIssuesIcon, ( localize(8891, "Report Issue")), helpItemValues, this.quickInputService, this.environmentService, this.commandService, this.openerService, this.remoteExplorerService, this.workspaceContextService)));
|
|
141
141
|
issueReporterItem.values = helpItemValues;
|
|
142
142
|
helpItems.push(issueReporterItem);
|
|
143
143
|
}
|
|
@@ -254,7 +254,7 @@ class HelpItemBase {
|
|
|
254
254
|
if (this.values.length > 1) {
|
|
255
255
|
const actions = await this.getActions();
|
|
256
256
|
if (actions.length) {
|
|
257
|
-
const action = await this.quickInputService.pick(actions, { placeHolder: ( localize(
|
|
257
|
+
const action = await this.quickInputService.pick(actions, { placeHolder: ( localize(8892, "Select url to open")) });
|
|
258
258
|
if (action) {
|
|
259
259
|
await this.takeAction(action.extensionDescription, action.url);
|
|
260
260
|
}
|
|
@@ -315,7 +315,7 @@ class IssueReporterItem extends HelpItemBase {
|
|
|
315
315
|
}
|
|
316
316
|
let HelpPanel = class HelpPanel extends ViewPane {
|
|
317
317
|
static { this.ID = '~remote.helpPanel'; }
|
|
318
|
-
static { this.TITLE = ( localize2(
|
|
318
|
+
static { this.TITLE = ( localize2(8893, "Help and feedback")); }
|
|
319
319
|
constructor(viewModel, options, keybindingService, contextMenuService, contextKeyService, configurationService, instantiationService, viewDescriptorService, openerService, quickInputService, commandService, remoteExplorerService, environmentService, themeService, telemetryService, hoverService, workspaceContextService, walkthroughsService) {
|
|
320
320
|
super(options, keybindingService, contextMenuService, configurationService, contextKeyService, viewDescriptorService, instantiationService, openerService, themeService, telemetryService, hoverService);
|
|
321
321
|
this.viewModel = viewModel;
|
|
@@ -337,7 +337,7 @@ let HelpPanel = class HelpPanel extends ViewPane {
|
|
|
337
337
|
getAriaLabel: (item) => {
|
|
338
338
|
return item.label;
|
|
339
339
|
},
|
|
340
|
-
getWidgetAriaLabel: () => ( localize(
|
|
340
|
+
getWidgetAriaLabel: () => ( localize(8894, "Remote Help"))
|
|
341
341
|
}
|
|
342
342
|
});
|
|
343
343
|
const model = ( (new HelpModel(
|
|
@@ -467,7 +467,7 @@ let RemoteViewPaneContainer = class RemoteViewPaneContainer extends FilterViewPa
|
|
|
467
467
|
this.remoteExplorerService.targetType = isStringArray(viewDescriptor.remoteAuthority) ? viewDescriptor.remoteAuthority : [viewDescriptor.remoteAuthority];
|
|
468
468
|
}
|
|
469
469
|
getTitle() {
|
|
470
|
-
const title = ( localize(
|
|
470
|
+
const title = ( localize(8895, "Remote Explorer"));
|
|
471
471
|
return title;
|
|
472
472
|
}
|
|
473
473
|
};
|
|
@@ -486,7 +486,7 @@ RemoteViewPaneContainer = ( (__decorate([
|
|
|
486
486
|
], RemoteViewPaneContainer)));
|
|
487
487
|
( (Registry.as(Extensions.ViewContainersRegistry))).registerViewContainer({
|
|
488
488
|
id: VIEWLET_ID,
|
|
489
|
-
title: ( localize2(
|
|
489
|
+
title: ( localize2(8895, "Remote Explorer")),
|
|
490
490
|
ctorDescriptor: ( (new SyncDescriptor(RemoteViewPaneContainer))),
|
|
491
491
|
hideIfEmpty: true,
|
|
492
492
|
viewOrderDelegate: {
|
|
@@ -592,10 +592,10 @@ class ReconnectionTimer {
|
|
|
592
592
|
}
|
|
593
593
|
const remainingTime = Math.ceil(remainingTimeMs / 1000);
|
|
594
594
|
if (remainingTime === 1) {
|
|
595
|
-
this._parent.report(( localize(
|
|
595
|
+
this._parent.report(( localize(8896, "Attempting to reconnect in {0} second...", remainingTime)));
|
|
596
596
|
}
|
|
597
597
|
else {
|
|
598
|
-
this._parent.report(( localize(
|
|
598
|
+
this._parent.report(( localize(8897, "Attempting to reconnect in {0} seconds...", remainingTime)));
|
|
599
599
|
}
|
|
600
600
|
}
|
|
601
601
|
}
|
|
@@ -652,13 +652,13 @@ let RemoteAgentConnectionStatusListener = class RemoteAgentConnectionStatusListe
|
|
|
652
652
|
let lastIncomingDataTime = 0;
|
|
653
653
|
let reconnectionAttempts = 0;
|
|
654
654
|
const reconnectButton = {
|
|
655
|
-
label: ( localize(
|
|
655
|
+
label: ( localize(8898, "Reconnect Now")),
|
|
656
656
|
callback: () => {
|
|
657
657
|
reconnectWaitEvent?.skipWait();
|
|
658
658
|
}
|
|
659
659
|
};
|
|
660
660
|
const reloadButton = {
|
|
661
|
-
label: ( localize(
|
|
661
|
+
label: ( localize(8899, "Reload Window")),
|
|
662
662
|
callback: () => {
|
|
663
663
|
telemetryService.publicLog2('remoteReconnectionReload', {
|
|
664
664
|
remoteName: getRemoteName(environmentService.remoteAuthority),
|
|
@@ -688,7 +688,7 @@ let RemoteAgentConnectionStatusListener = class RemoteAgentConnectionStatusListe
|
|
|
688
688
|
if (!visibleProgress) {
|
|
689
689
|
visibleProgress = showProgress(null, [reconnectButton, reloadButton]);
|
|
690
690
|
}
|
|
691
|
-
visibleProgress.report(( localize(
|
|
691
|
+
visibleProgress.report(( localize(8900, "Connection Lost")));
|
|
692
692
|
}
|
|
693
693
|
break;
|
|
694
694
|
case 1 :
|
|
@@ -710,7 +710,7 @@ let RemoteAgentConnectionStatusListener = class RemoteAgentConnectionStatusListe
|
|
|
710
710
|
});
|
|
711
711
|
if (visibleProgress || e.millisSinceLastIncomingData > DISCONNECT_PROMPT_TIME) {
|
|
712
712
|
visibleProgress = showProgress(null, [reloadButton]);
|
|
713
|
-
visibleProgress.report(( localize(
|
|
713
|
+
visibleProgress.report(( localize(8901, "Disconnected. Attempting to reconnect...")));
|
|
714
714
|
disposableListener = quickInputService.onShow(() => {
|
|
715
715
|
if (visibleProgress && visibleProgress.location === 20 ) {
|
|
716
716
|
visibleProgress = showProgress(15 , [reloadButton], visibleProgress.lastReport);
|
|
@@ -738,8 +738,8 @@ let RemoteAgentConnectionStatusListener = class RemoteAgentConnectionStatusListe
|
|
|
738
738
|
this._reloadWindowShown = true;
|
|
739
739
|
dialogService.confirm({
|
|
740
740
|
type: Severity$1.Error,
|
|
741
|
-
message: ( localize(
|
|
742
|
-
primaryButton: ( localize(
|
|
741
|
+
message: ( localize(8902, "Cannot reconnect. Please reload the window.")),
|
|
742
|
+
primaryButton: ( localize(8903, "&&Reload Window"))
|
|
743
743
|
}).then(result => {
|
|
744
744
|
if (result.confirmed) {
|
|
745
745
|
commandService.executeCommand(ReloadWindowAction.ID);
|
|
@@ -36,17 +36,17 @@ let InitialRemoteConnectionHealthContribution = class InitialRemoteConnectionHea
|
|
|
36
36
|
const { result, checkboxChecked } = await this.dialogService.prompt({
|
|
37
37
|
type: Severity$1.Warning,
|
|
38
38
|
message: ( localize(
|
|
39
|
-
|
|
39
|
+
8943,
|
|
40
40
|
"You are about to connect to an OS version that is unsupported by {0}.",
|
|
41
41
|
this.productService.nameLong
|
|
42
42
|
)),
|
|
43
43
|
buttons: [
|
|
44
44
|
{
|
|
45
|
-
label: ( localize(
|
|
45
|
+
label: ( localize(8944, "&&Allow")),
|
|
46
46
|
run: () => 1
|
|
47
47
|
},
|
|
48
48
|
{
|
|
49
|
-
label: ( localize(
|
|
49
|
+
label: ( localize(8945, "&&Learn More")),
|
|
50
50
|
run: async () => { await this.openerService.open('https://aka.ms/vscode-remote/faq/old-linux'); return 2 ; }
|
|
51
51
|
}
|
|
52
52
|
],
|
|
@@ -54,7 +54,7 @@ let InitialRemoteConnectionHealthContribution = class InitialRemoteConnectionHea
|
|
|
54
54
|
run: () => 0
|
|
55
55
|
},
|
|
56
56
|
checkbox: {
|
|
57
|
-
label: ( localize(
|
|
57
|
+
label: ( localize(8946, "Do not show again")),
|
|
58
58
|
}
|
|
59
59
|
});
|
|
60
60
|
if (result === 2 ) {
|
|
@@ -80,14 +80,14 @@ let InitialRemoteConnectionHealthContribution = class InitialRemoteConnectionHea
|
|
|
80
80
|
if (shouldShowBanner) {
|
|
81
81
|
const actions = [
|
|
82
82
|
{
|
|
83
|
-
label: ( localize(
|
|
83
|
+
label: ( localize(8947, "Learn More")),
|
|
84
84
|
href: 'https://aka.ms/vscode-remote/faq/old-linux'
|
|
85
85
|
}
|
|
86
86
|
];
|
|
87
87
|
this.bannerService.show({
|
|
88
88
|
id: 'unsupportedGlibcWarning.banner',
|
|
89
89
|
message: ( localize(
|
|
90
|
-
|
|
90
|
+
8948,
|
|
91
91
|
"You are connected to an OS version that is unsupported by {0}.",
|
|
92
92
|
this.productService.nameLong
|
|
93
93
|
)),
|
|
@@ -127,14 +127,14 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
|
|
|
127
127
|
this.updateRemoteStatusIndicator();
|
|
128
128
|
}
|
|
129
129
|
registerActions() {
|
|
130
|
-
const category = ( localize2(
|
|
130
|
+
const category = ( localize2(8904, "Remote"));
|
|
131
131
|
const that = this;
|
|
132
132
|
this._register(registerAction2(class extends Action2 {
|
|
133
133
|
constructor() {
|
|
134
134
|
super({
|
|
135
135
|
id: RemoteStatusIndicator_1.REMOTE_ACTIONS_COMMAND_ID,
|
|
136
136
|
category,
|
|
137
|
-
title: ( localize2(
|
|
137
|
+
title: ( localize2(8905, "Show Remote Menu")),
|
|
138
138
|
f1: true,
|
|
139
139
|
keybinding: {
|
|
140
140
|
weight: 200 ,
|
|
@@ -150,7 +150,7 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
|
|
|
150
150
|
super({
|
|
151
151
|
id: RemoteStatusIndicator_1.CLOSE_REMOTE_COMMAND_ID,
|
|
152
152
|
category,
|
|
153
|
-
title: ( localize2(
|
|
153
|
+
title: ( localize2(8906, "Close Remote Connection")),
|
|
154
154
|
f1: true,
|
|
155
155
|
precondition: ( (ContextKeyExpr.or(RemoteNameContext, VirtualWorkspaceContext)))
|
|
156
156
|
});
|
|
@@ -162,7 +162,7 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
|
|
|
162
162
|
group: '6_close',
|
|
163
163
|
command: {
|
|
164
164
|
id: RemoteStatusIndicator_1.CLOSE_REMOTE_COMMAND_ID,
|
|
165
|
-
title: ( localize(
|
|
165
|
+
title: ( localize(8907, "Close Re&&mote Connection"))
|
|
166
166
|
},
|
|
167
167
|
order: 3.5
|
|
168
168
|
});
|
|
@@ -174,7 +174,7 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
|
|
|
174
174
|
super({
|
|
175
175
|
id: RemoteStatusIndicator_1.INSTALL_REMOTE_EXTENSIONS_ID,
|
|
176
176
|
category,
|
|
177
|
-
title: ( localize2(
|
|
177
|
+
title: ( localize2(8908, "Install Remote Development Extensions")),
|
|
178
178
|
f1: true
|
|
179
179
|
});
|
|
180
180
|
this.run = (accessor, input) => {
|
|
@@ -382,18 +382,18 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
|
|
|
382
382
|
const hostLabel = this.labelService.getHostLabel(Schemas.vscodeRemote, this.remoteAuthority) || this.remoteAuthority;
|
|
383
383
|
switch (this.connectionState) {
|
|
384
384
|
case 'initializing':
|
|
385
|
-
this.renderRemoteStatusIndicator(( localize(
|
|
385
|
+
this.renderRemoteStatusIndicator(( localize(8909, "Opening Remote...")), ( localize(8909, "Opening Remote...")), undefined, true );
|
|
386
386
|
break;
|
|
387
387
|
case 'reconnecting':
|
|
388
388
|
this.renderRemoteStatusIndicator(`${( localize(
|
|
389
|
-
|
|
389
|
+
8910,
|
|
390
390
|
"Reconnecting to {0}...",
|
|
391
391
|
truncate(hostLabel, RemoteStatusIndicator_1.REMOTE_STATUS_LABEL_MAX_LENGTH)
|
|
392
392
|
))}`, undefined, undefined, true );
|
|
393
393
|
break;
|
|
394
394
|
case 'disconnected':
|
|
395
395
|
this.renderRemoteStatusIndicator(`$(alert) ${( localize(
|
|
396
|
-
|
|
396
|
+
8911,
|
|
397
397
|
"Disconnected from {0}",
|
|
398
398
|
truncate(hostLabel, RemoteStatusIndicator_1.REMOTE_STATUS_LABEL_MAX_LENGTH)
|
|
399
399
|
))}`);
|
|
@@ -405,7 +405,7 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
|
|
|
405
405
|
tooltip.appendMarkdown(hostNameTooltip);
|
|
406
406
|
}
|
|
407
407
|
else {
|
|
408
|
-
tooltip.appendText(( localize(
|
|
408
|
+
tooltip.appendText(( localize(8912, "Editing on {0}", hostLabel)));
|
|
409
409
|
}
|
|
410
410
|
this.renderRemoteStatusIndicator(`$(remote) ${truncate(hostLabel, RemoteStatusIndicator_1.REMOTE_STATUS_LABEL_MAX_LENGTH)}`, tooltip);
|
|
411
411
|
}
|
|
@@ -421,12 +421,12 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
|
|
|
421
421
|
tooltip.appendMarkdown(hostNameTooltip);
|
|
422
422
|
}
|
|
423
423
|
else {
|
|
424
|
-
tooltip.appendText(( localize(
|
|
424
|
+
tooltip.appendText(( localize(8913, "Editing on {0}", workspaceLabel)));
|
|
425
425
|
}
|
|
426
426
|
if (!isWeb || this.remoteAuthority) {
|
|
427
427
|
tooltip.appendMarkdown('\n\n');
|
|
428
428
|
tooltip.appendMarkdown(( localize(
|
|
429
|
-
|
|
429
|
+
8914,
|
|
430
430
|
"Some [features are not available]({0}) for resources located on a virtual file system.",
|
|
431
431
|
`command:${LIST_WORKSPACE_UNSUPPORTED_EXTENSIONS_COMMAND_ID}`
|
|
432
432
|
)));
|
|
@@ -435,13 +435,13 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
|
|
|
435
435
|
return;
|
|
436
436
|
}
|
|
437
437
|
}
|
|
438
|
-
this.renderRemoteStatusIndicator(`$(remote)`, ( localize(
|
|
438
|
+
this.renderRemoteStatusIndicator(`$(remote)`, ( localize(8915, "Open a Remote Window")));
|
|
439
439
|
return;
|
|
440
440
|
}
|
|
441
441
|
renderRemoteStatusIndicator(initialText, initialTooltip, command, showProgress) {
|
|
442
442
|
const { text, tooltip, ariaLabel } = this.withNetworkStatus(initialText, initialTooltip, showProgress);
|
|
443
443
|
const properties = {
|
|
444
|
-
name: ( localize(
|
|
444
|
+
name: ( localize(8916, "Remote Host")),
|
|
445
445
|
kind: this.networkState === 'offline' ? 'offline' : 'remote',
|
|
446
446
|
ariaLabel,
|
|
447
447
|
text,
|
|
@@ -469,7 +469,7 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
|
|
|
469
469
|
switch (this.networkState) {
|
|
470
470
|
case 'offline': {
|
|
471
471
|
const offlineMessage = ( localize(
|
|
472
|
-
|
|
472
|
+
8917,
|
|
473
473
|
"Network appears to be offline, certain features might be unavailable."
|
|
474
474
|
));
|
|
475
475
|
text = textWithAlert();
|
|
@@ -480,7 +480,7 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
|
|
|
480
480
|
case 'high-latency':
|
|
481
481
|
text = textWithAlert();
|
|
482
482
|
tooltip = this.appendTooltipLine(tooltip, ( localize(
|
|
483
|
-
|
|
483
|
+
8918,
|
|
484
484
|
"Network appears to have high latency ({0}ms last, {1}ms average), certain features may be slow to respond.",
|
|
485
485
|
remoteConnectionLatencyMeasurer.latency?.current?.toFixed(2),
|
|
486
486
|
remoteConnectionLatencyMeasurer.latency?.average?.toFixed(2)
|
|
@@ -596,13 +596,13 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
|
|
|
596
596
|
const label = metadata.startConnectLabel;
|
|
597
597
|
const buttons = [{
|
|
598
598
|
iconClass: ThemeIcon.asClassName(infoIcon),
|
|
599
|
-
tooltip: ( localize(
|
|
599
|
+
tooltip: ( localize(8919, "Learn More"))
|
|
600
600
|
}];
|
|
601
601
|
notInstalledItems.push({ type: 'item', id: metadata.id, label: label, buttons: buttons });
|
|
602
602
|
}
|
|
603
603
|
}
|
|
604
604
|
items.push({
|
|
605
|
-
type: 'separator', label: ( localize(
|
|
605
|
+
type: 'separator', label: ( localize(8920, 'Install'))
|
|
606
606
|
});
|
|
607
607
|
items.push(...notInstalledItems);
|
|
608
608
|
}
|
|
@@ -615,13 +615,13 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
|
|
|
615
615
|
items.push({
|
|
616
616
|
type: 'item',
|
|
617
617
|
id: RemoteStatusIndicator_1.CLOSE_REMOTE_COMMAND_ID,
|
|
618
|
-
label: ( localize(
|
|
618
|
+
label: ( localize(8921, 'Close Remote Connection'))
|
|
619
619
|
});
|
|
620
620
|
if (this.connectionState === 'disconnected') {
|
|
621
621
|
items.push({
|
|
622
622
|
type: 'item',
|
|
623
623
|
id: ReloadWindowAction.ID,
|
|
624
|
-
label: ( localize(
|
|
624
|
+
label: ( localize(8922, 'Reload Window'))
|
|
625
625
|
});
|
|
626
626
|
}
|
|
627
627
|
}
|
|
@@ -629,7 +629,7 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
|
|
|
629
629
|
items.push({
|
|
630
630
|
type: 'item',
|
|
631
631
|
id: RemoteStatusIndicator_1.CLOSE_REMOTE_COMMAND_ID,
|
|
632
|
-
label: ( localize(
|
|
632
|
+
label: ( localize(8923, 'Close Remote Workspace'))
|
|
633
633
|
});
|
|
634
634
|
}
|
|
635
635
|
}
|
|
@@ -640,7 +640,7 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
|
|
|
640
640
|
};
|
|
641
641
|
const disposables = ( (new DisposableStore()));
|
|
642
642
|
const quickPick = disposables.add(this.quickInputService.createQuickPick({ useSeparators: true }));
|
|
643
|
-
quickPick.placeholder = ( localize(
|
|
643
|
+
quickPick.placeholder = ( localize(8924, "Select an option to open a Remote Window"));
|
|
644
644
|
quickPick.items = computeItems();
|
|
645
645
|
quickPick.sortByLabel = false;
|
|
646
646
|
quickPick.canSelectMany = false;
|
|
@@ -652,7 +652,7 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
|
|
|
652
652
|
if (remoteExtension) {
|
|
653
653
|
quickPick.items = [];
|
|
654
654
|
quickPick.busy = true;
|
|
655
|
-
quickPick.placeholder = ( localize(
|
|
655
|
+
quickPick.placeholder = ( localize(8925, 'Installing extension... '));
|
|
656
656
|
await this.installExtension(remoteExtension.id);
|
|
657
657
|
quickPick.hide();
|
|
658
658
|
await this.runRemoteStartCommand(remoteExtension.id, remoteExtension.startCommand);
|
|
@@ -714,7 +714,7 @@ RemoteStatusIndicator = RemoteStatusIndicator_1 = ( (__decorate([
|
|
|
714
714
|
'workbench.remoteIndicator.showExtensionRecommendations': {
|
|
715
715
|
type: 'boolean',
|
|
716
716
|
markdownDescription: ( localize(
|
|
717
|
-
|
|
717
|
+
8926,
|
|
718
718
|
"When enabled, remote extensions recommendations will be shown in the Remote Indicator menu."
|
|
719
719
|
)),
|
|
720
720
|
default: true
|
|
@@ -32,14 +32,14 @@ let RemoteStartEntry = class RemoteStartEntry extends Disposable {
|
|
|
32
32
|
this.registerListeners();
|
|
33
33
|
}
|
|
34
34
|
registerActions() {
|
|
35
|
-
const category = ( localize2(
|
|
35
|
+
const category = ( localize2(8949, "Remote"));
|
|
36
36
|
const startEntry = this;
|
|
37
37
|
this._register(registerAction2(class extends Action2 {
|
|
38
38
|
constructor() {
|
|
39
39
|
super({
|
|
40
40
|
id: RemoteStartEntry_1.REMOTE_WEB_START_ENTRY_ACTIONS_COMMAND_ID,
|
|
41
41
|
category,
|
|
42
|
-
title: ( localize2(
|
|
42
|
+
title: ( localize2(8950, "Show Remote Start Entry for web")),
|
|
43
43
|
f1: false
|
|
44
44
|
});
|
|
45
45
|
}
|
|
@@ -25,12 +25,12 @@ let TunnelFactoryContribution = class TunnelFactoryContribution extends Disposab
|
|
|
25
25
|
privacyOptions = [
|
|
26
26
|
{
|
|
27
27
|
id: 'private',
|
|
28
|
-
label: ( localize(
|
|
28
|
+
label: ( localize(8886, "Private")),
|
|
29
29
|
themeIcon: 'lock'
|
|
30
30
|
},
|
|
31
31
|
{
|
|
32
32
|
id: 'public',
|
|
33
|
-
label: ( localize(
|
|
33
|
+
label: ( localize(8887, "Public")),
|
|
34
34
|
themeIcon: 'eye'
|
|
35
35
|
}
|
|
36
36
|
];
|
|
@@ -98,9 +98,9 @@ let RemoteInvalidWorkspaceDetector = class RemoteInvalidWorkspaceDetector extend
|
|
|
98
98
|
}
|
|
99
99
|
const res = await this.dialogService.confirm({
|
|
100
100
|
type: 'warning',
|
|
101
|
-
message: ( localize(
|
|
102
|
-
detail: ( localize(
|
|
103
|
-
primaryButton: ( localize(
|
|
101
|
+
message: ( localize(3593, "Workspace does not exist")),
|
|
102
|
+
detail: ( localize(3594, "Please select another workspace to open.")),
|
|
103
|
+
primaryButton: ( localize(3595, "&&Open Workspace..."))
|
|
104
104
|
});
|
|
105
105
|
if (res.confirmed) {
|
|
106
106
|
if (workspace.configuration) {
|
|
@@ -127,7 +127,7 @@ registerWorkbenchContribution2(RemoteInvalidWorkspaceDetector.ID, RemoteInvalidW
|
|
|
127
127
|
constructor() {
|
|
128
128
|
super({
|
|
129
129
|
id: 'workbench.action.triggerReconnect',
|
|
130
|
-
title: ( localize2(
|
|
130
|
+
title: ( localize2(3596, 'Connection: Trigger Reconnect')),
|
|
131
131
|
category: Categories.Developer,
|
|
132
132
|
f1: true,
|
|
133
133
|
});
|
|
@@ -140,7 +140,7 @@ registerWorkbenchContribution2(RemoteInvalidWorkspaceDetector.ID, RemoteInvalidW
|
|
|
140
140
|
constructor() {
|
|
141
141
|
super({
|
|
142
142
|
id: 'workbench.action.pauseSocketWriting',
|
|
143
|
-
title: ( localize2(
|
|
143
|
+
title: ( localize2(3597, 'Connection: Pause socket writing')),
|
|
144
144
|
category: Categories.Developer,
|
|
145
145
|
f1: true,
|
|
146
146
|
});
|
|
@@ -160,11 +160,11 @@ const extensionKindSchema = {
|
|
|
160
160
|
],
|
|
161
161
|
enumDescriptions: [
|
|
162
162
|
( localize(
|
|
163
|
-
|
|
163
|
+
3598,
|
|
164
164
|
"UI extension kind. In a remote window, such extensions are enabled only when available on the local machine."
|
|
165
165
|
)),
|
|
166
166
|
( localize(
|
|
167
|
-
|
|
167
|
+
3599,
|
|
168
168
|
"Workspace extension kind. In a remote window, such extensions are enabled only when available on the remote."
|
|
169
169
|
))
|
|
170
170
|
],
|
|
@@ -172,13 +172,13 @@ const extensionKindSchema = {
|
|
|
172
172
|
( (Registry.as(Extensions$1.Configuration)))
|
|
173
173
|
.registerConfiguration({
|
|
174
174
|
id: 'remote',
|
|
175
|
-
title: ( localize(
|
|
175
|
+
title: ( localize(3600, "Remote")),
|
|
176
176
|
type: 'object',
|
|
177
177
|
properties: {
|
|
178
178
|
'remote.extensionKind': {
|
|
179
179
|
type: 'object',
|
|
180
180
|
markdownDescription: ( localize(
|
|
181
|
-
|
|
181
|
+
3601,
|
|
182
182
|
"Override the kind of an extension. `ui` extensions are installed and run on the local machine while `workspace` extensions are run on the remote. By overriding an extension's default kind using this setting, you specify if that extension should be installed and enabled locally or remotely."
|
|
183
183
|
)),
|
|
184
184
|
patternProperties: {
|
|
@@ -193,13 +193,13 @@ const extensionKindSchema = {
|
|
|
193
193
|
},
|
|
194
194
|
'remote.restoreForwardedPorts': {
|
|
195
195
|
type: 'boolean',
|
|
196
|
-
markdownDescription: ( localize(
|
|
196
|
+
markdownDescription: ( localize(3602, "Restores the ports you forwarded in a workspace.")),
|
|
197
197
|
default: true
|
|
198
198
|
},
|
|
199
199
|
'remote.autoForwardPorts': {
|
|
200
200
|
type: 'boolean',
|
|
201
201
|
markdownDescription: ( localize(
|
|
202
|
-
|
|
202
|
+
3603,
|
|
203
203
|
"When enabled, new running processes are detected and ports that they listen on are automatically forwarded. Disabling this setting will not prevent all ports from being forwarded. Even when disabled, extensions will still be able to cause ports to be forwarded, and opening some URLs will still cause ports to forwarded. Also see {0}.",
|
|
204
204
|
'`#remote.autoForwardPortsSource#`'
|
|
205
205
|
)),
|
|
@@ -208,7 +208,7 @@ const extensionKindSchema = {
|
|
|
208
208
|
'remote.autoForwardPortsSource': {
|
|
209
209
|
type: 'string',
|
|
210
210
|
markdownDescription: ( localize(
|
|
211
|
-
|
|
211
|
+
3604,
|
|
212
212
|
"Sets the source from which ports are automatically forwarded when {0} is true. When {0} is false, {1} will be used to find information about ports that have already been forwarded. On Windows and macOS remotes, the `process` and `hybrid` options have no effect and `output` will be used.",
|
|
213
213
|
'`#remote.autoForwardPorts#`',
|
|
214
214
|
'`#remote.autoForwardPortsSource#`'
|
|
@@ -216,15 +216,15 @@ const extensionKindSchema = {
|
|
|
216
216
|
enum: ['process', 'output', 'hybrid'],
|
|
217
217
|
enumDescriptions: [
|
|
218
218
|
( localize(
|
|
219
|
-
|
|
219
|
+
3605,
|
|
220
220
|
"Ports will be automatically forwarded when discovered by watching for processes that are started and include a port."
|
|
221
221
|
)),
|
|
222
222
|
( localize(
|
|
223
|
-
|
|
223
|
+
3606,
|
|
224
224
|
"Ports will be automatically forwarded when discovered by reading terminal and debug output. Not all processes that use ports will print to the integrated terminal or debug console, so some ports will be missed. Ports forwarded based on output will not be \"un-forwarded\" until reload or until the port is closed by the user in the Ports view."
|
|
225
225
|
)),
|
|
226
226
|
( localize(
|
|
227
|
-
|
|
227
|
+
3607,
|
|
228
228
|
"Ports will be automatically forwarded when discovered by reading terminal and debug output. Not all processes that use ports will print to the integrated terminal or debug console, so some ports will be missed. Ports will be \"un-forwarded\" by watching for processes that listen on that port to be terminated."
|
|
229
229
|
))
|
|
230
230
|
],
|
|
@@ -234,14 +234,14 @@ const extensionKindSchema = {
|
|
|
234
234
|
type: 'number',
|
|
235
235
|
default: 20,
|
|
236
236
|
markdownDescription: ( localize(
|
|
237
|
-
|
|
237
|
+
3608,
|
|
238
238
|
"The number of auto forwarded ports that will trigger the switch from `process` to `hybrid` when automatically forwarding ports and `remote.autoForwardPortsSource` is set to `process` by default. Set to `0` to disable the fallback. When `remote.autoForwardPortsFallback` hasn't been configured, but `remote.autoForwardPortsSource` has, `remote.autoForwardPortsFallback` will be treated as though it's set to `0`."
|
|
239
239
|
))
|
|
240
240
|
},
|
|
241
241
|
'remote.forwardOnOpen': {
|
|
242
242
|
type: 'boolean',
|
|
243
243
|
description: ( localize(
|
|
244
|
-
|
|
244
|
+
3609,
|
|
245
245
|
"Controls whether local URLs with a port will be forwarded when opened from the terminal and the debug console."
|
|
246
246
|
)),
|
|
247
247
|
default: true
|
|
@@ -252,7 +252,7 @@ const extensionKindSchema = {
|
|
|
252
252
|
'(^\\d+(-\\d+)?$)|(.+)': {
|
|
253
253
|
type: 'object',
|
|
254
254
|
description: ( localize(
|
|
255
|
-
|
|
255
|
+
3610,
|
|
256
256
|
"A port, range of ports (ex. \"40000-55000\"), host and port (ex. \"db:1234\"), or regular expression (ex. \".+\\\\/server.js\"). For a port number or range, the attributes will apply to that port number or range of port numbers. Attributes which use a regular expression will apply to ports whose associated process command line matches the expression."
|
|
257
257
|
)),
|
|
258
258
|
properties: {
|
|
@@ -260,27 +260,27 @@ const extensionKindSchema = {
|
|
|
260
260
|
type: 'string',
|
|
261
261
|
enum: ['notify', 'openBrowser', 'openBrowserOnce', 'openPreview', 'silent', 'ignore'],
|
|
262
262
|
enumDescriptions: [
|
|
263
|
-
( localize(
|
|
263
|
+
( localize(3611, "Shows a notification when a port is automatically forwarded.")),
|
|
264
264
|
( localize(
|
|
265
|
-
|
|
265
|
+
3612,
|
|
266
266
|
"Opens the browser when the port is automatically forwarded. Depending on your settings, this could open an embedded browser."
|
|
267
267
|
)),
|
|
268
268
|
( localize(
|
|
269
|
-
|
|
269
|
+
3613,
|
|
270
270
|
"Opens the browser when the port is automatically forwarded, but only the first time the port is forward during a session. Depending on your settings, this could open an embedded browser."
|
|
271
271
|
)),
|
|
272
272
|
( localize(
|
|
273
|
-
|
|
273
|
+
3614,
|
|
274
274
|
"Opens a preview in the same window when the port is automatically forwarded."
|
|
275
275
|
)),
|
|
276
276
|
( localize(
|
|
277
|
-
|
|
277
|
+
3615,
|
|
278
278
|
"Shows no notification and takes no action when this port is automatically forwarded."
|
|
279
279
|
)),
|
|
280
|
-
( localize(
|
|
280
|
+
( localize(3616, "This port will not be automatically forwarded."))
|
|
281
281
|
],
|
|
282
282
|
description: ( localize(
|
|
283
|
-
|
|
283
|
+
3617,
|
|
284
284
|
"Defines the action that occurs when the port is discovered for automatic forwarding"
|
|
285
285
|
)),
|
|
286
286
|
default: 'notify'
|
|
@@ -288,20 +288,20 @@ const extensionKindSchema = {
|
|
|
288
288
|
'elevateIfNeeded': {
|
|
289
289
|
type: 'boolean',
|
|
290
290
|
description: ( localize(
|
|
291
|
-
|
|
291
|
+
3618,
|
|
292
292
|
"Automatically prompt for elevation (if needed) when this port is forwarded. Elevate is required if the local port is a privileged port."
|
|
293
293
|
)),
|
|
294
294
|
default: false
|
|
295
295
|
},
|
|
296
296
|
'label': {
|
|
297
297
|
type: 'string',
|
|
298
|
-
description: ( localize(
|
|
299
|
-
default: ( localize(
|
|
298
|
+
description: ( localize(3619, "Label that will be shown in the UI for this port.")),
|
|
299
|
+
default: ( localize(3620, "Application"))
|
|
300
300
|
},
|
|
301
301
|
'requireLocalPort': {
|
|
302
302
|
type: 'boolean',
|
|
303
303
|
markdownDescription: ( localize(
|
|
304
|
-
|
|
304
|
+
3621,
|
|
305
305
|
"When true, a modal dialog will show if the chosen local port isn't used for forwarding."
|
|
306
306
|
)),
|
|
307
307
|
default: false
|
|
@@ -309,22 +309,22 @@ const extensionKindSchema = {
|
|
|
309
309
|
'protocol': {
|
|
310
310
|
type: 'string',
|
|
311
311
|
enum: ['http', 'https'],
|
|
312
|
-
description: ( localize(
|
|
312
|
+
description: ( localize(3622, "The protocol to use when forwarding this port."))
|
|
313
313
|
}
|
|
314
314
|
},
|
|
315
315
|
default: {
|
|
316
|
-
'label': ( localize(
|
|
316
|
+
'label': ( localize(3620, "Application")),
|
|
317
317
|
'onAutoForward': 'notify'
|
|
318
318
|
}
|
|
319
319
|
}
|
|
320
320
|
},
|
|
321
321
|
markdownDescription: ( localize(
|
|
322
|
-
|
|
322
|
+
3623,
|
|
323
323
|
"Set properties that are applied when a specific port number is forwarded. For example:\n\n```\n\"3000\": {\n \"label\": \"Application\"\n},\n\"40000-55000\": {\n \"onAutoForward\": \"ignore\"\n},\n\".+\\\\/server.js\": {\n \"onAutoForward\": \"openPreview\"\n}\n```"
|
|
324
324
|
)),
|
|
325
325
|
defaultSnippets: [{ body: { '${1:3000}': { label: '${2:Application}', onAutoForward: 'openPreview' } } }],
|
|
326
326
|
errorMessage: ( localize(
|
|
327
|
-
|
|
327
|
+
3624,
|
|
328
328
|
"Must be a port number, range of port numbers, or regular expression."
|
|
329
329
|
)),
|
|
330
330
|
additionalProperties: false,
|
|
@@ -344,23 +344,23 @@ const extensionKindSchema = {
|
|
|
344
344
|
type: 'string',
|
|
345
345
|
enum: ['notify', 'openBrowser', 'openPreview', 'silent', 'ignore'],
|
|
346
346
|
enumDescriptions: [
|
|
347
|
-
( localize(
|
|
347
|
+
( localize(3611, "Shows a notification when a port is automatically forwarded.")),
|
|
348
348
|
( localize(
|
|
349
|
-
|
|
349
|
+
3612,
|
|
350
350
|
"Opens the browser when the port is automatically forwarded. Depending on your settings, this could open an embedded browser."
|
|
351
351
|
)),
|
|
352
352
|
( localize(
|
|
353
|
-
|
|
353
|
+
3614,
|
|
354
354
|
"Opens a preview in the same window when the port is automatically forwarded."
|
|
355
355
|
)),
|
|
356
356
|
( localize(
|
|
357
|
-
|
|
357
|
+
3615,
|
|
358
358
|
"Shows no notification and takes no action when this port is automatically forwarded."
|
|
359
359
|
)),
|
|
360
|
-
( localize(
|
|
360
|
+
( localize(3616, "This port will not be automatically forwarded."))
|
|
361
361
|
],
|
|
362
362
|
description: ( localize(
|
|
363
|
-
|
|
363
|
+
3617,
|
|
364
364
|
"Defines the action that occurs when the port is discovered for automatic forwarding"
|
|
365
365
|
)),
|
|
366
366
|
default: 'notify'
|
|
@@ -368,20 +368,20 @@ const extensionKindSchema = {
|
|
|
368
368
|
'elevateIfNeeded': {
|
|
369
369
|
type: 'boolean',
|
|
370
370
|
description: ( localize(
|
|
371
|
-
|
|
371
|
+
3618,
|
|
372
372
|
"Automatically prompt for elevation (if needed) when this port is forwarded. Elevate is required if the local port is a privileged port."
|
|
373
373
|
)),
|
|
374
374
|
default: false
|
|
375
375
|
},
|
|
376
376
|
'label': {
|
|
377
377
|
type: 'string',
|
|
378
|
-
description: ( localize(
|
|
379
|
-
default: ( localize(
|
|
378
|
+
description: ( localize(3619, "Label that will be shown in the UI for this port.")),
|
|
379
|
+
default: ( localize(3620, "Application"))
|
|
380
380
|
},
|
|
381
381
|
'requireLocalPort': {
|
|
382
382
|
type: 'boolean',
|
|
383
383
|
markdownDescription: ( localize(
|
|
384
|
-
|
|
384
|
+
3621,
|
|
385
385
|
"When true, a modal dialog will show if the chosen local port isn't used for forwarding."
|
|
386
386
|
)),
|
|
387
387
|
default: false
|
|
@@ -389,12 +389,12 @@ const extensionKindSchema = {
|
|
|
389
389
|
'protocol': {
|
|
390
390
|
type: 'string',
|
|
391
391
|
enum: ['http', 'https'],
|
|
392
|
-
description: ( localize(
|
|
392
|
+
description: ( localize(3622, "The protocol to use when forwarding this port."))
|
|
393
393
|
}
|
|
394
394
|
},
|
|
395
395
|
defaultSnippets: [{ body: { onAutoForward: 'ignore' } }],
|
|
396
396
|
markdownDescription: ( localize(
|
|
397
|
-
|
|
397
|
+
3625,
|
|
398
398
|
"Set default properties that are applied to all ports that don't get properties from the setting {0}. For example:\n\n```\n{\n \"onAutoForward\": \"ignore\"\n}\n```",
|
|
399
399
|
'`#remote.portsAttributes#`'
|
|
400
400
|
)),
|
|
@@ -405,7 +405,7 @@ const extensionKindSchema = {
|
|
|
405
405
|
enum: ['localhost', 'allInterfaces'],
|
|
406
406
|
default: 'localhost',
|
|
407
407
|
description: ( localize(
|
|
408
|
-
|
|
408
|
+
3626,
|
|
409
409
|
"Specifies the local host name that will be used for port forwarding."
|
|
410
410
|
))
|
|
411
411
|
}
|
|
@@ -45,15 +45,15 @@ let RemoteConnectionFailureNotificationContribution = class RemoteConnectionFail
|
|
|
45
45
|
async _presentConnectionError(err) {
|
|
46
46
|
await this._dialogService.prompt({
|
|
47
47
|
type: Severity$1.Error,
|
|
48
|
-
message: ( localize(
|
|
48
|
+
message: ( localize(3586, "An unexpected error occurred that requires a reload of this page.")),
|
|
49
49
|
detail: ( localize(
|
|
50
|
-
|
|
50
|
+
3587,
|
|
51
51
|
"The workbench failed to connect to the server (Error: {0})",
|
|
52
52
|
err ? err.message : ''
|
|
53
53
|
)),
|
|
54
54
|
buttons: [
|
|
55
55
|
{
|
|
56
|
-
label: ( localize(
|
|
56
|
+
label: ( localize(3588, "&&Reload")),
|
|
57
57
|
run: () => this._hostService.reload()
|
|
58
58
|
}
|
|
59
59
|
]
|