@codingame/monaco-vscode-extension-gallery-service-override 37.3.3 → 37.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 +2 -2
- package/vscode/src/vs/sessions/contrib/extensions/browser/extensions.contribution.js +1 -1
- package/vscode/src/vs/workbench/contrib/extensions/browser/abstractRuntimeExtensionsEditor.js +18 -18
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensions.web.contribution.js +1 -1
- package/vscode/src/vs/workbench/contrib/extensions/common/reportExtensionIssueAction.js +1 -1
- package/vscode/src/vs/workbench/contrib/extensions/common/runtimeExtensionsInput.js +2 -2
- package/vscode/src/vs/workbench/services/extensionManagement/browser/extensionEnablementService.js +14 -14
- package/vscode/src/vs/workbench/services/extensionManagement/common/extensionFeaturesManagemetService.js +4 -4
- package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagementServerService.js +2 -2
- package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagementService.js +46 -46
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codingame/monaco-vscode-extension-gallery-service-override",
|
|
3
|
-
"version": "37.3.
|
|
3
|
+
"version": "37.3.4",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "VSCode public API plugged on the monaco editor - extension-gallery service-override",
|
|
6
6
|
"keywords": [],
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
},
|
|
16
16
|
"type": "module",
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@codingame/monaco-vscode-api": "37.3.
|
|
18
|
+
"@codingame/monaco-vscode-api": "37.3.4"
|
|
19
19
|
},
|
|
20
20
|
"main": "index.js",
|
|
21
21
|
"module": "index.js",
|
|
@@ -11,7 +11,7 @@ import { Registry } from '@codingame/monaco-vscode-api/vscode/vs/platform/regist
|
|
|
11
11
|
type: "boolean",
|
|
12
12
|
scope: ConfigurationScope.APPLICATION,
|
|
13
13
|
description: ( localize(
|
|
14
|
-
|
|
14
|
+
4073,
|
|
15
15
|
"When enabled, extensions can declare whether they support running in the Agents window."
|
|
16
16
|
)),
|
|
17
17
|
default: false,
|
package/vscode/src/vs/workbench/contrib/extensions/browser/abstractRuntimeExtensionsEditor.js
CHANGED
|
@@ -272,19 +272,19 @@ let AbstractRuntimeExtensionsEditor = class AbstractRuntimeExtensionsEditor exte
|
|
|
272
272
|
const activationId = activationTimes.activationReason.extensionId.value;
|
|
273
273
|
const activationEvent = activationTimes.activationReason.activationEvent;
|
|
274
274
|
if (activationEvent === "*") {
|
|
275
|
-
title = ( localize(
|
|
275
|
+
title = ( localize(14413, "Activated by {0} on start-up", activationId));
|
|
276
276
|
} else if (/^workspaceContains:/.test(activationEvent)) {
|
|
277
277
|
const fileNameOrGlob = activationEvent.substr("workspaceContains:".length);
|
|
278
278
|
if (fileNameOrGlob.indexOf("*") >= 0 || fileNameOrGlob.indexOf("?") >= 0) {
|
|
279
279
|
title = ( localize(
|
|
280
|
-
|
|
280
|
+
14414,
|
|
281
281
|
"Activated by {1} because a file matching {0} exists in your workspace",
|
|
282
282
|
fileNameOrGlob,
|
|
283
283
|
activationId
|
|
284
284
|
));
|
|
285
285
|
} else {
|
|
286
286
|
title = ( localize(
|
|
287
|
-
|
|
287
|
+
14415,
|
|
288
288
|
"Activated by {1} because file {0} exists in your workspace",
|
|
289
289
|
fileNameOrGlob,
|
|
290
290
|
activationId
|
|
@@ -293,26 +293,26 @@ let AbstractRuntimeExtensionsEditor = class AbstractRuntimeExtensionsEditor exte
|
|
|
293
293
|
} else if (/^workspaceContainsTimeout:/.test(activationEvent)) {
|
|
294
294
|
const glob = activationEvent.substr("workspaceContainsTimeout:".length);
|
|
295
295
|
title = ( localize(
|
|
296
|
-
|
|
296
|
+
14416,
|
|
297
297
|
"Activated by {1} because searching for {0} took too long",
|
|
298
298
|
glob,
|
|
299
299
|
activationId
|
|
300
300
|
));
|
|
301
301
|
} else if (activationEvent === "onStartupFinished") {
|
|
302
|
-
title = ( localize(
|
|
302
|
+
title = ( localize(14417, "Activated by {0} after start-up finished", activationId));
|
|
303
303
|
} else if (/^onLanguage:/.test(activationEvent)) {
|
|
304
304
|
const language = activationEvent.substr("onLanguage:".length);
|
|
305
305
|
title = ( localize(
|
|
306
|
-
|
|
306
|
+
14418,
|
|
307
307
|
"Activated by {1} because you opened a {0} file",
|
|
308
308
|
language,
|
|
309
309
|
activationId
|
|
310
310
|
));
|
|
311
311
|
} else {
|
|
312
|
-
title = ( localize(
|
|
312
|
+
title = ( localize(14419, "Activated by {1} on {0}", activationEvent, activationId));
|
|
313
313
|
}
|
|
314
314
|
} else {
|
|
315
|
-
title = ( localize(
|
|
315
|
+
title = ( localize(14420, "Extension is activating..."));
|
|
316
316
|
}
|
|
317
317
|
data.elementDisposables.push(
|
|
318
318
|
this._hoverService.setupManagedHover(getDefaultHoverDelegate("mouse"), data.activationTime, title)
|
|
@@ -320,14 +320,14 @@ let AbstractRuntimeExtensionsEditor = class AbstractRuntimeExtensionsEditor exte
|
|
|
320
320
|
clearNode(data.msgContainer);
|
|
321
321
|
if (this._getUnresponsiveProfile(element.description.identifier)) {
|
|
322
322
|
const el = $("span", undefined, ...renderLabelWithIcons(` $(alert) Unresponsive`));
|
|
323
|
-
const extensionHostFreezTitle = ( localize(
|
|
323
|
+
const extensionHostFreezTitle = ( localize(14421, "Extension has caused the extension host to freeze."));
|
|
324
324
|
data.elementDisposables.push(
|
|
325
325
|
this._hoverService.setupManagedHover(getDefaultHoverDelegate("mouse"), el, extensionHostFreezTitle)
|
|
326
326
|
);
|
|
327
327
|
data.msgContainer.appendChild(el);
|
|
328
328
|
}
|
|
329
329
|
if (isNonEmptyArray(element.status.runtimeErrors)) {
|
|
330
|
-
const el = $("span", undefined, ...renderLabelWithIcons(`$(bug) ${( localize(
|
|
330
|
+
const el = $("span", undefined, ...renderLabelWithIcons(`$(bug) ${( localize(14422, "{0} uncaught errors", element.status.runtimeErrors.length))}`));
|
|
331
331
|
data.msgContainer.appendChild(el);
|
|
332
332
|
}
|
|
333
333
|
if (element.status.messages && element.status.messages.length > 0) {
|
|
@@ -368,14 +368,14 @@ let AbstractRuntimeExtensionsEditor = class AbstractRuntimeExtensionsEditor exte
|
|
|
368
368
|
}
|
|
369
369
|
if (accessData?.accessTimes.length > 0) {
|
|
370
370
|
const element = $("span", undefined, `${( localize(
|
|
371
|
-
|
|
371
|
+
14423,
|
|
372
372
|
"{0} Usage: {1} Requests",
|
|
373
373
|
feature.label,
|
|
374
374
|
accessData.accessTimes.length
|
|
375
|
-
))}${accessData.current ? ( localize(
|
|
375
|
+
))}${accessData.current ? ( localize(14424, ", {0} Requests (Session)", accessData.current.accessTimes.length)) : ""}`);
|
|
376
376
|
if (accessData.current) {
|
|
377
377
|
const title = ( localize(
|
|
378
|
-
|
|
378
|
+
14425,
|
|
379
379
|
"Last request was {0}.",
|
|
380
380
|
fromNow(accessData.current.lastAccessed, true, true)
|
|
381
381
|
));
|
|
@@ -408,7 +408,7 @@ let AbstractRuntimeExtensionsEditor = class AbstractRuntimeExtensionsEditor exte
|
|
|
408
408
|
},
|
|
409
409
|
accessibilityProvider: new (class {
|
|
410
410
|
getWidgetAriaLabel() {
|
|
411
|
-
return localize(
|
|
411
|
+
return localize(14426, "Runtime Extensions");
|
|
412
412
|
}
|
|
413
413
|
getAriaLabel(element) {
|
|
414
414
|
return element.description.name;
|
|
@@ -422,7 +422,7 @@ let AbstractRuntimeExtensionsEditor = class AbstractRuntimeExtensionsEditor exte
|
|
|
422
422
|
return;
|
|
423
423
|
}
|
|
424
424
|
const actions = [];
|
|
425
|
-
actions.push(( new Action("runtimeExtensionsEditor.action.copyId", ( localize(
|
|
425
|
+
actions.push(( new Action("runtimeExtensionsEditor.action.copyId", ( localize(14427, "Copy id ({0})", e.element.description.identifier.value)), undefined, true, () => {
|
|
426
426
|
this._clipboardService.writeText(e.element.description.identifier.value);
|
|
427
427
|
})));
|
|
428
428
|
const reportExtensionIssueAction = this._createReportExtensionIssueAction(e.element);
|
|
@@ -431,8 +431,8 @@ let AbstractRuntimeExtensionsEditor = class AbstractRuntimeExtensionsEditor exte
|
|
|
431
431
|
}
|
|
432
432
|
actions.push(( new Separator()));
|
|
433
433
|
if (e.element.marketplaceInfo) {
|
|
434
|
-
actions.push(( new Action("runtimeExtensionsEditor.action.disableWorkspace", ( localize(
|
|
435
|
-
actions.push(( new Action("runtimeExtensionsEditor.action.disable", ( localize(
|
|
434
|
+
actions.push(( new Action("runtimeExtensionsEditor.action.disableWorkspace", ( localize(14428, "Disable (Workspace)")), undefined, true, () => this._extensionsWorkbenchService.setEnablement(e.element.marketplaceInfo, EnablementState.DisabledWorkspace))));
|
|
435
|
+
actions.push(( new Action("runtimeExtensionsEditor.action.disable", ( localize(14429, "Disable")), undefined, true, () => this._extensionsWorkbenchService.setEnablement(e.element.marketplaceInfo, EnablementState.DisabledGlobally))));
|
|
436
436
|
}
|
|
437
437
|
actions.push(( new Separator()));
|
|
438
438
|
const menuActions = this._menuService.getMenuActions(MenuId.ExtensionEditorContextMenu, this.contextKeyService);
|
|
@@ -452,7 +452,7 @@ class ShowRuntimeExtensionsAction extends Action2 {
|
|
|
452
452
|
constructor() {
|
|
453
453
|
super({
|
|
454
454
|
id: "workbench.action.showRuntimeExtensions",
|
|
455
|
-
title: ( localize2(
|
|
455
|
+
title: ( localize2(14430, "Show Running Extensions")),
|
|
456
456
|
category: Categories.Developer,
|
|
457
457
|
f1: true,
|
|
458
458
|
menu: {
|
|
@@ -10,7 +10,7 @@ import { EditorExtensions } from '@codingame/monaco-vscode-api/vscode/vs/workben
|
|
|
10
10
|
import { ShowRuntimeExtensionsAction } from './abstractRuntimeExtensionsEditor.js';
|
|
11
11
|
|
|
12
12
|
( Registry.as(EditorExtensions.EditorPane)).registerEditorPane(
|
|
13
|
-
EditorPaneDescriptor.create(RuntimeExtensionsEditor, RuntimeExtensionsEditor.ID, ( localize(
|
|
13
|
+
EditorPaneDescriptor.create(RuntimeExtensionsEditor, RuntimeExtensionsEditor.ID, ( localize(14664, "Running Extensions"))),
|
|
14
14
|
[( new SyncDescriptor(RuntimeExtensionsInput))]
|
|
15
15
|
);
|
|
16
16
|
registerAction2(ShowRuntimeExtensionsAction);
|
|
@@ -13,7 +13,7 @@ let ReportExtensionIssueAction = class ReportExtensionIssueAction extends Action
|
|
|
13
13
|
this._id = "workbench.extensions.action.reportExtensionIssue";
|
|
14
14
|
}
|
|
15
15
|
static {
|
|
16
|
-
this._label = ( localize(
|
|
16
|
+
this._label = ( localize(15049, "Report Issue"));
|
|
17
17
|
}
|
|
18
18
|
constructor(extension, issueService) {
|
|
19
19
|
super(
|
|
@@ -6,7 +6,7 @@ import { EditorInput } from '@codingame/monaco-vscode-api/vscode/vs/workbench/co
|
|
|
6
6
|
import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
|
|
7
7
|
import { registerIcon } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/iconRegistry';
|
|
8
8
|
|
|
9
|
-
const RuntimeExtensionsEditorIcon = registerIcon("runtime-extensions-editor-label-icon", Codicon.extensions, ( localize(
|
|
9
|
+
const RuntimeExtensionsEditorIcon = registerIcon("runtime-extensions-editor-label-icon", Codicon.extensions, ( localize(15050, "Icon of the runtime extensions editor label.")));
|
|
10
10
|
class RuntimeExtensionsInput extends EditorInput {
|
|
11
11
|
constructor() {
|
|
12
12
|
super(...arguments);
|
|
@@ -31,7 +31,7 @@ class RuntimeExtensionsInput extends EditorInput {
|
|
|
31
31
|
return RuntimeExtensionsInput._instance;
|
|
32
32
|
}
|
|
33
33
|
getName() {
|
|
34
|
-
return localize(
|
|
34
|
+
return localize(15051, "Running Extensions");
|
|
35
35
|
}
|
|
36
36
|
getIcon() {
|
|
37
37
|
return RuntimeExtensionsEditorIcon;
|
package/vscode/src/vs/workbench/services/extensionManagement/browser/extensionEnablementService.js
CHANGED
|
@@ -154,8 +154,8 @@ let ExtensionEnablementService = class ExtensionEnablementService extends Dispos
|
|
|
154
154
|
}));
|
|
155
155
|
if (this.allUserExtensionsDisabled) {
|
|
156
156
|
this.lifecycleService.when(LifecyclePhase.Eventually).then(() => {
|
|
157
|
-
this.notificationService.prompt(Severity.Info, ( localize(
|
|
158
|
-
label: ( localize(
|
|
157
|
+
this.notificationService.prompt(Severity.Info, ( localize(21900, "All installed extensions are temporarily disabled.")), [{
|
|
158
|
+
label: ( localize(21901, "Reload and Enable Extensions")),
|
|
159
159
|
run: () => hostService.reload({
|
|
160
160
|
disableExtensions: false
|
|
161
161
|
})
|
|
@@ -271,21 +271,21 @@ let ExtensionEnablementService = class ExtensionEnablementService extends Dispos
|
|
|
271
271
|
throwErrorIfCannotChangeEnablement(extension, donotCheckDependencies) {
|
|
272
272
|
if (isLanguagePackExtension(extension.manifest)) {
|
|
273
273
|
throw ( new Error(( localize(
|
|
274
|
-
|
|
274
|
+
21902,
|
|
275
275
|
"Cannot change enablement of {0} extension because it contributes language packs.",
|
|
276
276
|
extension.manifest.displayName || extension.identifier.id
|
|
277
277
|
))));
|
|
278
278
|
}
|
|
279
279
|
if (this.isDefaultOrSettingsSyncAuthProviderExtension(extension.manifest)) {
|
|
280
280
|
throw ( new Error(( localize(
|
|
281
|
-
|
|
281
|
+
21903,
|
|
282
282
|
"Cannot change enablement of {0} extension because Settings Sync depends on it.",
|
|
283
283
|
extension.manifest.displayName || extension.identifier.id
|
|
284
284
|
))));
|
|
285
285
|
}
|
|
286
286
|
if (this._isEnabledInEnv(extension)) {
|
|
287
287
|
throw ( new Error(( localize(
|
|
288
|
-
|
|
288
|
+
21904,
|
|
289
289
|
"Cannot change enablement of {0} extension because it is enabled in environment",
|
|
290
290
|
extension.manifest.displayName || extension.identifier.id
|
|
291
291
|
))));
|
|
@@ -296,37 +296,37 @@ let ExtensionEnablementService = class ExtensionEnablementService extends Dispos
|
|
|
296
296
|
switch (enablementStateOfExtension) {
|
|
297
297
|
case EnablementState.DisabledByEnvironment:
|
|
298
298
|
throw ( new Error(( localize(
|
|
299
|
-
|
|
299
|
+
21905,
|
|
300
300
|
"Cannot change enablement of {0} extension because it is disabled in environment",
|
|
301
301
|
extension.manifest.displayName || extension.identifier.id
|
|
302
302
|
))));
|
|
303
303
|
case EnablementState.DisabledByMalicious:
|
|
304
304
|
throw ( new Error(( localize(
|
|
305
|
-
|
|
305
|
+
21906,
|
|
306
306
|
"Cannot change enablement of {0} extension because it is malicious",
|
|
307
307
|
extension.manifest.displayName || extension.identifier.id
|
|
308
308
|
))));
|
|
309
309
|
case EnablementState.DisabledByVirtualWorkspace:
|
|
310
310
|
throw ( new Error(( localize(
|
|
311
|
-
|
|
311
|
+
21907,
|
|
312
312
|
"Cannot change enablement of {0} extension because it does not support virtual workspaces",
|
|
313
313
|
extension.manifest.displayName || extension.identifier.id
|
|
314
314
|
))));
|
|
315
315
|
case EnablementState.DisabledByExtensionKind:
|
|
316
316
|
throw ( new Error(( localize(
|
|
317
|
-
|
|
317
|
+
21908,
|
|
318
318
|
"Cannot change enablement of {0} extension because of its extension kind",
|
|
319
319
|
extension.manifest.displayName || extension.identifier.id
|
|
320
320
|
))));
|
|
321
321
|
case EnablementState.DisabledByAllowlist:
|
|
322
322
|
throw ( new Error(( localize(
|
|
323
|
-
|
|
323
|
+
21909,
|
|
324
324
|
"Cannot change enablement of {0} extension because it is disallowed",
|
|
325
325
|
extension.manifest.displayName || extension.identifier.id
|
|
326
326
|
))));
|
|
327
327
|
case EnablementState.DisabledByInvalidExtension:
|
|
328
328
|
throw ( new Error(( localize(
|
|
329
|
-
|
|
329
|
+
21910,
|
|
330
330
|
"Cannot change enablement of {0} extension because of it is invalid",
|
|
331
331
|
extension.manifest.displayName || extension.identifier.id
|
|
332
332
|
))));
|
|
@@ -339,7 +339,7 @@ let ExtensionEnablementService = class ExtensionEnablementService extends Dispos
|
|
|
339
339
|
continue;
|
|
340
340
|
}
|
|
341
341
|
throw ( new Error(( localize(
|
|
342
|
-
|
|
342
|
+
21911,
|
|
343
343
|
"Cannot enable '{0}' extension because it depends on '{1}' extension that cannot be enabled",
|
|
344
344
|
extension.manifest.displayName || extension.identifier.id,
|
|
345
345
|
dependency.manifest.displayName || dependency.identifier.id
|
|
@@ -349,11 +349,11 @@ let ExtensionEnablementService = class ExtensionEnablementService extends Dispos
|
|
|
349
349
|
}
|
|
350
350
|
throwErrorIfCannotChangeWorkspaceEnablement(extension) {
|
|
351
351
|
if (!this.hasWorkspace) {
|
|
352
|
-
throw ( new Error(( localize(
|
|
352
|
+
throw ( new Error(( localize(21912, "No workspace."))));
|
|
353
353
|
}
|
|
354
354
|
if (this.isDefaultOrSettingsSyncAuthProviderExtension(extension.manifest)) {
|
|
355
355
|
throw ( new Error(( localize(
|
|
356
|
-
|
|
356
|
+
21913,
|
|
357
357
|
"Cannot change enablement of {0} extension in workspace because Settings Sync depends on it.",
|
|
358
358
|
extension.manifest.displayName || extension.identifier.id
|
|
359
359
|
))));
|
|
@@ -96,17 +96,17 @@ let ExtensionFeaturesManagementService = class ExtensionFeaturesManagementServic
|
|
|
96
96
|
if (feature.access.requireUserConsent) {
|
|
97
97
|
const extensionDescription = this.extensionService.extensions.find(e => ExtensionIdentifier.equals(e.identifier, extension));
|
|
98
98
|
const confirmationResult = await this.dialogService.confirm({
|
|
99
|
-
title: ( localize(
|
|
99
|
+
title: ( localize(21916, "Access '{0}' Feature", feature.label)),
|
|
100
100
|
message: ( localize(
|
|
101
|
-
|
|
101
|
+
21917,
|
|
102
102
|
"'{0}' extension would like to access the '{1}' feature.",
|
|
103
103
|
extensionDescription?.displayName ?? extension._lower,
|
|
104
104
|
feature.label
|
|
105
105
|
)),
|
|
106
106
|
detail: justification ?? feature.description,
|
|
107
107
|
custom: true,
|
|
108
|
-
primaryButton: ( localize(
|
|
109
|
-
cancelButton: ( localize(
|
|
108
|
+
primaryButton: ( localize(21918, "Allow")),
|
|
109
|
+
cancelButton: ( localize(21919, "Don't Allow"))
|
|
110
110
|
});
|
|
111
111
|
enabled = confirmationResult.confirmed;
|
|
112
112
|
}
|
|
@@ -26,7 +26,7 @@ let ExtensionManagementServerService = class ExtensionManagementServerService {
|
|
|
26
26
|
id: "remote",
|
|
27
27
|
extensionManagementService,
|
|
28
28
|
get label() {
|
|
29
|
-
return labelService.getHostLabel(Schemas.vscodeRemote, remoteAgentConnection.remoteAuthority) || ( localize(
|
|
29
|
+
return labelService.getHostLabel(Schemas.vscodeRemote, remoteAgentConnection.remoteAuthority) || ( localize(21920, "Remote"));
|
|
30
30
|
}
|
|
31
31
|
};
|
|
32
32
|
}
|
|
@@ -35,7 +35,7 @@ let ExtensionManagementServerService = class ExtensionManagementServerService {
|
|
|
35
35
|
this.webExtensionManagementServer = {
|
|
36
36
|
id: "web",
|
|
37
37
|
extensionManagementService,
|
|
38
|
-
label: ( localize(
|
|
38
|
+
label: ( localize(21921, "Browser"))
|
|
39
39
|
};
|
|
40
40
|
}
|
|
41
41
|
}
|
package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagementService.js
CHANGED
|
@@ -287,7 +287,7 @@ let ExtensionManagementService = class ExtensionManagementService extends Common
|
|
|
287
287
|
getDependentsErrorMessage(extension, dependents) {
|
|
288
288
|
if (dependents.length === 1) {
|
|
289
289
|
return localize(
|
|
290
|
-
|
|
290
|
+
21922,
|
|
291
291
|
"Cannot uninstall extension '{0}'. Extension '{1}' depends on this.",
|
|
292
292
|
extension.manifest.displayName || extension.manifest.name,
|
|
293
293
|
dependents[0].manifest.displayName || dependents[0].manifest.name
|
|
@@ -295,7 +295,7 @@ let ExtensionManagementService = class ExtensionManagementService extends Common
|
|
|
295
295
|
}
|
|
296
296
|
if (dependents.length === 2) {
|
|
297
297
|
return localize(
|
|
298
|
-
|
|
298
|
+
21923,
|
|
299
299
|
"Cannot uninstall extension '{0}'. Extensions '{1}' and '{2}' depend on this.",
|
|
300
300
|
extension.manifest.displayName || extension.manifest.name,
|
|
301
301
|
dependents[0].manifest.displayName || dependents[0].manifest.name,
|
|
@@ -303,7 +303,7 @@ let ExtensionManagementService = class ExtensionManagementService extends Common
|
|
|
303
303
|
);
|
|
304
304
|
}
|
|
305
305
|
return localize(
|
|
306
|
-
|
|
306
|
+
21924,
|
|
307
307
|
"Cannot uninstall extension '{0}'. Extensions '{1}', '{2}' and others depend on this.",
|
|
308
308
|
extension.manifest.displayName || extension.manifest.name,
|
|
309
309
|
dependents[0].manifest.displayName || dependents[0].manifest.name,
|
|
@@ -417,7 +417,7 @@ let ExtensionManagementService = class ExtensionManagementService extends Common
|
|
|
417
417
|
}
|
|
418
418
|
const manifest = await this.extensionGalleryService.getManifest(gallery, CancellationToken.None);
|
|
419
419
|
if (!manifest) {
|
|
420
|
-
return ( new MarkdownString()).appendText(( localize(
|
|
420
|
+
return ( new MarkdownString()).appendText(( localize(21925, "Manifest is not found")));
|
|
421
421
|
}
|
|
422
422
|
if (this.extensionManagementServerService.remoteExtensionManagementServer && (await this.extensionManagementServerService.remoteExtensionManagementServer.extensionManagementService.canInstall(gallery)) === true && this.extensionManifestPropertiesService.canExecuteOnWorkspace(manifest)) {
|
|
423
423
|
return true;
|
|
@@ -426,7 +426,7 @@ let ExtensionManagementService = class ExtensionManagementService extends Common
|
|
|
426
426
|
return true;
|
|
427
427
|
}
|
|
428
428
|
return ( new MarkdownString()).appendText(( localize(
|
|
429
|
-
|
|
429
|
+
21926,
|
|
430
430
|
"Cannot install the '{0}' extension because it is not available in this setup.",
|
|
431
431
|
gallery.displayName || gallery.name
|
|
432
432
|
)));
|
|
@@ -442,7 +442,7 @@ let ExtensionManagementService = class ExtensionManagementService extends Common
|
|
|
442
442
|
return true;
|
|
443
443
|
}
|
|
444
444
|
return ( new MarkdownString()).appendText(( localize(
|
|
445
|
-
|
|
445
|
+
21926,
|
|
446
446
|
"Cannot install the '{0}' extension because it is not available in this setup.",
|
|
447
447
|
extension.manifest.displayName ?? extension.identifier.id
|
|
448
448
|
)));
|
|
@@ -479,7 +479,7 @@ let ExtensionManagementService = class ExtensionManagementService extends Common
|
|
|
479
479
|
const manifest = await this.extensionGalleryService.getManifest(extension, CancellationToken.None);
|
|
480
480
|
if (!manifest) {
|
|
481
481
|
throw ( new Error(( localize(
|
|
482
|
-
|
|
482
|
+
21927,
|
|
483
483
|
"Installing Extension {0} failed: Manifest is not found.",
|
|
484
484
|
extension.displayName || extension.name
|
|
485
485
|
))));
|
|
@@ -505,7 +505,7 @@ let ExtensionManagementService = class ExtensionManagementService extends Common
|
|
|
505
505
|
const manifest = await this.extensionGalleryService.getManifest(extension, CancellationToken.None);
|
|
506
506
|
if (!manifest) {
|
|
507
507
|
throw ( new Error(( localize(
|
|
508
|
-
|
|
508
|
+
21927,
|
|
509
509
|
"Installing Extension {0} failed: Manifest is not found.",
|
|
510
510
|
extension.displayName || extension.name
|
|
511
511
|
))));
|
|
@@ -554,7 +554,7 @@ let ExtensionManagementService = class ExtensionManagementService extends Common
|
|
|
554
554
|
const manifest = await this.extensionGalleryService.getManifest(gallery, CancellationToken.None);
|
|
555
555
|
if (!manifest) {
|
|
556
556
|
throw ( new Error(( localize(
|
|
557
|
-
|
|
557
|
+
21927,
|
|
558
558
|
"Installing Extension {0} failed: Manifest is not found.",
|
|
559
559
|
gallery.displayName || gallery.name
|
|
560
560
|
))));
|
|
@@ -669,7 +669,7 @@ let ExtensionManagementService = class ExtensionManagementService extends Common
|
|
|
669
669
|
const manifest = await this.extensionGalleryService.getManifest(gallery, CancellationToken.None);
|
|
670
670
|
if (!manifest) {
|
|
671
671
|
return Promise.reject(( localize(
|
|
672
|
-
|
|
672
|
+
21927,
|
|
673
673
|
"Installing Extension {0} failed: Manifest is not found.",
|
|
674
674
|
gallery.displayName || gallery.name
|
|
675
675
|
)));
|
|
@@ -725,7 +725,7 @@ let ExtensionManagementService = class ExtensionManagementService extends Common
|
|
|
725
725
|
for (const server of servers) {
|
|
726
726
|
if (!installableServers.includes(server)) {
|
|
727
727
|
const error = ( new Error(( localize(
|
|
728
|
-
|
|
728
|
+
21928,
|
|
729
729
|
"Cannot install the '{0}' extension because it is not available in the '{1}' setup.",
|
|
730
730
|
gallery.displayName || gallery.name,
|
|
731
731
|
server.label
|
|
@@ -750,7 +750,7 @@ let ExtensionManagementService = class ExtensionManagementService extends Common
|
|
|
750
750
|
}
|
|
751
751
|
if (!servers.length) {
|
|
752
752
|
const error = ( new Error(( localize(
|
|
753
|
-
|
|
753
|
+
21926,
|
|
754
754
|
"Cannot install the '{0}' extension because it is not available in this setup.",
|
|
755
755
|
gallery.displayName || gallery.name
|
|
756
756
|
))));
|
|
@@ -790,20 +790,20 @@ let ExtensionManagementService = class ExtensionManagementService extends Common
|
|
|
790
790
|
result
|
|
791
791
|
} = await this.dialogService.prompt({
|
|
792
792
|
type: Severity.Info,
|
|
793
|
-
message: extensions.length === 1 ? ( localize(
|
|
793
|
+
message: extensions.length === 1 ? ( localize(21929, "Install Extension")) : ( localize(21930, "Install Extensions")),
|
|
794
794
|
detail: extensions.length === 1 ? ( localize(
|
|
795
|
-
|
|
795
|
+
21931,
|
|
796
796
|
"Would you like to install and synchronize '{0}' extension across your devices?",
|
|
797
797
|
extensions[0].displayName
|
|
798
798
|
)) : ( localize(
|
|
799
|
-
|
|
799
|
+
21932,
|
|
800
800
|
"Would you like to install and synchronize extensions across your devices?"
|
|
801
801
|
)),
|
|
802
802
|
buttons: [{
|
|
803
|
-
label: ( localize(
|
|
803
|
+
label: ( localize(21933, "&&Install")),
|
|
804
804
|
run: () => false
|
|
805
805
|
}, {
|
|
806
|
-
label: ( localize(
|
|
806
|
+
label: ( localize(21934, "Install (Do &¬ sync)")),
|
|
807
807
|
run: () => true
|
|
808
808
|
}],
|
|
809
809
|
cancelButton: {
|
|
@@ -855,7 +855,7 @@ let ExtensionManagementService = class ExtensionManagementService extends Common
|
|
|
855
855
|
const manifest = await this.extensionGalleryService.getManifest(extension, CancellationToken.None);
|
|
856
856
|
if (!manifest) {
|
|
857
857
|
throw ( new Error(( localize(
|
|
858
|
-
|
|
858
|
+
21927,
|
|
859
859
|
"Installing Extension {0} failed: Manifest is not found.",
|
|
860
860
|
extension.displayName || extension.name
|
|
861
861
|
))));
|
|
@@ -896,7 +896,7 @@ let ExtensionManagementService = class ExtensionManagementService extends Common
|
|
|
896
896
|
const unverfiiedPublishers = allPublishers.filter(p => !p.publisherDomain?.verified);
|
|
897
897
|
const verifiedPublishers = allPublishers.filter(p => p.publisherDomain?.verified);
|
|
898
898
|
const installButton = {
|
|
899
|
-
label: allPublishers.length > 1 ? ( localize(
|
|
899
|
+
label: allPublishers.length > 1 ? ( localize(21935, "Trust Publishers & &&Install")) : ( localize(21936, "Trust Publisher & &&Install")),
|
|
900
900
|
run: () => {
|
|
901
901
|
this.telemetryService.publicLog2("extensions:trustPublisher", {
|
|
902
902
|
action: "trust",
|
|
@@ -909,7 +909,7 @@ let ExtensionManagementService = class ExtensionManagementService extends Common
|
|
|
909
909
|
}
|
|
910
910
|
};
|
|
911
911
|
const learnMoreButton = {
|
|
912
|
-
label: ( localize(
|
|
912
|
+
label: ( localize(21937, "&&Learn More")),
|
|
913
913
|
run: () => {
|
|
914
914
|
this.telemetryService.publicLog2("extensions:trustPublisher", {
|
|
915
915
|
action: "learn",
|
|
@@ -931,16 +931,16 @@ let ExtensionManagementService = class ExtensionManagementService extends Common
|
|
|
931
931
|
};
|
|
932
932
|
const unverifiedLink = "https://aka.ms/vscode-verify-publisher";
|
|
933
933
|
const title = allPublishers.length === 1 ? ( localize(
|
|
934
|
-
|
|
934
|
+
21938,
|
|
935
935
|
"Do you trust the publisher \"{0}\"?",
|
|
936
936
|
allPublishers[0].publisherDisplayName
|
|
937
937
|
)) : allPublishers.length === 2 ? ( localize(
|
|
938
|
-
|
|
938
|
+
21939,
|
|
939
939
|
"Do you trust publishers \"{0}\" and \"{1}\"?",
|
|
940
940
|
allPublishers[0].publisherDisplayName,
|
|
941
941
|
allPublishers[1].publisherDisplayName
|
|
942
942
|
)) : ( localize(
|
|
943
|
-
|
|
943
|
+
21940,
|
|
944
944
|
"Do you trust the publisher \"{0}\" and {1} others?",
|
|
945
945
|
allPublishers[0].publisherDisplayName,
|
|
946
946
|
allPublishers.length - 1
|
|
@@ -954,7 +954,7 @@ let ExtensionManagementService = class ExtensionManagementService extends Common
|
|
|
954
954
|
const manifest = untrustedExtensionManifests[0];
|
|
955
955
|
if (otherUntrustedPublishers.length) {
|
|
956
956
|
customMessage.appendMarkdown(( localize(
|
|
957
|
-
|
|
957
|
+
21941,
|
|
958
958
|
"The extension {0} is published by {1}.",
|
|
959
959
|
`[${extension.displayName}](${extension.detailsLink})`,
|
|
960
960
|
getPublisherLink(extension)
|
|
@@ -967,14 +967,14 @@ let ExtensionManagementService = class ExtensionManagementService extends Common
|
|
|
967
967
|
).toString());
|
|
968
968
|
if (otherUntrustedPublishers.length === 1) {
|
|
969
969
|
customMessage.appendMarkdown(( localize(
|
|
970
|
-
|
|
970
|
+
21942,
|
|
971
971
|
"Installing this extension will also install [extensions]({0}) published by {1}.",
|
|
972
972
|
commandUri,
|
|
973
973
|
getPublisherLink(otherUntrustedPublishers[0])
|
|
974
974
|
)));
|
|
975
975
|
} else {
|
|
976
976
|
customMessage.appendMarkdown(( localize(
|
|
977
|
-
|
|
977
|
+
21943,
|
|
978
978
|
"Installing this extension will also install [extensions]({0}) published by {1} and {2}.",
|
|
979
979
|
commandUri,
|
|
980
980
|
otherUntrustedPublishers.slice(0, otherUntrustedPublishers.length - 1).map(p => getPublisherLink(p)).join(", "),
|
|
@@ -983,12 +983,12 @@ let ExtensionManagementService = class ExtensionManagementService extends Common
|
|
|
983
983
|
}
|
|
984
984
|
customMessage.appendMarkdown(" ");
|
|
985
985
|
customMessage.appendMarkdown(( localize(
|
|
986
|
-
|
|
986
|
+
21944,
|
|
987
987
|
"This is the first time you're installing extensions from these publishers."
|
|
988
988
|
)));
|
|
989
989
|
} else {
|
|
990
990
|
customMessage.appendMarkdown(( localize(
|
|
991
|
-
|
|
991
|
+
21945,
|
|
992
992
|
"The extension {0} is published by {1}. This is the first extension you're installing from this publisher.",
|
|
993
993
|
`[${extension.displayName}](${extension.detailsLink})`,
|
|
994
994
|
getPublisherLink(extension)
|
|
@@ -996,7 +996,7 @@ let ExtensionManagementService = class ExtensionManagementService extends Common
|
|
|
996
996
|
}
|
|
997
997
|
} else {
|
|
998
998
|
customMessage.appendMarkdown(( localize(
|
|
999
|
-
|
|
999
|
+
21946,
|
|
1000
1000
|
"This is the first time you're installing extensions from publishers {0} and {1}.",
|
|
1001
1001
|
getPublisherLink(allPublishers[0]),
|
|
1002
1002
|
getPublisherLink(allPublishers[allPublishers.length - 1])
|
|
@@ -1006,7 +1006,7 @@ let ExtensionManagementService = class ExtensionManagementService extends Common
|
|
|
1006
1006
|
for (const publisher of verifiedPublishers) {
|
|
1007
1007
|
customMessage.appendText("\n");
|
|
1008
1008
|
const publisherVerifiedMessage = ( localize(
|
|
1009
|
-
|
|
1009
|
+
21947,
|
|
1010
1010
|
"{0} has verified ownership of {1}.",
|
|
1011
1011
|
getPublisherLink(publisher),
|
|
1012
1012
|
`[$(link-external) ${( URI.parse(publisher.publisherDomain.link)).authority}](${publisher.publisherDomain.link})`
|
|
@@ -1017,14 +1017,14 @@ let ExtensionManagementService = class ExtensionManagementService extends Common
|
|
|
1017
1017
|
customMessage.appendText("\n");
|
|
1018
1018
|
if (unverfiiedPublishers.length === 1) {
|
|
1019
1019
|
customMessage.appendMarkdown(`$(${Codicon.unverified.id}) ${( localize(
|
|
1020
|
-
|
|
1020
|
+
21948,
|
|
1021
1021
|
"{0} is [**not** verified]({1}).",
|
|
1022
1022
|
getPublisherLink(unverfiiedPublishers[0]),
|
|
1023
1023
|
unverifiedLink
|
|
1024
1024
|
))}`);
|
|
1025
1025
|
} else {
|
|
1026
1026
|
customMessage.appendMarkdown(`$(${Codicon.unverified.id}) ${( localize(
|
|
1027
|
-
|
|
1027
|
+
21949,
|
|
1028
1028
|
"{0} and {1} are [**not** verified]({2}).",
|
|
1029
1029
|
unverfiiedPublishers.slice(0, unverfiiedPublishers.length - 1).map(p => getPublisherLink(p)).join(", "),
|
|
1030
1030
|
getPublisherLink(unverfiiedPublishers[unverfiiedPublishers.length - 1]),
|
|
@@ -1034,18 +1034,18 @@ let ExtensionManagementService = class ExtensionManagementService extends Common
|
|
|
1034
1034
|
}
|
|
1035
1035
|
} else {
|
|
1036
1036
|
customMessage.appendText("\n");
|
|
1037
|
-
customMessage.appendMarkdown(`$(${Codicon.unverified.id}) ${( localize(
|
|
1037
|
+
customMessage.appendMarkdown(`$(${Codicon.unverified.id}) ${( localize(21950, "All publishers are [**not** verified]({0}).", unverifiedLink))}`);
|
|
1038
1038
|
}
|
|
1039
1039
|
customMessage.appendText("\n");
|
|
1040
1040
|
if (allPublishers.length > 1) {
|
|
1041
1041
|
customMessage.appendMarkdown(( localize(
|
|
1042
|
-
|
|
1042
|
+
21951,
|
|
1043
1043
|
"{0} has no control over the behavior of third-party extensions, including how they manage your personal data. Proceed only if you trust the publishers.",
|
|
1044
1044
|
this.productService.nameLong
|
|
1045
1045
|
)));
|
|
1046
1046
|
} else {
|
|
1047
1047
|
customMessage.appendMarkdown(( localize(
|
|
1048
|
-
|
|
1048
|
+
21952,
|
|
1049
1049
|
"{0} has no control over the behavior of third-party extensions, including how they manage your personal data. Proceed only if you trust the publisher.",
|
|
1050
1050
|
this.productService.nameLong
|
|
1051
1051
|
)));
|
|
@@ -1136,21 +1136,21 @@ let ExtensionManagementService = class ExtensionManagementService extends Common
|
|
|
1136
1136
|
if (requireTrust || this.extensionManifestPropertiesService.getExtensionUntrustedWorkspaceSupportType(manifest) === false) {
|
|
1137
1137
|
const buttons = [];
|
|
1138
1138
|
buttons.push({
|
|
1139
|
-
label: ( localize(
|
|
1139
|
+
label: ( localize(21953, "Trust Workspace & Install")),
|
|
1140
1140
|
type: "ContinueWithTrust"
|
|
1141
1141
|
});
|
|
1142
1142
|
if (!requireTrust) {
|
|
1143
1143
|
buttons.push({
|
|
1144
|
-
label: ( localize(
|
|
1144
|
+
label: ( localize(21954, "Install")),
|
|
1145
1145
|
type: "ContinueWithoutTrust"
|
|
1146
1146
|
});
|
|
1147
1147
|
}
|
|
1148
1148
|
buttons.push({
|
|
1149
|
-
label: ( localize(
|
|
1149
|
+
label: ( localize(21955, "Learn More")),
|
|
1150
1150
|
type: "Manage"
|
|
1151
1151
|
});
|
|
1152
1152
|
const trustState = await this.workspaceTrustRequestService.requestWorkspaceTrust({
|
|
1153
|
-
message: ( localize(
|
|
1153
|
+
message: ( localize(21956, "Enabling this extension requires a trusted workspace.")),
|
|
1154
1154
|
buttons
|
|
1155
1155
|
});
|
|
1156
1156
|
if (trustState === undefined) {
|
|
@@ -1176,7 +1176,7 @@ let ExtensionManagementService = class ExtensionManagementService extends Common
|
|
|
1176
1176
|
throw ( new ExtensionManagementError("Not supported in Web", ExtensionManagementErrorCode.Unsupported));
|
|
1177
1177
|
}
|
|
1178
1178
|
}
|
|
1179
|
-
const productName = ( localize(
|
|
1179
|
+
const productName = ( localize(21957, "{0} for the Web", this.productService.nameLong));
|
|
1180
1180
|
const virtualWorkspaceSupport = this.extensionManifestPropertiesService.getExtensionVirtualWorkspaceSupportType(manifest);
|
|
1181
1181
|
const virtualWorkspaceSupportReason = getWorkspaceSupportTypeMessage(manifest.capabilities?.virtualWorkspaces);
|
|
1182
1182
|
const hasLimitedSupport = virtualWorkspaceSupport === "limited" || !!virtualWorkspaceSupportReason;
|
|
@@ -1184,7 +1184,7 @@ let ExtensionManagementService = class ExtensionManagementService extends Common
|
|
|
1184
1184
|
return;
|
|
1185
1185
|
}
|
|
1186
1186
|
const limitedSupportMessage = ( localize(
|
|
1187
|
-
|
|
1187
|
+
21958,
|
|
1188
1188
|
"'{0}' has limited functionality in {1}.",
|
|
1189
1189
|
extension.displayName || extension.identifier.id,
|
|
1190
1190
|
productName
|
|
@@ -1193,18 +1193,18 @@ let ExtensionManagementService = class ExtensionManagementService extends Common
|
|
|
1193
1193
|
let buttons = [];
|
|
1194
1194
|
let detail;
|
|
1195
1195
|
const installAnywayButton = {
|
|
1196
|
-
label: ( localize(
|
|
1196
|
+
label: ( localize(21959, "&&Install Anyway")),
|
|
1197
1197
|
run: () => {}
|
|
1198
1198
|
};
|
|
1199
1199
|
const showExtensionsButton = {
|
|
1200
|
-
label: ( localize(
|
|
1200
|
+
label: ( localize(21960, "&&Show Extensions")),
|
|
1201
1201
|
run: () => this.instantiationService.invokeFunction(
|
|
1202
1202
|
accessor => accessor.get(ICommandService).executeCommand("extension.open", extension.identifier.id, "extensionPack")
|
|
1203
1203
|
)
|
|
1204
1204
|
};
|
|
1205
1205
|
if (nonWebExtensions.length && hasLimitedSupport) {
|
|
1206
1206
|
message = limitedSupportMessage;
|
|
1207
|
-
detail = `${virtualWorkspaceSupportReason ? `${virtualWorkspaceSupportReason}\n` : ""}${( localize(
|
|
1207
|
+
detail = `${virtualWorkspaceSupportReason ? `${virtualWorkspaceSupportReason}\n` : ""}${( localize(21961, "Contains extensions which are not supported."))}`;
|
|
1208
1208
|
buttons = [installAnywayButton, showExtensionsButton];
|
|
1209
1209
|
} else if (hasLimitedSupport) {
|
|
1210
1210
|
message = limitedSupportMessage;
|
|
@@ -1212,7 +1212,7 @@ let ExtensionManagementService = class ExtensionManagementService extends Common
|
|
|
1212
1212
|
buttons = [installAnywayButton];
|
|
1213
1213
|
} else {
|
|
1214
1214
|
message = ( localize(
|
|
1215
|
-
|
|
1215
|
+
21962,
|
|
1216
1216
|
"'{0}' contains extensions which are not supported in {1}.",
|
|
1217
1217
|
extension.displayName || extension.identifier.id,
|
|
1218
1218
|
productName
|
|
@@ -1524,7 +1524,7 @@ let WorkspaceExtensionsManagementService = class WorkspaceExtensionsManagementSe
|
|
|
1524
1524
|
this.uriIdentityService.extUri.joinPath(extension.location, extension.manifest.main)
|
|
1525
1525
|
))) {
|
|
1526
1526
|
isValid = false;
|
|
1527
|
-
validations.push([Severity.Error, ( localize(
|
|
1527
|
+
validations.push([Severity.Error, ( localize(21963, "Cannot activate because {0} not found", extension.manifest.main))]);
|
|
1528
1528
|
}
|
|
1529
1529
|
}
|
|
1530
1530
|
return {
|