@codingame/monaco-vscode-remote-agent-service-override 4.5.0 → 4.5.2
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/index.d.ts +2 -1
- package/package.json +3 -3
- package/vscode/src/vs/platform/download/common/downloadIpc.js +2 -2
- package/vscode/src/vs/platform/remote/common/remoteSocketFactoryService.js +1 -1
- package/vscode/src/vs/workbench/contrib/remote/browser/explorerViewItems.js +14 -17
- package/vscode/src/vs/workbench/contrib/remote/browser/remote.js +117 -172
- package/vscode/src/vs/workbench/contrib/remote/browser/remoteConnectionHealth.js +20 -35
- package/vscode/src/vs/workbench/contrib/remote/browser/remoteIndicator.js +71 -140
- package/vscode/src/vs/workbench/contrib/remote/browser/remoteStartEntry.js +12 -19
- package/vscode/src/vs/workbench/contrib/remote/browser/tunnelFactory.js +14 -19
- package/vscode/src/vs/workbench/contrib/remote/common/remote.contribution.js +98 -161
- package/vscode/src/vs/workbench/services/remote/browser/remoteAgentService.js +20 -23
- package/remoteAgent.d.ts +0 -12
|
@@ -15,6 +15,7 @@ import { IDialogService } from 'vscode/vscode/vs/platform/dialogs/common/dialogs
|
|
|
15
15
|
import { Codicon } from 'vscode/vscode/vs/base/common/codicons';
|
|
16
16
|
import Severity$1 from 'vscode/vscode/vs/base/common/severity';
|
|
17
17
|
|
|
18
|
+
const _moduleId = "vs/workbench/contrib/remote/browser/remoteConnectionHealth";
|
|
18
19
|
const REMOTE_UNSUPPORTED_CONNECTION_CHOICE_KEY = 'remote.unsupportedConnectionChoice';
|
|
19
20
|
const BANNER_REMOTE_UNSUPPORTED_CONNECTION_DISMISSED_KEY = 'workbench.banner.remote.unsupportedConnection.dismissed';
|
|
20
21
|
let InitialRemoteConnectionHealthContribution = class InitialRemoteConnectionHealthContribution {
|
|
@@ -36,26 +37,18 @@ let InitialRemoteConnectionHealthContribution = class InitialRemoteConnectionHea
|
|
|
36
37
|
const { result, checkboxChecked } = await this.dialogService.prompt({
|
|
37
38
|
type: Severity$1.Warning,
|
|
38
39
|
message: ( localizeWithPath(
|
|
39
|
-
|
|
40
|
-
|
|
40
|
+
_moduleId,
|
|
41
|
+
0,
|
|
41
42
|
"You are about to connect to an OS version that is unsupported by {0}.",
|
|
42
43
|
this.productService.nameLong
|
|
43
44
|
)),
|
|
44
45
|
buttons: [
|
|
45
46
|
{
|
|
46
|
-
label: ( localizeWithPath(
|
|
47
|
-
'vs/workbench/contrib/remote/browser/remoteConnectionHealth',
|
|
48
|
-
{ key: 'allow', comment: ['&& denotes a mnemonic'] },
|
|
49
|
-
"&&Allow"
|
|
50
|
-
)),
|
|
47
|
+
label: ( localizeWithPath(_moduleId, 1, "&&Allow")),
|
|
51
48
|
run: () => 1
|
|
52
49
|
},
|
|
53
50
|
{
|
|
54
|
-
label: ( localizeWithPath(
|
|
55
|
-
'vs/workbench/contrib/remote/browser/remoteConnectionHealth',
|
|
56
|
-
{ key: 'learnMore', comment: ['&& denotes a mnemonic'] },
|
|
57
|
-
"&&Learn More"
|
|
58
|
-
)),
|
|
51
|
+
label: ( localizeWithPath(_moduleId, 2, "&&Learn More")),
|
|
59
52
|
run: async () => { await this.openerService.open('https://aka.ms/vscode-remote/faq/old-linux'); return 2 ; }
|
|
60
53
|
}
|
|
61
54
|
],
|
|
@@ -63,11 +56,7 @@ let InitialRemoteConnectionHealthContribution = class InitialRemoteConnectionHea
|
|
|
63
56
|
run: () => 0
|
|
64
57
|
},
|
|
65
58
|
checkbox: {
|
|
66
|
-
label: ( localizeWithPath(
|
|
67
|
-
'vs/workbench/contrib/remote/browser/remoteConnectionHealth',
|
|
68
|
-
'remember',
|
|
69
|
-
"Do not show again"
|
|
70
|
-
)),
|
|
59
|
+
label: ( localizeWithPath(_moduleId, 3, "Do not show again")),
|
|
71
60
|
}
|
|
72
61
|
});
|
|
73
62
|
if (result === 2 ) {
|
|
@@ -93,19 +82,15 @@ let InitialRemoteConnectionHealthContribution = class InitialRemoteConnectionHea
|
|
|
93
82
|
if (shouldShowBanner) {
|
|
94
83
|
const actions = [
|
|
95
84
|
{
|
|
96
|
-
label: ( localizeWithPath(
|
|
97
|
-
'vs/workbench/contrib/remote/browser/remoteConnectionHealth',
|
|
98
|
-
'unsupportedGlibcBannerLearnMore',
|
|
99
|
-
"Learn More"
|
|
100
|
-
)),
|
|
85
|
+
label: ( localizeWithPath(_moduleId, 4, "Learn More")),
|
|
101
86
|
href: 'https://aka.ms/vscode-remote/faq/old-linux'
|
|
102
87
|
}
|
|
103
88
|
];
|
|
104
89
|
this.bannerService.show({
|
|
105
90
|
id: 'unsupportedGlibcWarning.banner',
|
|
106
91
|
message: ( localizeWithPath(
|
|
107
|
-
|
|
108
|
-
|
|
92
|
+
_moduleId,
|
|
93
|
+
5,
|
|
109
94
|
"You are connected to an OS version that is unsupported by {0}.",
|
|
110
95
|
this.productService.nameLong
|
|
111
96
|
)),
|
|
@@ -151,16 +136,16 @@ let InitialRemoteConnectionHealthContribution = class InitialRemoteConnectionHea
|
|
|
151
136
|
});
|
|
152
137
|
}
|
|
153
138
|
};
|
|
154
|
-
InitialRemoteConnectionHealthContribution = ( __decorate([
|
|
155
|
-
( __param(0, IRemoteAgentService)),
|
|
156
|
-
( __param(1, IWorkbenchEnvironmentService)),
|
|
157
|
-
( __param(2, ITelemetryService)),
|
|
158
|
-
( __param(3, IBannerService)),
|
|
159
|
-
( __param(4, IDialogService)),
|
|
160
|
-
( __param(5, IOpenerService)),
|
|
161
|
-
( __param(6, IHostService)),
|
|
162
|
-
( __param(7, IStorageService)),
|
|
163
|
-
( __param(8, IProductService))
|
|
164
|
-
], InitialRemoteConnectionHealthContribution));
|
|
139
|
+
InitialRemoteConnectionHealthContribution = ( (__decorate([
|
|
140
|
+
( (__param(0, IRemoteAgentService))),
|
|
141
|
+
( (__param(1, IWorkbenchEnvironmentService))),
|
|
142
|
+
( (__param(2, ITelemetryService))),
|
|
143
|
+
( (__param(3, IBannerService))),
|
|
144
|
+
( (__param(4, IDialogService))),
|
|
145
|
+
( (__param(5, IOpenerService))),
|
|
146
|
+
( (__param(6, IHostService))),
|
|
147
|
+
( (__param(7, IStorageService))),
|
|
148
|
+
( (__param(8, IProductService)))
|
|
149
|
+
], InitialRemoteConnectionHealthContribution)));
|
|
165
150
|
|
|
166
151
|
export { InitialRemoteConnectionHealthContribution };
|
|
@@ -48,6 +48,7 @@ import { workbenchConfigurationNodeBase } from 'vscode/vscode/vs/workbench/commo
|
|
|
48
48
|
import { IConfigurationService } from 'vscode/vscode/vs/platform/configuration/common/configuration.service';
|
|
49
49
|
|
|
50
50
|
var RemoteStatusIndicator_1;
|
|
51
|
+
const _moduleId = "vs/workbench/contrib/remote/browser/remoteIndicator";
|
|
51
52
|
let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
|
|
52
53
|
static { RemoteStatusIndicator_1 = this; }
|
|
53
54
|
static { this.ID = 'workbench.contrib.remoteStatusIndicator'; }
|
|
@@ -61,7 +62,7 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
|
|
|
61
62
|
get remoteExtensionMetadata() {
|
|
62
63
|
if (!this._remoteExtensionMetadata) {
|
|
63
64
|
const remoteExtensionTips = { ...this.productService.remoteExtensionTips, ...this.productService.virtualWorkspaceExtensionTips };
|
|
64
|
-
this._remoteExtensionMetadata = ( ( Object.values(remoteExtensionTips)).filter(value => value.startEntry !== undefined).map(value => {
|
|
65
|
+
this._remoteExtensionMetadata = ( (( (Object.values(remoteExtensionTips))).filter(value => value.startEntry !== undefined).map(value => {
|
|
65
66
|
return {
|
|
66
67
|
id: value.extensionId,
|
|
67
68
|
installed: false,
|
|
@@ -74,7 +75,7 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
|
|
|
74
75
|
priority: value.startEntry?.priority ?? 10,
|
|
75
76
|
supportedPlatforms: value.supportedPlatforms
|
|
76
77
|
};
|
|
77
|
-
}));
|
|
78
|
+
})));
|
|
78
79
|
this.remoteExtensionMetadata.sort((ext1, ext2) => ext1.priority - ext2.priority);
|
|
79
80
|
}
|
|
80
81
|
return this._remoteExtensionMetadata;
|
|
@@ -106,13 +107,13 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
|
|
|
106
107
|
this.virtualWorkspaceLocation = undefined;
|
|
107
108
|
this.connectionState = undefined;
|
|
108
109
|
this.connectionToken = undefined;
|
|
109
|
-
this.connectionStateContextKey = ( new RawContextKey('remoteConnectionState', '')).bindTo(this.contextKeyService);
|
|
110
|
+
this.connectionStateContextKey = ( (new RawContextKey('remoteConnectionState', ''))).bindTo(this.contextKeyService);
|
|
110
111
|
this.networkState = undefined;
|
|
111
112
|
this.measureNetworkConnectionLatencyScheduler = undefined;
|
|
112
113
|
this.loggedInvalidGroupNames = Object.create(null);
|
|
113
114
|
this._remoteExtensionMetadata = undefined;
|
|
114
115
|
this.remoteMetadataInitialized = false;
|
|
115
|
-
this._onDidChangeEntries = this._register(( new Emitter()));
|
|
116
|
+
this._onDidChangeEntries = this._register(( (new Emitter())));
|
|
116
117
|
this.onDidChangeEntries = this._onDidChangeEntries.event;
|
|
117
118
|
if (this.remoteAuthority) {
|
|
118
119
|
this.connectionState = 'initializing';
|
|
@@ -127,22 +128,14 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
|
|
|
127
128
|
this.updateRemoteStatusIndicator();
|
|
128
129
|
}
|
|
129
130
|
registerActions() {
|
|
130
|
-
const category = ( localize2WithPath(
|
|
131
|
-
'vs/workbench/contrib/remote/browser/remoteIndicator',
|
|
132
|
-
'remote.category',
|
|
133
|
-
"Remote"
|
|
134
|
-
));
|
|
131
|
+
const category = ( localize2WithPath(_moduleId, 0, "Remote"));
|
|
135
132
|
const that = this;
|
|
136
133
|
this._register(registerAction2(class extends Action2 {
|
|
137
134
|
constructor() {
|
|
138
135
|
super({
|
|
139
136
|
id: RemoteStatusIndicator_1.REMOTE_ACTIONS_COMMAND_ID,
|
|
140
137
|
category,
|
|
141
|
-
title: ( localize2WithPath(
|
|
142
|
-
'vs/workbench/contrib/remote/browser/remoteIndicator',
|
|
143
|
-
'remote.showMenu',
|
|
144
|
-
"Show Remote Menu"
|
|
145
|
-
)),
|
|
138
|
+
title: ( localize2WithPath(_moduleId, 1, "Show Remote Menu")),
|
|
146
139
|
f1: true,
|
|
147
140
|
keybinding: {
|
|
148
141
|
weight: 200 ,
|
|
@@ -158,13 +151,9 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
|
|
|
158
151
|
super({
|
|
159
152
|
id: RemoteStatusIndicator_1.CLOSE_REMOTE_COMMAND_ID,
|
|
160
153
|
category,
|
|
161
|
-
title: ( localize2WithPath(
|
|
162
|
-
'vs/workbench/contrib/remote/browser/remoteIndicator',
|
|
163
|
-
'remote.close',
|
|
164
|
-
"Close Remote Connection"
|
|
165
|
-
)),
|
|
154
|
+
title: ( localize2WithPath(_moduleId, 2, "Close Remote Connection")),
|
|
166
155
|
f1: true,
|
|
167
|
-
precondition: ( ContextKeyExpr.or(RemoteNameContext, VirtualWorkspaceContext))
|
|
156
|
+
precondition: ( (ContextKeyExpr.or(RemoteNameContext, VirtualWorkspaceContext)))
|
|
168
157
|
});
|
|
169
158
|
this.run = () => that.hostService.openWindow({ forceReuseWindow: true, remoteAuthority: null });
|
|
170
159
|
}
|
|
@@ -174,11 +163,7 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
|
|
|
174
163
|
group: '6_close',
|
|
175
164
|
command: {
|
|
176
165
|
id: RemoteStatusIndicator_1.CLOSE_REMOTE_COMMAND_ID,
|
|
177
|
-
title: ( localizeWithPath(
|
|
178
|
-
'vs/workbench/contrib/remote/browser/remoteIndicator',
|
|
179
|
-
{ key: 'miCloseRemote', comment: ['&& denotes a mnemonic'] },
|
|
180
|
-
"Close Re&&mote Connection"
|
|
181
|
-
))
|
|
166
|
+
title: ( localizeWithPath(_moduleId, 3, "Close Re&&mote Connection"))
|
|
182
167
|
},
|
|
183
168
|
order: 3.5
|
|
184
169
|
});
|
|
@@ -190,11 +175,7 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
|
|
|
190
175
|
super({
|
|
191
176
|
id: RemoteStatusIndicator_1.INSTALL_REMOTE_EXTENSIONS_ID,
|
|
192
177
|
category,
|
|
193
|
-
title: ( localize2WithPath(
|
|
194
|
-
'vs/workbench/contrib/remote/browser/remoteIndicator',
|
|
195
|
-
'remote.install',
|
|
196
|
-
"Install Remote Development Extensions"
|
|
197
|
-
)),
|
|
178
|
+
title: ( localize2WithPath(_moduleId, 4, "Install Remote Development Extensions")),
|
|
198
179
|
f1: true
|
|
199
180
|
});
|
|
200
181
|
this.run = (accessor, input) => {
|
|
@@ -249,7 +230,7 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
|
|
|
249
230
|
}));
|
|
250
231
|
}
|
|
251
232
|
if (isWeb) {
|
|
252
|
-
this._register(Event.any(this._register(( new DomEmitter(mainWindow, 'online'))).event, this._register(( new DomEmitter(mainWindow, 'offline'))).event)(() => this.setNetworkState(navigator.onLine ? 'online' : 'offline')));
|
|
233
|
+
this._register(Event.any(this._register(( (new DomEmitter(mainWindow, 'online')))).event, this._register(( (new DomEmitter(mainWindow, 'offline')))).event)(() => this.setNetworkState(navigator.onLine ? 'online' : 'offline')));
|
|
253
234
|
}
|
|
254
235
|
this._register(this.extensionService.onDidChangeExtensions(async (result) => {
|
|
255
236
|
for (const ext of result.added) {
|
|
@@ -332,10 +313,10 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
|
|
|
332
313
|
) {
|
|
333
314
|
return;
|
|
334
315
|
}
|
|
335
|
-
this.measureNetworkConnectionLatencyScheduler = this._register(( new RunOnceScheduler(
|
|
316
|
+
this.measureNetworkConnectionLatencyScheduler = this._register(( (new RunOnceScheduler(
|
|
336
317
|
() => this.measureNetworkConnectionLatency(),
|
|
337
318
|
RemoteStatusIndicator_1.REMOTE_CONNECTION_LATENCY_SCHEDULER_DELAY
|
|
338
|
-
)));
|
|
319
|
+
))));
|
|
339
320
|
this.measureNetworkConnectionLatencyScheduler.schedule(RemoteStatusIndicator_1.REMOTE_CONNECTION_LATENCY_SCHEDULER_FIRST_RUN_DELAY);
|
|
340
321
|
}
|
|
341
322
|
async measureNetworkConnectionLatency() {
|
|
@@ -407,45 +388,32 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
|
|
|
407
388
|
const hostLabel = this.labelService.getHostLabel(Schemas.vscodeRemote, this.remoteAuthority) || this.remoteAuthority;
|
|
408
389
|
switch (this.connectionState) {
|
|
409
390
|
case 'initializing':
|
|
410
|
-
this.renderRemoteStatusIndicator(( localizeWithPath(
|
|
411
|
-
'vs/workbench/contrib/remote/browser/remoteIndicator',
|
|
412
|
-
'host.open',
|
|
413
|
-
"Opening Remote..."
|
|
414
|
-
)), ( localizeWithPath(
|
|
415
|
-
'vs/workbench/contrib/remote/browser/remoteIndicator',
|
|
416
|
-
'host.open',
|
|
417
|
-
"Opening Remote..."
|
|
418
|
-
)), undefined, true );
|
|
391
|
+
this.renderRemoteStatusIndicator(( localizeWithPath(_moduleId, 5, "Opening Remote...")), ( localizeWithPath(_moduleId, 5, "Opening Remote...")), undefined, true );
|
|
419
392
|
break;
|
|
420
393
|
case 'reconnecting':
|
|
421
394
|
this.renderRemoteStatusIndicator(`${( localizeWithPath(
|
|
422
|
-
|
|
423
|
-
|
|
395
|
+
_moduleId,
|
|
396
|
+
6,
|
|
424
397
|
"Reconnecting to {0}...",
|
|
425
398
|
truncate(hostLabel, RemoteStatusIndicator_1.REMOTE_STATUS_LABEL_MAX_LENGTH)
|
|
426
399
|
))}`, undefined, undefined, true );
|
|
427
400
|
break;
|
|
428
401
|
case 'disconnected':
|
|
429
402
|
this.renderRemoteStatusIndicator(`$(alert) ${( localizeWithPath(
|
|
430
|
-
|
|
431
|
-
|
|
403
|
+
_moduleId,
|
|
404
|
+
7,
|
|
432
405
|
"Disconnected from {0}",
|
|
433
406
|
truncate(hostLabel, RemoteStatusIndicator_1.REMOTE_STATUS_LABEL_MAX_LENGTH)
|
|
434
407
|
))}`);
|
|
435
408
|
break;
|
|
436
409
|
default: {
|
|
437
|
-
const tooltip = ( new MarkdownString('', { isTrusted: true, supportThemeIcons: true }));
|
|
410
|
+
const tooltip = ( (new MarkdownString('', { isTrusted: true, supportThemeIcons: true })));
|
|
438
411
|
const hostNameTooltip = this.labelService.getHostTooltip(Schemas.vscodeRemote, this.remoteAuthority);
|
|
439
412
|
if (hostNameTooltip) {
|
|
440
413
|
tooltip.appendMarkdown(hostNameTooltip);
|
|
441
414
|
}
|
|
442
415
|
else {
|
|
443
|
-
tooltip.appendText(( localizeWithPath(
|
|
444
|
-
'vs/workbench/contrib/remote/browser/remoteIndicator',
|
|
445
|
-
{ key: 'host.tooltip', comment: ['{0} is a remote host name, e.g. Dev Container'] },
|
|
446
|
-
"Editing on {0}",
|
|
447
|
-
hostLabel
|
|
448
|
-
)));
|
|
416
|
+
tooltip.appendText(( localizeWithPath(_moduleId, 8, "Editing on {0}", hostLabel)));
|
|
449
417
|
}
|
|
450
418
|
this.renderRemoteStatusIndicator(`$(remote) ${truncate(hostLabel, RemoteStatusIndicator_1.REMOTE_STATUS_LABEL_MAX_LENGTH)}`, tooltip);
|
|
451
419
|
}
|
|
@@ -455,24 +423,19 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
|
|
|
455
423
|
if (this.virtualWorkspaceLocation) {
|
|
456
424
|
const workspaceLabel = this.labelService.getHostLabel(this.virtualWorkspaceLocation.scheme, this.virtualWorkspaceLocation.authority);
|
|
457
425
|
if (workspaceLabel) {
|
|
458
|
-
const tooltip = ( new MarkdownString('', { isTrusted: true, supportThemeIcons: true }));
|
|
426
|
+
const tooltip = ( (new MarkdownString('', { isTrusted: true, supportThemeIcons: true })));
|
|
459
427
|
const hostNameTooltip = this.labelService.getHostTooltip(this.virtualWorkspaceLocation.scheme, this.virtualWorkspaceLocation.authority);
|
|
460
428
|
if (hostNameTooltip) {
|
|
461
429
|
tooltip.appendMarkdown(hostNameTooltip);
|
|
462
430
|
}
|
|
463
431
|
else {
|
|
464
|
-
tooltip.appendText(( localizeWithPath(
|
|
465
|
-
'vs/workbench/contrib/remote/browser/remoteIndicator',
|
|
466
|
-
{ key: 'workspace.tooltip', comment: ['{0} is a remote workspace name, e.g. GitHub'] },
|
|
467
|
-
"Editing on {0}",
|
|
468
|
-
workspaceLabel
|
|
469
|
-
)));
|
|
432
|
+
tooltip.appendText(( localizeWithPath(_moduleId, 9, "Editing on {0}", workspaceLabel)));
|
|
470
433
|
}
|
|
471
434
|
if (!isWeb || this.remoteAuthority) {
|
|
472
435
|
tooltip.appendMarkdown('\n\n');
|
|
473
436
|
tooltip.appendMarkdown(( localizeWithPath(
|
|
474
|
-
|
|
475
|
-
|
|
437
|
+
_moduleId,
|
|
438
|
+
10,
|
|
476
439
|
"Some [features are not available]({0}) for resources located on a virtual file system.",
|
|
477
440
|
`command:${LIST_WORKSPACE_UNSUPPORTED_EXTENSIONS_COMMAND_ID}`
|
|
478
441
|
)));
|
|
@@ -481,21 +444,13 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
|
|
|
481
444
|
return;
|
|
482
445
|
}
|
|
483
446
|
}
|
|
484
|
-
this.renderRemoteStatusIndicator(`$(remote)`, ( localizeWithPath(
|
|
485
|
-
'vs/workbench/contrib/remote/browser/remoteIndicator',
|
|
486
|
-
'noHost.tooltip',
|
|
487
|
-
"Open a Remote Window"
|
|
488
|
-
)));
|
|
447
|
+
this.renderRemoteStatusIndicator(`$(remote)`, ( localizeWithPath(_moduleId, 11, "Open a Remote Window")));
|
|
489
448
|
return;
|
|
490
449
|
}
|
|
491
450
|
renderRemoteStatusIndicator(initialText, initialTooltip, command, showProgress) {
|
|
492
451
|
const { text, tooltip, ariaLabel } = this.withNetworkStatus(initialText, initialTooltip, showProgress);
|
|
493
452
|
const properties = {
|
|
494
|
-
name: ( localizeWithPath(
|
|
495
|
-
'vs/workbench/contrib/remote/browser/remoteIndicator',
|
|
496
|
-
'remoteHost',
|
|
497
|
-
"Remote Host"
|
|
498
|
-
)),
|
|
453
|
+
name: ( localizeWithPath(_moduleId, 12, "Remote Host")),
|
|
499
454
|
kind: this.networkState === 'offline' ? 'offline' : 'remote',
|
|
500
455
|
ariaLabel,
|
|
501
456
|
text,
|
|
@@ -523,8 +478,8 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
|
|
|
523
478
|
switch (this.networkState) {
|
|
524
479
|
case 'offline': {
|
|
525
480
|
const offlineMessage = ( localizeWithPath(
|
|
526
|
-
|
|
527
|
-
|
|
481
|
+
_moduleId,
|
|
482
|
+
13,
|
|
528
483
|
"Network appears to be offline, certain features might be unavailable."
|
|
529
484
|
));
|
|
530
485
|
text = textWithAlert();
|
|
@@ -535,8 +490,8 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
|
|
|
535
490
|
case 'high-latency':
|
|
536
491
|
text = textWithAlert();
|
|
537
492
|
tooltip = this.appendTooltipLine(tooltip, ( localizeWithPath(
|
|
538
|
-
|
|
539
|
-
|
|
493
|
+
_moduleId,
|
|
494
|
+
14,
|
|
540
495
|
"Network appears to have high latency ({0}ms last, {1}ms average), certain features may be slow to respond.",
|
|
541
496
|
remoteConnectionLatencyMeasurer.latency?.current?.toFixed(2),
|
|
542
497
|
remoteConnectionLatencyMeasurer.latency?.average?.toFixed(2)
|
|
@@ -548,10 +503,10 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
|
|
|
548
503
|
appendTooltipLine(tooltip, line) {
|
|
549
504
|
let markdownTooltip;
|
|
550
505
|
if (typeof tooltip === 'string') {
|
|
551
|
-
markdownTooltip = ( new MarkdownString(tooltip, { isTrusted: true, supportThemeIcons: true }));
|
|
506
|
+
markdownTooltip = ( (new MarkdownString(tooltip, { isTrusted: true, supportThemeIcons: true })));
|
|
552
507
|
}
|
|
553
508
|
else {
|
|
554
|
-
markdownTooltip = tooltip ?? ( new MarkdownString('', { isTrusted: true, supportThemeIcons: true }));
|
|
509
|
+
markdownTooltip = tooltip ?? ( (new MarkdownString('', { isTrusted: true, supportThemeIcons: true })));
|
|
555
510
|
}
|
|
556
511
|
if (markdownTooltip.value.length > 0) {
|
|
557
512
|
markdownTooltip.appendMarkdown('\n\n');
|
|
@@ -591,10 +546,14 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
|
|
|
591
546
|
};
|
|
592
547
|
const matchCurrentRemote = () => {
|
|
593
548
|
if (this.remoteAuthority) {
|
|
594
|
-
return (
|
|
549
|
+
return (
|
|
550
|
+
(new RegExp(`^remote_\\d\\d_${getRemoteName(this.remoteAuthority)}_`))
|
|
551
|
+
);
|
|
595
552
|
}
|
|
596
553
|
else if (this.virtualWorkspaceLocation) {
|
|
597
|
-
return (
|
|
554
|
+
return (
|
|
555
|
+
(new RegExp(`^virtualfs_\\d\\d_${this.virtualWorkspaceLocation.scheme}_`))
|
|
556
|
+
);
|
|
598
557
|
}
|
|
599
558
|
return undefined;
|
|
600
559
|
};
|
|
@@ -648,21 +607,13 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
|
|
|
648
607
|
const label = metadata.startConnectLabel;
|
|
649
608
|
const buttons = [{
|
|
650
609
|
iconClass: ThemeIcon.asClassName(infoIcon),
|
|
651
|
-
tooltip: ( localizeWithPath(
|
|
652
|
-
'vs/workbench/contrib/remote/browser/remoteIndicator',
|
|
653
|
-
'remote.startActions.help',
|
|
654
|
-
"Learn More"
|
|
655
|
-
))
|
|
610
|
+
tooltip: ( localizeWithPath(_moduleId, 15, "Learn More"))
|
|
656
611
|
}];
|
|
657
612
|
notInstalledItems.push({ type: 'item', id: metadata.id, label: label, buttons: buttons });
|
|
658
613
|
}
|
|
659
614
|
}
|
|
660
615
|
items.push({
|
|
661
|
-
type: 'separator', label: ( localizeWithPath(
|
|
662
|
-
'vs/workbench/contrib/remote/browser/remoteIndicator',
|
|
663
|
-
'remote.startActions.install',
|
|
664
|
-
'Install'
|
|
665
|
-
))
|
|
616
|
+
type: 'separator', label: ( localizeWithPath(_moduleId, 16, 'Install'))
|
|
666
617
|
});
|
|
667
618
|
items.push(...notInstalledItems);
|
|
668
619
|
}
|
|
@@ -675,21 +626,13 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
|
|
|
675
626
|
items.push({
|
|
676
627
|
type: 'item',
|
|
677
628
|
id: RemoteStatusIndicator_1.CLOSE_REMOTE_COMMAND_ID,
|
|
678
|
-
label: ( localizeWithPath(
|
|
679
|
-
'vs/workbench/contrib/remote/browser/remoteIndicator',
|
|
680
|
-
'closeRemoteConnection.title',
|
|
681
|
-
'Close Remote Connection'
|
|
682
|
-
))
|
|
629
|
+
label: ( localizeWithPath(_moduleId, 17, 'Close Remote Connection'))
|
|
683
630
|
});
|
|
684
631
|
if (this.connectionState === 'disconnected') {
|
|
685
632
|
items.push({
|
|
686
633
|
type: 'item',
|
|
687
634
|
id: ReloadWindowAction.ID,
|
|
688
|
-
label: ( localizeWithPath(
|
|
689
|
-
'vs/workbench/contrib/remote/browser/remoteIndicator',
|
|
690
|
-
'reloadWindow',
|
|
691
|
-
'Reload Window'
|
|
692
|
-
))
|
|
635
|
+
label: ( localizeWithPath(_moduleId, 18, 'Reload Window'))
|
|
693
636
|
});
|
|
694
637
|
}
|
|
695
638
|
}
|
|
@@ -697,11 +640,7 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
|
|
|
697
640
|
items.push({
|
|
698
641
|
type: 'item',
|
|
699
642
|
id: RemoteStatusIndicator_1.CLOSE_REMOTE_COMMAND_ID,
|
|
700
|
-
label: ( localizeWithPath(
|
|
701
|
-
'vs/workbench/contrib/remote/browser/remoteIndicator',
|
|
702
|
-
'closeVirtualWorkspace.title',
|
|
703
|
-
'Close Remote Workspace'
|
|
704
|
-
))
|
|
643
|
+
label: ( localizeWithPath(_moduleId, 19, 'Close Remote Workspace'))
|
|
705
644
|
});
|
|
706
645
|
}
|
|
707
646
|
}
|
|
@@ -711,11 +650,7 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
|
|
|
711
650
|
return items;
|
|
712
651
|
};
|
|
713
652
|
const quickPick = this.quickInputService.createQuickPick();
|
|
714
|
-
quickPick.placeholder = ( localizeWithPath(
|
|
715
|
-
'vs/workbench/contrib/remote/browser/remoteIndicator',
|
|
716
|
-
'remoteActions',
|
|
717
|
-
"Select an option to open a Remote Window"
|
|
718
|
-
));
|
|
653
|
+
quickPick.placeholder = ( localizeWithPath(_moduleId, 20, "Select an option to open a Remote Window"));
|
|
719
654
|
quickPick.items = computeItems();
|
|
720
655
|
quickPick.sortByLabel = false;
|
|
721
656
|
quickPick.canSelectMany = false;
|
|
@@ -727,11 +662,7 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
|
|
|
727
662
|
if (remoteExtension) {
|
|
728
663
|
quickPick.items = [];
|
|
729
664
|
quickPick.busy = true;
|
|
730
|
-
quickPick.placeholder = ( localizeWithPath(
|
|
731
|
-
'vs/workbench/contrib/remote/browser/remoteIndicator',
|
|
732
|
-
'remote.startActions.installingExtension',
|
|
733
|
-
'Installing extension... '
|
|
734
|
-
));
|
|
665
|
+
quickPick.placeholder = ( localizeWithPath(_moduleId, 21, 'Installing extension... '));
|
|
735
666
|
await this.installExtension(remoteExtension.id);
|
|
736
667
|
quickPick.hide();
|
|
737
668
|
await this.runRemoteStartCommand(remoteExtension.id, remoteExtension.startCommand);
|
|
@@ -749,7 +680,7 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
|
|
|
749
680
|
Event.once(quickPick.onDidTriggerItemButton)(async (e) => {
|
|
750
681
|
const remoteExtension = this.remoteExtensionMetadata.find(value => ExtensionIdentifier.equals(value.id, e.item.id));
|
|
751
682
|
if (remoteExtension) {
|
|
752
|
-
await this.openerService.open(( URI.parse(remoteExtension.helpLink)));
|
|
683
|
+
await this.openerService.open(( (URI.parse(remoteExtension.helpLink))));
|
|
753
684
|
}
|
|
754
685
|
});
|
|
755
686
|
const legacyItemUpdater = this.legacyIndicatorMenu.onDidChange(() => quickPick.items = computeItems());
|
|
@@ -766,36 +697,36 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
|
|
|
766
697
|
quickPick.show();
|
|
767
698
|
}
|
|
768
699
|
};
|
|
769
|
-
RemoteStatusIndicator = RemoteStatusIndicator_1 = ( __decorate([
|
|
770
|
-
( __param(0, IStatusbarService)),
|
|
771
|
-
( __param(1, IBrowserWorkbenchEnvironmentService)),
|
|
772
|
-
( __param(2, ILabelService)),
|
|
773
|
-
( __param(3, IContextKeyService)),
|
|
774
|
-
( __param(4, IMenuService)),
|
|
775
|
-
( __param(5, IQuickInputService)),
|
|
776
|
-
( __param(6, ICommandService)),
|
|
777
|
-
( __param(7, IExtensionService)),
|
|
778
|
-
( __param(8, IRemoteAgentService)),
|
|
779
|
-
( __param(9, IRemoteAuthorityResolverService)),
|
|
780
|
-
( __param(10, IHostService)),
|
|
781
|
-
( __param(11, IWorkspaceContextService)),
|
|
782
|
-
( __param(12, ILogService)),
|
|
783
|
-
( __param(13, IExtensionGalleryService)),
|
|
784
|
-
( __param(14, ITelemetryService)),
|
|
785
|
-
( __param(15, IProductService)),
|
|
786
|
-
( __param(16, IExtensionManagementService)),
|
|
787
|
-
( __param(17, IOpenerService)),
|
|
788
|
-
( __param(18, IConfigurationService))
|
|
789
|
-
], RemoteStatusIndicator));
|
|
790
|
-
( Registry.as(Extensions.Configuration))
|
|
700
|
+
RemoteStatusIndicator = RemoteStatusIndicator_1 = ( (__decorate([
|
|
701
|
+
( (__param(0, IStatusbarService))),
|
|
702
|
+
( (__param(1, IBrowserWorkbenchEnvironmentService))),
|
|
703
|
+
( (__param(2, ILabelService))),
|
|
704
|
+
( (__param(3, IContextKeyService))),
|
|
705
|
+
( (__param(4, IMenuService))),
|
|
706
|
+
( (__param(5, IQuickInputService))),
|
|
707
|
+
( (__param(6, ICommandService))),
|
|
708
|
+
( (__param(7, IExtensionService))),
|
|
709
|
+
( (__param(8, IRemoteAgentService))),
|
|
710
|
+
( (__param(9, IRemoteAuthorityResolverService))),
|
|
711
|
+
( (__param(10, IHostService))),
|
|
712
|
+
( (__param(11, IWorkspaceContextService))),
|
|
713
|
+
( (__param(12, ILogService))),
|
|
714
|
+
( (__param(13, IExtensionGalleryService))),
|
|
715
|
+
( (__param(14, ITelemetryService))),
|
|
716
|
+
( (__param(15, IProductService))),
|
|
717
|
+
( (__param(16, IExtensionManagementService))),
|
|
718
|
+
( (__param(17, IOpenerService))),
|
|
719
|
+
( (__param(18, IConfigurationService)))
|
|
720
|
+
], RemoteStatusIndicator)));
|
|
721
|
+
( (Registry.as(Extensions.Configuration)))
|
|
791
722
|
.registerConfiguration({
|
|
792
723
|
...workbenchConfigurationNodeBase,
|
|
793
724
|
properties: {
|
|
794
725
|
'workbench.remoteIndicator.showExtensionRecommendations': {
|
|
795
726
|
type: 'boolean',
|
|
796
727
|
markdownDescription: ( localizeWithPath(
|
|
797
|
-
|
|
798
|
-
|
|
728
|
+
_moduleId,
|
|
729
|
+
22,
|
|
799
730
|
"When enabled, remote extensions recommendations will be shown in the Remote Indicator menu."
|
|
800
731
|
)),
|
|
801
732
|
default: true
|
|
@@ -12,7 +12,8 @@ import { RawContextKey } from 'vscode/vscode/vs/platform/contextkey/common/conte
|
|
|
12
12
|
import { IContextKeyService } from 'vscode/vscode/vs/platform/contextkey/common/contextkey.service';
|
|
13
13
|
|
|
14
14
|
var RemoteStartEntry_1;
|
|
15
|
-
const
|
|
15
|
+
const _moduleId = "vs/workbench/contrib/remote/browser/remoteStartEntry";
|
|
16
|
+
const showStartEntryInWeb = ( (new RawContextKey('showRemoteStartEntryInWeb', false)));
|
|
16
17
|
let RemoteStartEntry = class RemoteStartEntry extends Disposable {
|
|
17
18
|
static { RemoteStartEntry_1 = this; }
|
|
18
19
|
static { this.REMOTE_WEB_START_ENTRY_ACTIONS_COMMAND_ID = 'workbench.action.remote.showWebStartEntryActions'; }
|
|
@@ -32,22 +33,14 @@ let RemoteStartEntry = class RemoteStartEntry extends Disposable {
|
|
|
32
33
|
this.registerListeners();
|
|
33
34
|
}
|
|
34
35
|
registerActions() {
|
|
35
|
-
const category = ( localize2WithPath(
|
|
36
|
-
'vs/workbench/contrib/remote/browser/remoteStartEntry',
|
|
37
|
-
'remote.category',
|
|
38
|
-
"Remote"
|
|
39
|
-
));
|
|
36
|
+
const category = ( localize2WithPath(_moduleId, 0, "Remote"));
|
|
40
37
|
const startEntry = this;
|
|
41
38
|
this._register(registerAction2(class extends Action2 {
|
|
42
39
|
constructor() {
|
|
43
40
|
super({
|
|
44
41
|
id: RemoteStartEntry_1.REMOTE_WEB_START_ENTRY_ACTIONS_COMMAND_ID,
|
|
45
42
|
category,
|
|
46
|
-
title: ( localize2WithPath(
|
|
47
|
-
'vs/workbench/contrib/remote/browser/remoteStartEntry',
|
|
48
|
-
'remote.showWebStartEntryActions',
|
|
49
|
-
"Show Remote Start Entry for web"
|
|
50
|
-
)),
|
|
43
|
+
title: ( localize2WithPath(_moduleId, 1, "Show Remote Start Entry for web")),
|
|
51
44
|
f1: false
|
|
52
45
|
});
|
|
53
46
|
}
|
|
@@ -86,13 +79,13 @@ let RemoteStartEntry = class RemoteStartEntry extends Disposable {
|
|
|
86
79
|
});
|
|
87
80
|
}
|
|
88
81
|
};
|
|
89
|
-
RemoteStartEntry = RemoteStartEntry_1 = ( __decorate([
|
|
90
|
-
( __param(0, ICommandService)),
|
|
91
|
-
( __param(1, IProductService)),
|
|
92
|
-
( __param(2, IExtensionManagementService)),
|
|
93
|
-
( __param(3, IWorkbenchExtensionEnablementService)),
|
|
94
|
-
( __param(4, ITelemetryService)),
|
|
95
|
-
( __param(5, IContextKeyService))
|
|
96
|
-
], RemoteStartEntry));
|
|
82
|
+
RemoteStartEntry = RemoteStartEntry_1 = ( (__decorate([
|
|
83
|
+
( (__param(0, ICommandService))),
|
|
84
|
+
( (__param(1, IProductService))),
|
|
85
|
+
( (__param(2, IExtensionManagementService))),
|
|
86
|
+
( (__param(3, IWorkbenchExtensionEnablementService))),
|
|
87
|
+
( (__param(4, ITelemetryService))),
|
|
88
|
+
( (__param(5, IContextKeyService)))
|
|
89
|
+
], RemoteStartEntry)));
|
|
97
90
|
|
|
98
91
|
export { RemoteStartEntry, showStartEntryInWeb };
|