@codingame/monaco-vscode-remote-agent-service-override 21.3.2 → 21.3.4
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 +11 -11
- 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 +25 -25
- 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 +48 -48
- 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": "21.3.
|
|
3
|
+
"version": "21.3.4",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "VSCode public API plugged on the monaco editor - remote-agent service-override",
|
|
6
6
|
"keywords": [],
|
|
@@ -15,16 +15,16 @@
|
|
|
15
15
|
},
|
|
16
16
|
"type": "module",
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@codingame/monaco-vscode-158b9837-fc78-5d9c-86f5-9134e4358643-common": "21.3.
|
|
19
|
-
"@codingame/monaco-vscode-1b4486de-4fe4-59c4-9e6d-34f265ff6625-common": "21.3.
|
|
20
|
-
"@codingame/monaco-vscode-2a94c04a-b85b-5669-b06b-89c1bfa11cb9-common": "21.3.
|
|
21
|
-
"@codingame/monaco-vscode-4a3ac544-9a61-534c-88df-756262793ef7-common": "21.3.
|
|
22
|
-
"@codingame/monaco-vscode-4bf376c2-03c7-58cb-8303-c67aeefa3d3d-common": "21.3.
|
|
23
|
-
"@codingame/monaco-vscode-4fad3647-b95d-5c19-bab1-bb9de627a5ec-common": "21.3.
|
|
24
|
-
"@codingame/monaco-vscode-a654b07e-8806-5425-b124-18f03ba8e11a-common": "21.3.
|
|
25
|
-
"@codingame/monaco-vscode-abed5a84-8a82-5f84-9412-88a736235bae-common": "21.3.
|
|
26
|
-
"@codingame/monaco-vscode-api": "21.3.
|
|
27
|
-
"@codingame/monaco-vscode-environment-service-override": "21.3.
|
|
18
|
+
"@codingame/monaco-vscode-158b9837-fc78-5d9c-86f5-9134e4358643-common": "21.3.4",
|
|
19
|
+
"@codingame/monaco-vscode-1b4486de-4fe4-59c4-9e6d-34f265ff6625-common": "21.3.4",
|
|
20
|
+
"@codingame/monaco-vscode-2a94c04a-b85b-5669-b06b-89c1bfa11cb9-common": "21.3.4",
|
|
21
|
+
"@codingame/monaco-vscode-4a3ac544-9a61-534c-88df-756262793ef7-common": "21.3.4",
|
|
22
|
+
"@codingame/monaco-vscode-4bf376c2-03c7-58cb-8303-c67aeefa3d3d-common": "21.3.4",
|
|
23
|
+
"@codingame/monaco-vscode-4fad3647-b95d-5c19-bab1-bb9de627a5ec-common": "21.3.4",
|
|
24
|
+
"@codingame/monaco-vscode-a654b07e-8806-5425-b124-18f03ba8e11a-common": "21.3.4",
|
|
25
|
+
"@codingame/monaco-vscode-abed5a84-8a82-5f84-9412-88a736235bae-common": "21.3.4",
|
|
26
|
+
"@codingame/monaco-vscode-api": "21.3.4",
|
|
27
|
+
"@codingame/monaco-vscode-environment-service-override": "21.3.4"
|
|
28
28
|
},
|
|
29
29
|
"main": "index.js",
|
|
30
30
|
"module": "index.js",
|
|
@@ -29,7 +29,7 @@ let SwitchRemoteViewItem = class SwitchRemoteViewItem extends Disposable {
|
|
|
29
29
|
this.switchRemoteMenu = MenuId.for('workbench.remote.menu.switchRemoteMenu');
|
|
30
30
|
this._register(MenuRegistry.appendMenuItem(MenuId.ViewContainerTitle, {
|
|
31
31
|
submenu: this.switchRemoteMenu,
|
|
32
|
-
title: ( localize(
|
|
32
|
+
title: ( localize(9701, "Switch Remote")),
|
|
33
33
|
group: 'navigation',
|
|
34
34
|
when: ( ContextKeyExpr.equals('viewContainer', VIEWLET_ID)),
|
|
35
35
|
order: 1,
|
|
@@ -121,27 +121,27 @@ class HelpModel extends Disposable {
|
|
|
121
121
|
const getStarted = this.viewModel.helpInformation.filter(info => info.getStarted);
|
|
122
122
|
if (getStarted.length) {
|
|
123
123
|
const helpItemValues = ( getStarted.map((info) => this.createHelpItemValue(info, 'getStarted')));
|
|
124
|
-
const getStartedHelpItem = this.items?.find(item => item.icon === getStartedIcon) ?? ( new GetStartedHelpItem(getStartedIcon, ( localize(
|
|
124
|
+
const getStartedHelpItem = this.items?.find(item => item.icon === getStartedIcon) ?? ( new GetStartedHelpItem(getStartedIcon, ( localize(9702, "Get Started")), helpItemValues, this.quickInputService, this.environmentService, this.openerService, this.remoteExplorerService, this.workspaceContextService, this.commandService));
|
|
125
125
|
getStartedHelpItem.values = helpItemValues;
|
|
126
126
|
helpItems.push(getStartedHelpItem);
|
|
127
127
|
}
|
|
128
128
|
const documentation = this.viewModel.helpInformation.filter(info => info.documentation);
|
|
129
129
|
if (documentation.length) {
|
|
130
130
|
const helpItemValues = ( documentation.map((info) => this.createHelpItemValue(info, 'documentation')));
|
|
131
|
-
const documentationHelpItem = this.items?.find(item => item.icon === documentationIcon) ?? ( new HelpItem(documentationIcon, ( localize(
|
|
131
|
+
const documentationHelpItem = this.items?.find(item => item.icon === documentationIcon) ?? ( new HelpItem(documentationIcon, ( localize(9703, "Read Documentation")), helpItemValues, this.quickInputService, this.environmentService, this.openerService, this.remoteExplorerService, this.workspaceContextService));
|
|
132
132
|
documentationHelpItem.values = helpItemValues;
|
|
133
133
|
helpItems.push(documentationHelpItem);
|
|
134
134
|
}
|
|
135
135
|
const issues = this.viewModel.helpInformation.filter(info => info.issues);
|
|
136
136
|
if (issues.length) {
|
|
137
137
|
const helpItemValues = ( issues.map((info) => this.createHelpItemValue(info, 'issues')));
|
|
138
|
-
const reviewIssuesHelpItem = this.items?.find(item => item.icon === reviewIssuesIcon) ?? ( new HelpItem(reviewIssuesIcon, ( localize(
|
|
138
|
+
const reviewIssuesHelpItem = this.items?.find(item => item.icon === reviewIssuesIcon) ?? ( new HelpItem(reviewIssuesIcon, ( localize(9704, "Review Issues")), helpItemValues, this.quickInputService, this.environmentService, this.openerService, this.remoteExplorerService, this.workspaceContextService));
|
|
139
139
|
reviewIssuesHelpItem.values = helpItemValues;
|
|
140
140
|
helpItems.push(reviewIssuesHelpItem);
|
|
141
141
|
}
|
|
142
142
|
if (helpItems.length) {
|
|
143
143
|
const helpItemValues = ( this.viewModel.helpInformation.map(info => this.createHelpItemValue(info, 'reportIssue')));
|
|
144
|
-
const issueReporterItem = this.items?.find(item => item.icon === reportIssuesIcon) ?? ( new IssueReporterItem(reportIssuesIcon, ( localize(
|
|
144
|
+
const issueReporterItem = this.items?.find(item => item.icon === reportIssuesIcon) ?? ( new IssueReporterItem(reportIssuesIcon, ( localize(9705, "Report Issue")), helpItemValues, this.quickInputService, this.environmentService, this.commandService, this.openerService, this.remoteExplorerService, this.workspaceContextService));
|
|
145
145
|
issueReporterItem.values = helpItemValues;
|
|
146
146
|
helpItems.push(issueReporterItem);
|
|
147
147
|
}
|
|
@@ -258,7 +258,7 @@ class HelpItemBase {
|
|
|
258
258
|
if (this.values.length > 1) {
|
|
259
259
|
const actions = await this.getActions();
|
|
260
260
|
if (actions.length) {
|
|
261
|
-
const action = await this.quickInputService.pick(actions, { placeHolder: ( localize(
|
|
261
|
+
const action = await this.quickInputService.pick(actions, { placeHolder: ( localize(9706, "Select url to open")) });
|
|
262
262
|
if (action) {
|
|
263
263
|
await this.takeAction(action.extensionDescription, action.url);
|
|
264
264
|
}
|
|
@@ -319,7 +319,7 @@ class IssueReporterItem extends HelpItemBase {
|
|
|
319
319
|
}
|
|
320
320
|
let HelpPanel = class HelpPanel extends ViewPane {
|
|
321
321
|
static { this.ID = '~remote.helpPanel'; }
|
|
322
|
-
static { this.TITLE = ( localize2(
|
|
322
|
+
static { this.TITLE = ( localize2(9707, "Help and feedback")); }
|
|
323
323
|
constructor(viewModel, options, keybindingService, contextMenuService, contextKeyService, configurationService, instantiationService, viewDescriptorService, openerService, quickInputService, commandService, remoteExplorerService, environmentService, themeService, hoverService, workspaceContextService, walkthroughsService) {
|
|
324
324
|
super(options, keybindingService, contextMenuService, configurationService, contextKeyService, viewDescriptorService, instantiationService, openerService, themeService, hoverService);
|
|
325
325
|
this.viewModel = viewModel;
|
|
@@ -341,7 +341,7 @@ let HelpPanel = class HelpPanel extends ViewPane {
|
|
|
341
341
|
getAriaLabel: (item) => {
|
|
342
342
|
return item.label;
|
|
343
343
|
},
|
|
344
|
-
getWidgetAriaLabel: () => ( localize(
|
|
344
|
+
getWidgetAriaLabel: () => ( localize(9708, "Remote Help"))
|
|
345
345
|
}
|
|
346
346
|
});
|
|
347
347
|
const model = this._register(( new HelpModel(
|
|
@@ -470,7 +470,7 @@ let RemoteViewPaneContainer = class RemoteViewPaneContainer extends FilterViewPa
|
|
|
470
470
|
this.remoteExplorerService.targetType = isStringArray(viewDescriptor.remoteAuthority) ? viewDescriptor.remoteAuthority : [viewDescriptor.remoteAuthority];
|
|
471
471
|
}
|
|
472
472
|
getTitle() {
|
|
473
|
-
const title = ( localize(
|
|
473
|
+
const title = ( localize(9709, "Remote Explorer"));
|
|
474
474
|
return title;
|
|
475
475
|
}
|
|
476
476
|
};
|
|
@@ -490,7 +490,7 @@ RemoteViewPaneContainer = ( __decorate([
|
|
|
490
490
|
], RemoteViewPaneContainer));
|
|
491
491
|
( Registry.as(Extensions.ViewContainersRegistry)).registerViewContainer({
|
|
492
492
|
id: VIEWLET_ID,
|
|
493
|
-
title: ( localize2(
|
|
493
|
+
title: ( localize2(9709, "Remote Explorer")),
|
|
494
494
|
ctorDescriptor: ( new SyncDescriptor(RemoteViewPaneContainer)),
|
|
495
495
|
hideIfEmpty: true,
|
|
496
496
|
viewOrderDelegate: {
|
|
@@ -596,10 +596,10 @@ class ReconnectionTimer {
|
|
|
596
596
|
}
|
|
597
597
|
const remainingTime = Math.ceil(remainingTimeMs / 1000);
|
|
598
598
|
if (remainingTime === 1) {
|
|
599
|
-
this._parent.report(( localize(
|
|
599
|
+
this._parent.report(( localize(9710, "Attempting to reconnect in {0} second...", remainingTime)));
|
|
600
600
|
}
|
|
601
601
|
else {
|
|
602
|
-
this._parent.report(( localize(
|
|
602
|
+
this._parent.report(( localize(9711, "Attempting to reconnect in {0} seconds...", remainingTime)));
|
|
603
603
|
}
|
|
604
604
|
}
|
|
605
605
|
}
|
|
@@ -648,13 +648,13 @@ let RemoteAgentConnectionStatusListener = class RemoteAgentConnectionStatusListe
|
|
|
648
648
|
let lastIncomingDataTime = 0;
|
|
649
649
|
let reconnectionAttempts = 0;
|
|
650
650
|
const reconnectButton = {
|
|
651
|
-
label: ( localize(
|
|
651
|
+
label: ( localize(9712, "Reconnect Now")),
|
|
652
652
|
callback: () => {
|
|
653
653
|
reconnectWaitEvent?.skipWait();
|
|
654
654
|
}
|
|
655
655
|
};
|
|
656
656
|
const reloadButton = {
|
|
657
|
-
label: ( localize(
|
|
657
|
+
label: ( localize(9713, "Reload Window")),
|
|
658
658
|
callback: () => {
|
|
659
659
|
telemetryService.publicLog2('remoteReconnectionReload', {
|
|
660
660
|
remoteName: getRemoteName(environmentService.remoteAuthority),
|
|
@@ -681,7 +681,7 @@ let RemoteAgentConnectionStatusListener = class RemoteAgentConnectionStatusListe
|
|
|
681
681
|
if (!visibleProgress) {
|
|
682
682
|
visibleProgress = showProgress(null, [reconnectButton, reloadButton]);
|
|
683
683
|
}
|
|
684
|
-
visibleProgress.report(( localize(
|
|
684
|
+
visibleProgress.report(( localize(9714, "Connection Lost")));
|
|
685
685
|
}
|
|
686
686
|
break;
|
|
687
687
|
case PersistentConnectionEventType.ReconnectionWait:
|
|
@@ -703,7 +703,7 @@ let RemoteAgentConnectionStatusListener = class RemoteAgentConnectionStatusListe
|
|
|
703
703
|
});
|
|
704
704
|
if (visibleProgress || e.millisSinceLastIncomingData > DISCONNECT_PROMPT_TIME) {
|
|
705
705
|
visibleProgress = showProgress(null, [reloadButton]);
|
|
706
|
-
visibleProgress.report(( localize(
|
|
706
|
+
visibleProgress.report(( localize(9715, "Disconnected. Attempting to reconnect...")));
|
|
707
707
|
disposableListener.value = quickInputService.onShow(() => {
|
|
708
708
|
if (visibleProgress && visibleProgress.location === ProgressLocation.Dialog) {
|
|
709
709
|
visibleProgress = showProgress(ProgressLocation.Notification, [reloadButton], visibleProgress.lastReport);
|
|
@@ -731,8 +731,8 @@ let RemoteAgentConnectionStatusListener = class RemoteAgentConnectionStatusListe
|
|
|
731
731
|
this._reloadWindowShown = true;
|
|
732
732
|
dialogService.confirm({
|
|
733
733
|
type: Severity.Error,
|
|
734
|
-
message: ( localize(
|
|
735
|
-
primaryButton: ( localize(
|
|
734
|
+
message: ( localize(9716, "Cannot reconnect. Please reload the window.")),
|
|
735
|
+
primaryButton: ( localize(9717, "&&Reload Window"))
|
|
736
736
|
}).then(result => {
|
|
737
737
|
if (result.confirmed) {
|
|
738
738
|
commandService.executeCommand(ReloadWindowAction.ID);
|
|
@@ -44,17 +44,17 @@ let InitialRemoteConnectionHealthContribution = class InitialRemoteConnectionHea
|
|
|
44
44
|
const { result, checkboxChecked } = await this.dialogService.prompt({
|
|
45
45
|
type: Severity.Warning,
|
|
46
46
|
message: ( localize(
|
|
47
|
-
|
|
47
|
+
9718,
|
|
48
48
|
"You are about to connect to an OS version that is unsupported by {0}.",
|
|
49
49
|
this.productService.nameLong
|
|
50
50
|
)),
|
|
51
51
|
buttons: [
|
|
52
52
|
{
|
|
53
|
-
label: ( localize(
|
|
53
|
+
label: ( localize(9719, "&&Allow")),
|
|
54
54
|
run: () => ConnectionChoice.Allow
|
|
55
55
|
},
|
|
56
56
|
{
|
|
57
|
-
label: ( localize(
|
|
57
|
+
label: ( localize(9720, "&&Learn More")),
|
|
58
58
|
run: async () => { await this.openerService.open('https://aka.ms/vscode-remote/faq/old-linux'); return ConnectionChoice.LearnMore; }
|
|
59
59
|
}
|
|
60
60
|
],
|
|
@@ -62,7 +62,7 @@ let InitialRemoteConnectionHealthContribution = class InitialRemoteConnectionHea
|
|
|
62
62
|
run: () => ConnectionChoice.Cancel
|
|
63
63
|
},
|
|
64
64
|
checkbox: {
|
|
65
|
-
label: ( localize(
|
|
65
|
+
label: ( localize(9721, "Do not show again")),
|
|
66
66
|
}
|
|
67
67
|
});
|
|
68
68
|
if (result === ConnectionChoice.LearnMore) {
|
|
@@ -88,14 +88,14 @@ let InitialRemoteConnectionHealthContribution = class InitialRemoteConnectionHea
|
|
|
88
88
|
if (shouldShowBanner) {
|
|
89
89
|
const actions = [
|
|
90
90
|
{
|
|
91
|
-
label: ( localize(
|
|
91
|
+
label: ( localize(9722, "Learn More")),
|
|
92
92
|
href: 'https://aka.ms/vscode-remote/faq/old-linux'
|
|
93
93
|
}
|
|
94
94
|
];
|
|
95
95
|
this.bannerService.show({
|
|
96
96
|
id: 'unsupportedGlibcWarning.banner',
|
|
97
97
|
message: ( localize(
|
|
98
|
-
|
|
98
|
+
9723,
|
|
99
99
|
"You are connected to an OS version that is unsupported by {0}.",
|
|
100
100
|
this.productService.nameLong
|
|
101
101
|
)),
|
|
@@ -141,14 +141,14 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
|
|
|
141
141
|
this.updateRemoteStatusIndicator();
|
|
142
142
|
}
|
|
143
143
|
registerActions() {
|
|
144
|
-
const category = ( localize2(
|
|
144
|
+
const category = ( localize2(9757, "Remote"));
|
|
145
145
|
const that = this;
|
|
146
146
|
this._register(registerAction2(class extends Action2 {
|
|
147
147
|
constructor() {
|
|
148
148
|
super({
|
|
149
149
|
id: RemoteStatusIndicator_1.REMOTE_ACTIONS_COMMAND_ID,
|
|
150
150
|
category,
|
|
151
|
-
title: ( localize2(
|
|
151
|
+
title: ( localize2(9758, "Show Remote Menu")),
|
|
152
152
|
f1: true,
|
|
153
153
|
keybinding: {
|
|
154
154
|
weight: KeybindingWeight.WorkbenchContrib,
|
|
@@ -164,7 +164,7 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
|
|
|
164
164
|
super({
|
|
165
165
|
id: RemoteStatusIndicator_1.CLOSE_REMOTE_COMMAND_ID,
|
|
166
166
|
category,
|
|
167
|
-
title: ( localize2(
|
|
167
|
+
title: ( localize2(9759, "Close Remote Connection")),
|
|
168
168
|
f1: true,
|
|
169
169
|
precondition: ( ContextKeyExpr.or(RemoteNameContext, VirtualWorkspaceContext))
|
|
170
170
|
});
|
|
@@ -176,7 +176,7 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
|
|
|
176
176
|
group: '6_close',
|
|
177
177
|
command: {
|
|
178
178
|
id: RemoteStatusIndicator_1.CLOSE_REMOTE_COMMAND_ID,
|
|
179
|
-
title: ( localize(
|
|
179
|
+
title: ( localize(9760, "Close Re&&mote Connection"))
|
|
180
180
|
},
|
|
181
181
|
order: 3.5
|
|
182
182
|
});
|
|
@@ -188,7 +188,7 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
|
|
|
188
188
|
super({
|
|
189
189
|
id: RemoteStatusIndicator_1.INSTALL_REMOTE_EXTENSIONS_ID,
|
|
190
190
|
category,
|
|
191
|
-
title: ( localize2(
|
|
191
|
+
title: ( localize2(9761, "Install Remote Development Extensions")),
|
|
192
192
|
f1: true
|
|
193
193
|
});
|
|
194
194
|
this.run = (accessor, input) => {
|
|
@@ -396,18 +396,18 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
|
|
|
396
396
|
const hostLabel = this.labelService.getHostLabel(Schemas.vscodeRemote, this.remoteAuthority) || this.remoteAuthority;
|
|
397
397
|
switch (this.connectionState) {
|
|
398
398
|
case 'initializing':
|
|
399
|
-
this.renderRemoteStatusIndicator(( localize(
|
|
399
|
+
this.renderRemoteStatusIndicator(( localize(9762, "Opening Remote...")), ( localize(9762, "Opening Remote...")), undefined, true );
|
|
400
400
|
break;
|
|
401
401
|
case 'reconnecting':
|
|
402
402
|
this.renderRemoteStatusIndicator(`${( localize(
|
|
403
|
-
|
|
403
|
+
9763,
|
|
404
404
|
"Reconnecting to {0}...",
|
|
405
405
|
truncate(hostLabel, RemoteStatusIndicator_1.REMOTE_STATUS_LABEL_MAX_LENGTH)
|
|
406
406
|
))}`, undefined, undefined, true );
|
|
407
407
|
break;
|
|
408
408
|
case 'disconnected':
|
|
409
409
|
this.renderRemoteStatusIndicator(`$(alert) ${( localize(
|
|
410
|
-
|
|
410
|
+
9764,
|
|
411
411
|
"Disconnected from {0}",
|
|
412
412
|
truncate(hostLabel, RemoteStatusIndicator_1.REMOTE_STATUS_LABEL_MAX_LENGTH)
|
|
413
413
|
))}`);
|
|
@@ -419,7 +419,7 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
|
|
|
419
419
|
tooltip.appendMarkdown(hostNameTooltip);
|
|
420
420
|
}
|
|
421
421
|
else {
|
|
422
|
-
tooltip.appendText(( localize(
|
|
422
|
+
tooltip.appendText(( localize(9765, "Editing on {0}", hostLabel)));
|
|
423
423
|
}
|
|
424
424
|
this.renderRemoteStatusIndicator(`$(remote) ${truncate(hostLabel, RemoteStatusIndicator_1.REMOTE_STATUS_LABEL_MAX_LENGTH)}`, tooltip);
|
|
425
425
|
}
|
|
@@ -435,12 +435,12 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
|
|
|
435
435
|
tooltip.appendMarkdown(hostNameTooltip);
|
|
436
436
|
}
|
|
437
437
|
else {
|
|
438
|
-
tooltip.appendText(( localize(
|
|
438
|
+
tooltip.appendText(( localize(9766, "Editing on {0}", workspaceLabel)));
|
|
439
439
|
}
|
|
440
440
|
if (!isWeb || this.remoteAuthority) {
|
|
441
441
|
tooltip.appendMarkdown('\n\n');
|
|
442
442
|
tooltip.appendMarkdown(( localize(
|
|
443
|
-
|
|
443
|
+
9767,
|
|
444
444
|
"Some [features are not available]({0}) for resources located on a virtual file system.",
|
|
445
445
|
`command:${LIST_WORKSPACE_UNSUPPORTED_EXTENSIONS_COMMAND_ID}`
|
|
446
446
|
)));
|
|
@@ -449,13 +449,13 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
|
|
|
449
449
|
return;
|
|
450
450
|
}
|
|
451
451
|
}
|
|
452
|
-
this.renderRemoteStatusIndicator(`$(remote)`, ( localize(
|
|
452
|
+
this.renderRemoteStatusIndicator(`$(remote)`, ( localize(9768, "Open a Remote Window")));
|
|
453
453
|
return;
|
|
454
454
|
}
|
|
455
455
|
renderRemoteStatusIndicator(initialText, initialTooltip, command, showProgress) {
|
|
456
456
|
const { text, tooltip, ariaLabel } = this.withNetworkStatus(initialText, initialTooltip, showProgress);
|
|
457
457
|
const properties = {
|
|
458
|
-
name: ( localize(
|
|
458
|
+
name: ( localize(9769, "Remote Host")),
|
|
459
459
|
kind: this.networkState === 'offline' ? 'offline' : 'remote',
|
|
460
460
|
ariaLabel,
|
|
461
461
|
text,
|
|
@@ -483,7 +483,7 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
|
|
|
483
483
|
switch (this.networkState) {
|
|
484
484
|
case 'offline': {
|
|
485
485
|
const offlineMessage = ( localize(
|
|
486
|
-
|
|
486
|
+
9770,
|
|
487
487
|
"Network appears to be offline, certain features might be unavailable."
|
|
488
488
|
));
|
|
489
489
|
text = textWithAlert();
|
|
@@ -494,7 +494,7 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
|
|
|
494
494
|
case 'high-latency':
|
|
495
495
|
text = textWithAlert();
|
|
496
496
|
tooltip = this.appendTooltipLine(tooltip, ( localize(
|
|
497
|
-
|
|
497
|
+
9771,
|
|
498
498
|
"Network appears to have high latency ({0}ms last, {1}ms average), certain features may be slow to respond.",
|
|
499
499
|
remoteConnectionLatencyMeasurer.latency?.current?.toFixed(2),
|
|
500
500
|
remoteConnectionLatencyMeasurer.latency?.average?.toFixed(2)
|
|
@@ -530,12 +530,12 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
|
|
|
530
530
|
const { confirmed } = await this.dialogService.confirm({
|
|
531
531
|
type: Severity.Error,
|
|
532
532
|
message: ( localize(
|
|
533
|
-
|
|
533
|
+
9772,
|
|
534
534
|
"An error occurred while setting up {0}. Would you like to try again?",
|
|
535
535
|
remoteLabel
|
|
536
536
|
)),
|
|
537
537
|
detail: error && !isCancellationError(error) ? toErrorMessage(error) : undefined,
|
|
538
|
-
primaryButton: ( localize(
|
|
538
|
+
primaryButton: ( localize(9773, "Retry"))
|
|
539
539
|
});
|
|
540
540
|
if (confirmed) {
|
|
541
541
|
return this.installExtension(extensionId, remoteLabel);
|
|
@@ -625,13 +625,13 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
|
|
|
625
625
|
const label = metadata.startConnectLabel;
|
|
626
626
|
const buttons = [{
|
|
627
627
|
iconClass: ThemeIcon.asClassName(infoIcon),
|
|
628
|
-
tooltip: ( localize(
|
|
628
|
+
tooltip: ( localize(9774, "Learn More"))
|
|
629
629
|
}];
|
|
630
630
|
notInstalledItems.push({ type: 'item', id: metadata.id, label: label, buttons: buttons });
|
|
631
631
|
}
|
|
632
632
|
}
|
|
633
633
|
items.push({
|
|
634
|
-
type: 'separator', label: ( localize(
|
|
634
|
+
type: 'separator', label: ( localize(9775, 'Install'))
|
|
635
635
|
});
|
|
636
636
|
items.push(...notInstalledItems);
|
|
637
637
|
}
|
|
@@ -644,13 +644,13 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
|
|
|
644
644
|
items.push({
|
|
645
645
|
type: 'item',
|
|
646
646
|
id: RemoteStatusIndicator_1.CLOSE_REMOTE_COMMAND_ID,
|
|
647
|
-
label: ( localize(
|
|
647
|
+
label: ( localize(9776, 'Close Remote Connection'))
|
|
648
648
|
});
|
|
649
649
|
if (this.connectionState === 'disconnected') {
|
|
650
650
|
items.push({
|
|
651
651
|
type: 'item',
|
|
652
652
|
id: ReloadWindowAction.ID,
|
|
653
|
-
label: ( localize(
|
|
653
|
+
label: ( localize(9777, 'Reload Window'))
|
|
654
654
|
});
|
|
655
655
|
}
|
|
656
656
|
}
|
|
@@ -658,7 +658,7 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
|
|
|
658
658
|
items.push({
|
|
659
659
|
type: 'item',
|
|
660
660
|
id: RemoteStatusIndicator_1.CLOSE_REMOTE_COMMAND_ID,
|
|
661
|
-
label: ( localize(
|
|
661
|
+
label: ( localize(9778, 'Close Remote Workspace'))
|
|
662
662
|
});
|
|
663
663
|
}
|
|
664
664
|
}
|
|
@@ -669,7 +669,7 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
|
|
|
669
669
|
};
|
|
670
670
|
const disposables = ( new DisposableStore());
|
|
671
671
|
const quickPick = disposables.add(this.quickInputService.createQuickPick({ useSeparators: true }));
|
|
672
|
-
quickPick.placeholder = ( localize(
|
|
672
|
+
quickPick.placeholder = ( localize(9779, "Select an option to open a Remote Window"));
|
|
673
673
|
quickPick.items = computeItems();
|
|
674
674
|
quickPick.sortByLabel = false;
|
|
675
675
|
quickPick.canSelectMany = false;
|
|
@@ -681,7 +681,7 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
|
|
|
681
681
|
if (remoteExtension) {
|
|
682
682
|
quickPick.items = [];
|
|
683
683
|
quickPick.busy = true;
|
|
684
|
-
quickPick.placeholder = ( localize(
|
|
684
|
+
quickPick.placeholder = ( localize(9780, 'Installing extension... '));
|
|
685
685
|
try {
|
|
686
686
|
await this.installExtension(remoteExtension.id, selectedItems[0].label);
|
|
687
687
|
}
|
|
@@ -753,7 +753,7 @@ RemoteStatusIndicator = RemoteStatusIndicator_1 = ( __decorate([
|
|
|
753
753
|
'workbench.remoteIndicator.showExtensionRecommendations': {
|
|
754
754
|
type: 'boolean',
|
|
755
755
|
markdownDescription: ( localize(
|
|
756
|
-
|
|
756
|
+
9781,
|
|
757
757
|
"When enabled, remote extensions recommendations will be shown in the Remote Indicator menu."
|
|
758
758
|
)),
|
|
759
759
|
default: true
|
|
@@ -33,14 +33,14 @@ let RemoteStartEntry = class RemoteStartEntry extends Disposable {
|
|
|
33
33
|
this.registerListeners();
|
|
34
34
|
}
|
|
35
35
|
registerActions() {
|
|
36
|
-
const category = ( localize2(
|
|
36
|
+
const category = ( localize2(9782, "Remote"));
|
|
37
37
|
const startEntry = this;
|
|
38
38
|
this._register(registerAction2(class extends Action2 {
|
|
39
39
|
constructor() {
|
|
40
40
|
super({
|
|
41
41
|
id: RemoteStartEntry_1.REMOTE_WEB_START_ENTRY_ACTIONS_COMMAND_ID,
|
|
42
42
|
category,
|
|
43
|
-
title: ( localize2(
|
|
43
|
+
title: ( localize2(9783, "Show Remote Start Entry for web")),
|
|
44
44
|
f1: false
|
|
45
45
|
});
|
|
46
46
|
}
|
|
@@ -26,12 +26,12 @@ let TunnelFactoryContribution = class TunnelFactoryContribution extends Disposab
|
|
|
26
26
|
privacyOptions = [
|
|
27
27
|
{
|
|
28
28
|
id: 'private',
|
|
29
|
-
label: ( localize(
|
|
29
|
+
label: ( localize(9784, "Private")),
|
|
30
30
|
themeIcon: 'lock'
|
|
31
31
|
},
|
|
32
32
|
{
|
|
33
33
|
id: 'public',
|
|
34
|
-
label: ( localize(
|
|
34
|
+
label: ( localize(9785, "Public")),
|
|
35
35
|
themeIcon: 'eye'
|
|
36
36
|
}
|
|
37
37
|
];
|
|
@@ -103,9 +103,9 @@ let RemoteInvalidWorkspaceDetector = class RemoteInvalidWorkspaceDetector extend
|
|
|
103
103
|
}
|
|
104
104
|
const res = await this.dialogService.confirm({
|
|
105
105
|
type: 'warning',
|
|
106
|
-
message: ( localize(
|
|
107
|
-
detail: ( localize(
|
|
108
|
-
primaryButton: ( localize(
|
|
106
|
+
message: ( localize(9845, "Workspace does not exist")),
|
|
107
|
+
detail: ( localize(9846, "Please select another workspace to open.")),
|
|
108
|
+
primaryButton: ( localize(9847, "&&Open Workspace..."))
|
|
109
109
|
});
|
|
110
110
|
if (res.confirmed) {
|
|
111
111
|
if (workspace.configuration) {
|
|
@@ -132,7 +132,7 @@ registerWorkbenchContribution2(RemoteInvalidWorkspaceDetector.ID, RemoteInvalidW
|
|
|
132
132
|
constructor() {
|
|
133
133
|
super({
|
|
134
134
|
id: 'workbench.action.triggerReconnect',
|
|
135
|
-
title: ( localize2(
|
|
135
|
+
title: ( localize2(9848, 'Connection: Trigger Reconnect')),
|
|
136
136
|
category: Categories.Developer,
|
|
137
137
|
f1: true,
|
|
138
138
|
});
|
|
@@ -145,7 +145,7 @@ registerWorkbenchContribution2(RemoteInvalidWorkspaceDetector.ID, RemoteInvalidW
|
|
|
145
145
|
constructor() {
|
|
146
146
|
super({
|
|
147
147
|
id: 'workbench.action.pauseSocketWriting',
|
|
148
|
-
title: ( localize2(
|
|
148
|
+
title: ( localize2(9849, 'Connection: Pause socket writing')),
|
|
149
149
|
category: Categories.Developer,
|
|
150
150
|
f1: true,
|
|
151
151
|
});
|
|
@@ -165,11 +165,11 @@ const extensionKindSchema = {
|
|
|
165
165
|
],
|
|
166
166
|
enumDescriptions: [
|
|
167
167
|
( localize(
|
|
168
|
-
|
|
168
|
+
9850,
|
|
169
169
|
"UI extension kind. In a remote window, such extensions are enabled only when available on the local machine."
|
|
170
170
|
)),
|
|
171
171
|
( localize(
|
|
172
|
-
|
|
172
|
+
9851,
|
|
173
173
|
"Workspace extension kind. In a remote window, such extensions are enabled only when available on the remote."
|
|
174
174
|
))
|
|
175
175
|
],
|
|
@@ -177,13 +177,13 @@ const extensionKindSchema = {
|
|
|
177
177
|
( Registry.as(Extensions$1.Configuration))
|
|
178
178
|
.registerConfiguration({
|
|
179
179
|
id: 'remote',
|
|
180
|
-
title: ( localize(
|
|
180
|
+
title: ( localize(9852, "Remote")),
|
|
181
181
|
type: 'object',
|
|
182
182
|
properties: {
|
|
183
183
|
'remote.extensionKind': {
|
|
184
184
|
type: 'object',
|
|
185
185
|
markdownDescription: ( localize(
|
|
186
|
-
|
|
186
|
+
9853,
|
|
187
187
|
"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."
|
|
188
188
|
)),
|
|
189
189
|
patternProperties: {
|
|
@@ -198,13 +198,13 @@ const extensionKindSchema = {
|
|
|
198
198
|
},
|
|
199
199
|
'remote.restoreForwardedPorts': {
|
|
200
200
|
type: 'boolean',
|
|
201
|
-
markdownDescription: ( localize(
|
|
201
|
+
markdownDescription: ( localize(9854, "Restores the ports you forwarded in a workspace.")),
|
|
202
202
|
default: true
|
|
203
203
|
},
|
|
204
204
|
'remote.autoForwardPorts': {
|
|
205
205
|
type: 'boolean',
|
|
206
206
|
markdownDescription: ( localize(
|
|
207
|
-
|
|
207
|
+
9855,
|
|
208
208
|
"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}.",
|
|
209
209
|
'`#remote.autoForwardPortsSource#`'
|
|
210
210
|
)),
|
|
@@ -213,7 +213,7 @@ const extensionKindSchema = {
|
|
|
213
213
|
'remote.autoForwardPortsSource': {
|
|
214
214
|
type: 'string',
|
|
215
215
|
markdownDescription: ( localize(
|
|
216
|
-
|
|
216
|
+
9856,
|
|
217
217
|
"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.",
|
|
218
218
|
'`#remote.autoForwardPorts#`',
|
|
219
219
|
'`#remote.autoForwardPortsSource#`'
|
|
@@ -221,15 +221,15 @@ const extensionKindSchema = {
|
|
|
221
221
|
enum: ['process', 'output', 'hybrid'],
|
|
222
222
|
enumDescriptions: [
|
|
223
223
|
( localize(
|
|
224
|
-
|
|
224
|
+
9857,
|
|
225
225
|
"Ports will be automatically forwarded when discovered by watching for processes that are started and include a port."
|
|
226
226
|
)),
|
|
227
227
|
( localize(
|
|
228
|
-
|
|
228
|
+
9858,
|
|
229
229
|
"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."
|
|
230
230
|
)),
|
|
231
231
|
( localize(
|
|
232
|
-
|
|
232
|
+
9859,
|
|
233
233
|
"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."
|
|
234
234
|
))
|
|
235
235
|
],
|
|
@@ -239,14 +239,14 @@ const extensionKindSchema = {
|
|
|
239
239
|
type: 'number',
|
|
240
240
|
default: 20,
|
|
241
241
|
markdownDescription: ( localize(
|
|
242
|
-
|
|
242
|
+
9860,
|
|
243
243
|
"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`."
|
|
244
244
|
))
|
|
245
245
|
},
|
|
246
246
|
'remote.forwardOnOpen': {
|
|
247
247
|
type: 'boolean',
|
|
248
248
|
description: ( localize(
|
|
249
|
-
|
|
249
|
+
9861,
|
|
250
250
|
"Controls whether local URLs with a port will be forwarded when opened from the terminal and the debug console."
|
|
251
251
|
)),
|
|
252
252
|
default: true
|
|
@@ -257,7 +257,7 @@ const extensionKindSchema = {
|
|
|
257
257
|
'(^\\d+(-\\d+)?$)|(.+)': {
|
|
258
258
|
type: 'object',
|
|
259
259
|
description: ( localize(
|
|
260
|
-
|
|
260
|
+
9862,
|
|
261
261
|
"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."
|
|
262
262
|
)),
|
|
263
263
|
properties: {
|
|
@@ -265,27 +265,27 @@ const extensionKindSchema = {
|
|
|
265
265
|
type: 'string',
|
|
266
266
|
enum: ['notify', 'openBrowser', 'openBrowserOnce', 'openPreview', 'silent', 'ignore'],
|
|
267
267
|
enumDescriptions: [
|
|
268
|
-
( localize(
|
|
268
|
+
( localize(9863, "Shows a notification when a port is automatically forwarded.")),
|
|
269
269
|
( localize(
|
|
270
|
-
|
|
270
|
+
9864,
|
|
271
271
|
"Opens the browser when the port is automatically forwarded. Depending on your settings, this could open an embedded browser."
|
|
272
272
|
)),
|
|
273
273
|
( localize(
|
|
274
|
-
|
|
274
|
+
9865,
|
|
275
275
|
"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."
|
|
276
276
|
)),
|
|
277
277
|
( localize(
|
|
278
|
-
|
|
278
|
+
9866,
|
|
279
279
|
"Opens a preview in the same window when the port is automatically forwarded."
|
|
280
280
|
)),
|
|
281
281
|
( localize(
|
|
282
|
-
|
|
282
|
+
9867,
|
|
283
283
|
"Shows no notification and takes no action when this port is automatically forwarded."
|
|
284
284
|
)),
|
|
285
|
-
( localize(
|
|
285
|
+
( localize(9868, "This port will not be automatically forwarded."))
|
|
286
286
|
],
|
|
287
287
|
description: ( localize(
|
|
288
|
-
|
|
288
|
+
9869,
|
|
289
289
|
"Defines the action that occurs when the port is discovered for automatic forwarding"
|
|
290
290
|
)),
|
|
291
291
|
default: 'notify'
|
|
@@ -293,20 +293,20 @@ const extensionKindSchema = {
|
|
|
293
293
|
'elevateIfNeeded': {
|
|
294
294
|
type: 'boolean',
|
|
295
295
|
description: ( localize(
|
|
296
|
-
|
|
296
|
+
9870,
|
|
297
297
|
"Automatically prompt for elevation (if needed) when this port is forwarded. Elevate is required if the local port is a privileged port."
|
|
298
298
|
)),
|
|
299
299
|
default: false
|
|
300
300
|
},
|
|
301
301
|
'label': {
|
|
302
302
|
type: 'string',
|
|
303
|
-
description: ( localize(
|
|
304
|
-
default: ( localize(
|
|
303
|
+
description: ( localize(9871, "Label that will be shown in the UI for this port.")),
|
|
304
|
+
default: ( localize(9872, "Application"))
|
|
305
305
|
},
|
|
306
306
|
'requireLocalPort': {
|
|
307
307
|
type: 'boolean',
|
|
308
308
|
markdownDescription: ( localize(
|
|
309
|
-
|
|
309
|
+
9873,
|
|
310
310
|
"When true, a modal dialog will show if the chosen local port isn't used for forwarding."
|
|
311
311
|
)),
|
|
312
312
|
default: false
|
|
@@ -314,22 +314,22 @@ const extensionKindSchema = {
|
|
|
314
314
|
'protocol': {
|
|
315
315
|
type: 'string',
|
|
316
316
|
enum: ['http', 'https'],
|
|
317
|
-
description: ( localize(
|
|
317
|
+
description: ( localize(9874, "The protocol to use when forwarding this port."))
|
|
318
318
|
}
|
|
319
319
|
},
|
|
320
320
|
default: {
|
|
321
|
-
'label': ( localize(
|
|
321
|
+
'label': ( localize(9872, "Application")),
|
|
322
322
|
'onAutoForward': 'notify'
|
|
323
323
|
}
|
|
324
324
|
}
|
|
325
325
|
},
|
|
326
326
|
markdownDescription: ( localize(
|
|
327
|
-
|
|
327
|
+
9875,
|
|
328
328
|
"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```"
|
|
329
329
|
)),
|
|
330
330
|
defaultSnippets: [{ body: { '${1:3000}': { label: '${2:Application}', onAutoForward: 'openPreview' } } }],
|
|
331
331
|
errorMessage: ( localize(
|
|
332
|
-
|
|
332
|
+
9876,
|
|
333
333
|
"Must be a port number, range of port numbers, or regular expression."
|
|
334
334
|
)),
|
|
335
335
|
additionalProperties: false,
|
|
@@ -349,23 +349,23 @@ const extensionKindSchema = {
|
|
|
349
349
|
type: 'string',
|
|
350
350
|
enum: ['notify', 'openBrowser', 'openPreview', 'silent', 'ignore'],
|
|
351
351
|
enumDescriptions: [
|
|
352
|
-
( localize(
|
|
352
|
+
( localize(9863, "Shows a notification when a port is automatically forwarded.")),
|
|
353
353
|
( localize(
|
|
354
|
-
|
|
354
|
+
9864,
|
|
355
355
|
"Opens the browser when the port is automatically forwarded. Depending on your settings, this could open an embedded browser."
|
|
356
356
|
)),
|
|
357
357
|
( localize(
|
|
358
|
-
|
|
358
|
+
9866,
|
|
359
359
|
"Opens a preview in the same window when the port is automatically forwarded."
|
|
360
360
|
)),
|
|
361
361
|
( localize(
|
|
362
|
-
|
|
362
|
+
9867,
|
|
363
363
|
"Shows no notification and takes no action when this port is automatically forwarded."
|
|
364
364
|
)),
|
|
365
|
-
( localize(
|
|
365
|
+
( localize(9868, "This port will not be automatically forwarded."))
|
|
366
366
|
],
|
|
367
367
|
description: ( localize(
|
|
368
|
-
|
|
368
|
+
9869,
|
|
369
369
|
"Defines the action that occurs when the port is discovered for automatic forwarding"
|
|
370
370
|
)),
|
|
371
371
|
default: 'notify'
|
|
@@ -373,20 +373,20 @@ const extensionKindSchema = {
|
|
|
373
373
|
'elevateIfNeeded': {
|
|
374
374
|
type: 'boolean',
|
|
375
375
|
description: ( localize(
|
|
376
|
-
|
|
376
|
+
9870,
|
|
377
377
|
"Automatically prompt for elevation (if needed) when this port is forwarded. Elevate is required if the local port is a privileged port."
|
|
378
378
|
)),
|
|
379
379
|
default: false
|
|
380
380
|
},
|
|
381
381
|
'label': {
|
|
382
382
|
type: 'string',
|
|
383
|
-
description: ( localize(
|
|
384
|
-
default: ( localize(
|
|
383
|
+
description: ( localize(9871, "Label that will be shown in the UI for this port.")),
|
|
384
|
+
default: ( localize(9872, "Application"))
|
|
385
385
|
},
|
|
386
386
|
'requireLocalPort': {
|
|
387
387
|
type: 'boolean',
|
|
388
388
|
markdownDescription: ( localize(
|
|
389
|
-
|
|
389
|
+
9873,
|
|
390
390
|
"When true, a modal dialog will show if the chosen local port isn't used for forwarding."
|
|
391
391
|
)),
|
|
392
392
|
default: false
|
|
@@ -394,12 +394,12 @@ const extensionKindSchema = {
|
|
|
394
394
|
'protocol': {
|
|
395
395
|
type: 'string',
|
|
396
396
|
enum: ['http', 'https'],
|
|
397
|
-
description: ( localize(
|
|
397
|
+
description: ( localize(9874, "The protocol to use when forwarding this port."))
|
|
398
398
|
}
|
|
399
399
|
},
|
|
400
400
|
defaultSnippets: [{ body: { onAutoForward: 'ignore' } }],
|
|
401
401
|
markdownDescription: ( localize(
|
|
402
|
-
|
|
402
|
+
9877,
|
|
403
403
|
"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```",
|
|
404
404
|
'`#remote.portsAttributes#`'
|
|
405
405
|
)),
|
|
@@ -410,21 +410,21 @@ const extensionKindSchema = {
|
|
|
410
410
|
enum: ['localhost', 'allInterfaces'],
|
|
411
411
|
default: 'localhost',
|
|
412
412
|
description: ( localize(
|
|
413
|
-
|
|
413
|
+
9878,
|
|
414
414
|
"Specifies the local host name that will be used for port forwarding."
|
|
415
415
|
))
|
|
416
416
|
},
|
|
417
417
|
[REMOTE_DEFAULT_IF_LOCAL_EXTENSIONS]: {
|
|
418
418
|
type: 'array',
|
|
419
419
|
markdownDescription: ( localize(
|
|
420
|
-
|
|
420
|
+
9879,
|
|
421
421
|
'List of extensions to install upon connection to a remote when already installed locally.'
|
|
422
422
|
)),
|
|
423
423
|
default: product?.remoteDefaultExtensionsIfInstalledLocally || [],
|
|
424
424
|
items: {
|
|
425
425
|
type: 'string',
|
|
426
426
|
pattern: EXTENSION_IDENTIFIER_PATTERN,
|
|
427
|
-
patternErrorMessage: ( localize(
|
|
427
|
+
patternErrorMessage: ( localize(9880, 'Extension identifier must be in format "publisher.name".'))
|
|
428
428
|
},
|
|
429
429
|
}
|
|
430
430
|
}
|
|
@@ -46,15 +46,15 @@ let RemoteConnectionFailureNotificationContribution = class RemoteConnectionFail
|
|
|
46
46
|
async _presentConnectionError(err) {
|
|
47
47
|
await this._dialogService.prompt({
|
|
48
48
|
type: Severity.Error,
|
|
49
|
-
message: ( localize(
|
|
49
|
+
message: ( localize(13578, "An unexpected error occurred that requires a reload of this page.")),
|
|
50
50
|
detail: ( localize(
|
|
51
|
-
|
|
51
|
+
13579,
|
|
52
52
|
"The workbench failed to connect to the server (Error: {0})",
|
|
53
53
|
err ? err.message : ''
|
|
54
54
|
)),
|
|
55
55
|
buttons: [
|
|
56
56
|
{
|
|
57
|
-
label: ( localize(
|
|
57
|
+
label: ( localize(13580, "&&Reload")),
|
|
58
58
|
run: () => this._hostService.reload()
|
|
59
59
|
}
|
|
60
60
|
]
|