@codingame/monaco-vscode-extension-gallery-service-override 21.6.0 → 22.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codingame/monaco-vscode-extension-gallery-service-override",
3
- "version": "21.6.0",
3
+ "version": "22.0.0",
4
4
  "private": false,
5
5
  "description": "VSCode public API plugged on the monaco editor - extension-gallery service-override",
6
6
  "keywords": [],
@@ -15,15 +15,15 @@
15
15
  },
16
16
  "type": "module",
17
17
  "dependencies": {
18
- "@codingame/monaco-vscode-23aade48-f094-5c08-9555-97fc9cca96c9-common": "21.6.0",
19
- "@codingame/monaco-vscode-249dc928-1da3-51c1-82d0-45e0ba9d08a1-common": "21.6.0",
20
- "@codingame/monaco-vscode-2673c6e2-17c1-5710-b169-46f3d4a28696-common": "21.6.0",
21
- "@codingame/monaco-vscode-571c8352-7953-5038-9f09-e03bb6219a0e-common": "21.6.0",
22
- "@codingame/monaco-vscode-5e2c24a1-3217-55e8-bc90-521eaf7df5a6-common": "21.6.0",
23
- "@codingame/monaco-vscode-8c844347-a703-5de1-9eeb-5e0c7f503a58-common": "21.6.0",
24
- "@codingame/monaco-vscode-9ed6fe06-a052-57c2-a234-5d9b94d2e7e0-common": "21.6.0",
25
- "@codingame/monaco-vscode-a654b07e-8806-5425-b124-18f03ba8e11a-common": "21.6.0",
26
- "@codingame/monaco-vscode-api": "21.6.0"
18
+ "@codingame/monaco-vscode-23aade48-f094-5c08-9555-97fc9cca96c9-common": "22.0.0",
19
+ "@codingame/monaco-vscode-249dc928-1da3-51c1-82d0-45e0ba9d08a1-common": "22.0.0",
20
+ "@codingame/monaco-vscode-2673c6e2-17c1-5710-b169-46f3d4a28696-common": "22.0.0",
21
+ "@codingame/monaco-vscode-571c8352-7953-5038-9f09-e03bb6219a0e-common": "22.0.0",
22
+ "@codingame/monaco-vscode-60014c9d-b815-501d-83a9-4b08725c2ec2-common": "22.0.0",
23
+ "@codingame/monaco-vscode-8c844347-a703-5de1-9eeb-5e0c7f503a58-common": "22.0.0",
24
+ "@codingame/monaco-vscode-9ed6fe06-a052-57c2-a234-5d9b94d2e7e0-common": "22.0.0",
25
+ "@codingame/monaco-vscode-a654b07e-8806-5425-b124-18f03ba8e11a-common": "22.0.0",
26
+ "@codingame/monaco-vscode-api": "22.0.0"
27
27
  },
28
28
  "main": "index.js",
29
29
  "module": "index.js",
@@ -33,7 +33,7 @@ let CommontExtensionManagementService = class CommontExtensionManagementService
33
33
  const allowedToInstall = this.allowedExtensionsService.isAllowed({ id: extension.identifier.id, publisherDisplayName: extension.publisherDisplayName });
34
34
  if (allowedToInstall !== true) {
35
35
  return (new MarkdownString(localize(
36
- 1781,
36
+ 1783,
37
37
  "This extension cannot be installed because {0}",
38
38
  allowedToInstall.value
39
39
  )));
@@ -41,12 +41,12 @@ let CommontExtensionManagementService = class CommontExtensionManagementService
41
41
  if (!(await this.isExtensionPlatformCompatible(extension))) {
42
42
  const learnLink = isWeb ? 'https://aka.ms/vscode-web-extensions-guide' : 'https://aka.ms/vscode-platform-specific-extensions';
43
43
  return (new MarkdownString(`${( localize(
44
- 1782,
44
+ 1784,
45
45
  "The '{0}' extension is not available in {1} for the {2}.",
46
46
  extension.displayName ?? extension.identifier.id,
47
47
  this.productService.nameLong,
48
48
  TargetPlatformToString(await this.getTargetPlatform())
49
- ))} [${( localize(1783, "Learn Why"))}](${learnLink})`));
49
+ ))} [${( localize(1785, "Learn Why"))}](${learnLink})`));
50
50
  }
51
51
  return true;
52
52
  }
@@ -111,7 +111,7 @@ let AbstractExtensionManagementService = class AbstractExtensionManagementServic
111
111
  }
112
112
  async installGalleryExtensions(extensions) {
113
113
  if (!this.galleryService.isEnabled()) {
114
- throw ( new ExtensionManagementError(( localize(1784, "Marketplace is not enabled")), ExtensionManagementErrorCode.NotAllowed));
114
+ throw ( new ExtensionManagementError(( localize(1786, "Marketplace is not enabled")), ExtensionManagementErrorCode.NotAllowed));
115
115
  }
116
116
  const results = [];
117
117
  const installableExtensions = [];
@@ -547,7 +547,7 @@ let AbstractExtensionManagementService = class AbstractExtensionManagementServic
547
547
  const extensionsControlManifest = await this.getExtensionsControlManifest();
548
548
  if (isMalicious(extension.identifier, extensionsControlManifest.malicious)) {
549
549
  throw ( new ExtensionManagementError(( localize(
550
- 1785,
550
+ 1787,
551
551
  "Can't install '{0}' extension since it was reported to be problematic.",
552
552
  extension.identifier.id
553
553
  )), ExtensionManagementErrorCode.Malicious));
@@ -558,7 +558,7 @@ let AbstractExtensionManagementService = class AbstractExtensionManagementServic
558
558
  compatibleExtension = (await this.galleryService.getExtensions([{ id: deprecationInfo.extension.id, preRelease: deprecationInfo.extension.preRelease }], { targetPlatform: await this.getTargetPlatform(), compatible: true, productVersion }, CancellationToken.None))[0];
559
559
  if (!compatibleExtension) {
560
560
  throw ( new ExtensionManagementError(( localize(
561
- 1786,
561
+ 1788,
562
562
  "Can't install '{0}' extension since it was deprecated and the replacement extension '{1}' can't be found.",
563
563
  extension.identifier.id,
564
564
  deprecationInfo.extension.id
@@ -569,7 +569,7 @@ let AbstractExtensionManagementService = class AbstractExtensionManagementServic
569
569
  if ((await this.canInstall(extension)) !== true) {
570
570
  const targetPlatform = await this.getTargetPlatform();
571
571
  throw ( new ExtensionManagementError(( localize(
572
- 1782,
572
+ 1784,
573
573
  "The '{0}' extension is not available in {1} for the {2}.",
574
574
  extension.identifier.id,
575
575
  this.productService.nameLong,
@@ -581,7 +581,7 @@ let AbstractExtensionManagementService = class AbstractExtensionManagementServic
581
581
  const incompatibleApiProposalsMessages = [];
582
582
  if (!areApiProposalsCompatible(extension.properties.enabledApiProposals ?? [], incompatibleApiProposalsMessages)) {
583
583
  throw ( new ExtensionManagementError(( localize(
584
- 1787,
584
+ 1789,
585
585
  "Can't install '{0}' extension. {1}",
586
586
  extension.displayName ?? extension.identifier.id,
587
587
  incompatibleApiProposalsMessages[0]
@@ -589,13 +589,13 @@ let AbstractExtensionManagementService = class AbstractExtensionManagementServic
589
589
  }
590
590
  if (!installPreRelease && extension.hasPreReleaseVersion && extension.properties.isPreReleaseVersion && (await this.galleryService.getExtensions([extension.identifier], CancellationToken.None))[0]) {
591
591
  throw ( new ExtensionManagementError(( localize(
592
- 1788,
592
+ 1790,
593
593
  "Can't install release version of '{0}' extension because it has no release version.",
594
594
  extension.displayName ?? extension.identifier.id
595
595
  )), ExtensionManagementErrorCode.ReleaseVersionNotFound));
596
596
  }
597
597
  throw ( new ExtensionManagementError(( localize(
598
- 1789,
598
+ 1791,
599
599
  "Can't install '{0}' extension because it is not compatible with the current version of {1} (version {2}).",
600
600
  extension.identifier.id,
601
601
  this.productService.nameLong,
@@ -820,7 +820,7 @@ let AbstractExtensionManagementService = class AbstractExtensionManagementServic
820
820
  if (extensionToUninstall === dependingExtension) {
821
821
  if (dependents.length === 1) {
822
822
  return localize(
823
- 1790,
823
+ 1792,
824
824
  "Cannot uninstall '{0}' extension. '{1}' extension depends on this.",
825
825
  extensionToUninstall.manifest.displayName || extensionToUninstall.manifest.name,
826
826
  dependents[0].manifest.displayName || dependents[0].manifest.name
@@ -828,7 +828,7 @@ let AbstractExtensionManagementService = class AbstractExtensionManagementServic
828
828
  }
829
829
  if (dependents.length === 2) {
830
830
  return localize(
831
- 1791,
831
+ 1793,
832
832
  "Cannot uninstall '{0}' extension. '{1}' and '{2}' extensions depend on this.",
833
833
  extensionToUninstall.manifest.displayName || extensionToUninstall.manifest.name,
834
834
  dependents[0].manifest.displayName || dependents[0].manifest.name,
@@ -836,7 +836,7 @@ let AbstractExtensionManagementService = class AbstractExtensionManagementServic
836
836
  );
837
837
  }
838
838
  return localize(
839
- 1792,
839
+ 1794,
840
840
  "Cannot uninstall '{0}' extension. '{1}', '{2}' and other extension depend on this.",
841
841
  extensionToUninstall.manifest.displayName || extensionToUninstall.manifest.name,
842
842
  dependents[0].manifest.displayName || dependents[0].manifest.name,
@@ -845,7 +845,7 @@ let AbstractExtensionManagementService = class AbstractExtensionManagementServic
845
845
  }
846
846
  if (dependents.length === 1) {
847
847
  return localize(
848
- 1793,
848
+ 1795,
849
849
  "Cannot uninstall '{0}' extension . It includes uninstalling '{1}' extension and '{2}' extension depends on this.",
850
850
  extensionToUninstall.manifest.displayName || extensionToUninstall.manifest.name,
851
851
  dependingExtension.manifest.displayName
@@ -855,7 +855,7 @@ let AbstractExtensionManagementService = class AbstractExtensionManagementServic
855
855
  }
856
856
  if (dependents.length === 2) {
857
857
  return localize(
858
- 1794,
858
+ 1796,
859
859
  "Cannot uninstall '{0}' extension. It includes uninstalling '{1}' extension and '{2}' and '{3}' extensions depend on this.",
860
860
  extensionToUninstall.manifest.displayName || extensionToUninstall.manifest.name,
861
861
  dependingExtension.manifest.displayName
@@ -865,7 +865,7 @@ let AbstractExtensionManagementService = class AbstractExtensionManagementServic
865
865
  );
866
866
  }
867
867
  return localize(
868
- 1795,
868
+ 1797,
869
869
  "Cannot uninstall '{0}' extension. It includes uninstalling '{1}' extension and '{2}', '{3}' and other extensions depend on this.",
870
870
  extensionToUninstall.manifest.displayName || extensionToUninstall.manifest.name,
871
871
  dependingExtension.manifest.displayName
@@ -1,12 +1,11 @@
1
1
 
2
2
  import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
3
  import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
4
- import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
5
4
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
6
5
  import { AllowedExtensionsConfigKey } from '@codingame/monaco-vscode-api/vscode/vs/platform/extensionManagement/common/extensionManagement';
7
6
  import { ExtensionType, TargetPlatform } from '@codingame/monaco-vscode-api/vscode/vs/platform/extensions/common/extensions';
8
7
  import { IProductService } from '@codingame/monaco-vscode-api/vscode/vs/platform/product/common/productService.service';
9
- import { MarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
8
+ import { createCommandUri, MarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
10
9
  import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
11
10
  import { isObject, isUndefined, isBoolean } from '@codingame/monaco-vscode-api/vscode/vs/base/common/types';
12
11
  import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
@@ -76,18 +75,16 @@ let AllowedExtensionsService = class AllowedExtensionsService extends Disposable
76
75
  publisher = extension.id.substring(0, extension.id.indexOf('.')).toLowerCase();
77
76
  publisherDisplayName = extension.publisherDisplayName?.toLowerCase();
78
77
  }
79
- const settingsCommandLink = ( ( URI.parse(
80
- `command:workbench.action.openSettings?${encodeURIComponent(JSON.stringify({ query: `@id:${AllowedExtensionsConfigKey}` }))}`
81
- )).toString());
78
+ const settingsCommandLink = ( createCommandUri('workbench.action.openSettings', { query: `@id:${AllowedExtensionsConfigKey}` }).toString());
82
79
  const extensionValue = this._allowedExtensionsConfigValue[id];
83
- const extensionReason = ( new MarkdownString(( localize(1796, "it is not in the [allowed list]({0})", settingsCommandLink))));
80
+ const extensionReason = ( new MarkdownString(( localize(1798, "it is not in the [allowed list]({0})", settingsCommandLink))));
84
81
  if (!isUndefined(extensionValue)) {
85
82
  if (isBoolean(extensionValue)) {
86
83
  return extensionValue ? true : extensionReason;
87
84
  }
88
85
  if (extensionValue === 'stable' && prerelease) {
89
86
  return (new MarkdownString(localize(
90
- 1797,
87
+ 1799,
91
88
  "the pre-release versions of this extension are not in the [allowed list]({0})",
92
89
  settingsCommandLink
93
90
  )));
@@ -107,7 +104,7 @@ let AllowedExtensionsService = class AllowedExtensionsService extends Disposable
107
104
  return false;
108
105
  }))) {
109
106
  return (new MarkdownString(localize(
110
- 1798,
107
+ 1800,
111
108
  "the version {0} of this extension is not in the [allowed list]({1})",
112
109
  version,
113
110
  settingsCommandLink
@@ -120,7 +117,7 @@ let AllowedExtensionsService = class AllowedExtensionsService extends Disposable
120
117
  if (!isUndefined(publisherValue)) {
121
118
  if (isBoolean(publisherValue)) {
122
119
  return publisherValue ? true : ( new MarkdownString(( localize(
123
- 1799,
120
+ 1801,
124
121
  "the extensions from this publisher are not in the [allowed list]({1})",
125
122
  publisherKey,
126
123
  settingsCommandLink
@@ -128,7 +125,7 @@ let AllowedExtensionsService = class AllowedExtensionsService extends Disposable
128
125
  }
129
126
  if (publisherValue === 'stable' && prerelease) {
130
127
  return (new MarkdownString(localize(
131
- 1800,
128
+ 1802,
132
129
  "the pre-release versions from this publisher are not in the [allowed list]({1})",
133
130
  publisherKey,
134
131
  settingsCommandLink
@@ -66,6 +66,7 @@ export declare abstract class AbstractExtensionGalleryService implements IExtens
66
66
  private queryGalleryExtensions;
67
67
  private queryGalleryExtensionsWithAllVersionsAsFallback;
68
68
  private queryGalleryExtensionsUsingIncludeLatestPrereleaseAndStableVersionFlag;
69
+ private getRawGalleryExtensionVersionsToValidate;
69
70
  private getRawGalleryExtensionVersion;
70
71
  private queryRawGalleryExtensions;
71
72
  private getHeaderValue;
@@ -475,7 +475,7 @@ let AbstractExtensionGalleryService = class AbstractExtensionGalleryService {
475
475
  date: this.productService.date
476
476
  },
477
477
  version: extensionInfo.preRelease ? VersionKind.Latest : VersionKind.Release
478
- }, allTargetPlatforms);
478
+ }, allTargetPlatforms, true);
479
479
  if (rawGalleryExtensionVersion) {
480
480
  return toExtension(rawGalleryExtension, rawGalleryExtensionVersion, allTargetPlatforms, extensionGalleryManifest, this.productService);
481
481
  }
@@ -777,9 +777,37 @@ let AbstractExtensionGalleryService = class AbstractExtensionGalleryService {
777
777
  }
778
778
  return { extensions, total };
779
779
  }
780
- async getRawGalleryExtensionVersion(rawGalleryExtension, criteria, allTargetPlatforms) {
780
+ getRawGalleryExtensionVersionsToValidate(rawGalleryExtensionVersions, targetPlatform, allTargetPlatforms, hasOnlylatestVersions) {
781
+ const sorted = sortExtensionVersions(rawGalleryExtensionVersions, targetPlatform);
782
+ if (!hasOnlylatestVersions) {
783
+ return sorted;
784
+ }
785
+ const result = [];
786
+ let preReleaseVersionForTargetPlatformFound = false;
787
+ let releaseVersionForTargetPlatformFound = false;
788
+ for (const rawGalleryExtensionVersion of sorted) {
789
+ if (!isTargetPlatformCompatible(getTargetPlatformForExtensionVersion(rawGalleryExtensionVersion), allTargetPlatforms, targetPlatform)) {
790
+ result.push(rawGalleryExtensionVersion);
791
+ continue;
792
+ }
793
+ if (isPreReleaseVersion(rawGalleryExtensionVersion)) {
794
+ if (!preReleaseVersionForTargetPlatformFound) {
795
+ result.push(rawGalleryExtensionVersion);
796
+ preReleaseVersionForTargetPlatformFound = true;
797
+ }
798
+ }
799
+ else {
800
+ if (!releaseVersionForTargetPlatformFound) {
801
+ result.push(rawGalleryExtensionVersion);
802
+ releaseVersionForTargetPlatformFound = true;
803
+ }
804
+ }
805
+ }
806
+ return result;
807
+ }
808
+ async getRawGalleryExtensionVersion(rawGalleryExtension, criteria, allTargetPlatforms, hasOnlylatestVersions) {
781
809
  const extensionIdentifier = { id: getGalleryExtensionId(rawGalleryExtension.publisher.publisherName, rawGalleryExtension.extensionName)};
782
- const rawGalleryExtensionVersions = sortExtensionVersions(rawGalleryExtension.versions, criteria.targetPlatform);
810
+ const rawGalleryExtensionVersions = this.getRawGalleryExtensionVersionsToValidate(rawGalleryExtension.versions, criteria.targetPlatform, allTargetPlatforms, hasOnlylatestVersions);
783
811
  if (criteria.compatible && isNotWebExtensionInWebTargetPlatform(allTargetPlatforms, criteria.targetPlatform)) {
784
812
  return null;
785
813
  }
@@ -1250,7 +1278,8 @@ let AbstractExtensionGalleryService = class AbstractExtensionGalleryService {
1250
1278
  }
1251
1279
  }
1252
1280
  async getExtensionsControlManifest() {
1253
- if (!this.isEnabled()) {
1281
+ const manifest = await this.extensionGalleryManifestService.getExtensionGalleryManifest();
1282
+ if (!manifest) {
1254
1283
  throw ( new Error('No extension gallery service configured.'));
1255
1284
  }
1256
1285
  if (!this.extensionsControlUrl) {
@@ -2,9 +2,9 @@
2
2
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
3
3
  import { Registry } from '@codingame/monaco-vscode-api/vscode/vs/platform/registry/common/platform';
4
4
  import { SyncDescriptor } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/descriptors';
5
- import { EditorPaneDescriptor } from '@codingame/monaco-vscode-5e2c24a1-3217-55e8-bc90-521eaf7df5a6-common/vscode/vs/workbench/browser/editor';
5
+ import { EditorPaneDescriptor } from '@codingame/monaco-vscode-60014c9d-b815-501d-83a9-4b08725c2ec2-common/vscode/vs/workbench/browser/editor';
6
6
  import { RuntimeExtensionsEditor } from './browserRuntimeExtensionsEditor.js';
7
7
  import { RuntimeExtensionsInput } from '@codingame/monaco-vscode-2673c6e2-17c1-5710-b169-46f3d4a28696-common/vscode/vs/workbench/contrib/extensions/common/runtimeExtensionsInput';
8
8
  import { EditorExtensions } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/editor';
9
9
 
10
- ( Registry.as(EditorExtensions.EditorPane)).registerEditorPane(EditorPaneDescriptor.create(RuntimeExtensionsEditor, RuntimeExtensionsEditor.ID, ( localize(7006, "Running Extensions"))), [( new SyncDescriptor(RuntimeExtensionsInput))]);
10
+ ( Registry.as(EditorExtensions.EditorPane)).registerEditorPane(EditorPaneDescriptor.create(RuntimeExtensionsEditor, RuntimeExtensionsEditor.ID, ( localize(7075, "Running Extensions"))), [( new SyncDescriptor(RuntimeExtensionsInput))]);
@@ -8,7 +8,7 @@ var ReportExtensionIssueAction_1;
8
8
  let ReportExtensionIssueAction = class ReportExtensionIssueAction extends Action {
9
9
  static { ReportExtensionIssueAction_1 = this; }
10
10
  static { this._id = 'workbench.extensions.action.reportExtensionIssue'; }
11
- static { this._label = ( localize(7372, "Report Issue")); }
11
+ static { this._label = ( localize(7441, "Report Issue")); }
12
12
  constructor(extension, issueService) {
13
13
  super(ReportExtensionIssueAction_1._id, ReportExtensionIssueAction_1._label, 'extension-action report-issue');
14
14
  this.extension = extension;
@@ -78,8 +78,8 @@ let ExtensionEnablementService = class ExtensionEnablementService extends Dispos
78
78
  this._register(allowedExtensionsService.onDidChangeAllowedExtensionsConfigValue(() => this._onDidChangeExtensions([], [], false)));
79
79
  if (this.allUserExtensionsDisabled) {
80
80
  this.lifecycleService.when(LifecyclePhase.Eventually).then(() => {
81
- this.notificationService.prompt(Severity.Info, ( localize(13248, "All installed extensions are temporarily disabled.")), [{
82
- label: ( localize(13249, "Reload and Enable Extensions")),
81
+ this.notificationService.prompt(Severity.Info, ( localize(13379, "All installed extensions are temporarily disabled.")), [{
82
+ label: ( localize(13380, "Reload and Enable Extensions")),
83
83
  run: () => hostService.reload({ disableExtensions: false })
84
84
  }], {
85
85
  sticky: true,
@@ -131,7 +131,7 @@ let ExtensionEnablementService = class ExtensionEnablementService extends Dispos
131
131
  throwErrorIfCannotChangeEnablement(extension, donotCheckDependencies) {
132
132
  if (isLanguagePackExtension(extension.manifest)) {
133
133
  throw ( new Error(( localize(
134
- 13250,
134
+ 13381,
135
135
  "Cannot change enablement of {0} extension because it contributes language packs.",
136
136
  extension.manifest.displayName || extension.identifier.id
137
137
  ))));
@@ -141,14 +141,14 @@ let ExtensionEnablementService = class ExtensionEnablementService extends Dispos
141
141
  a => a.id === this.userDataSyncAccountService.account.authenticationProviderId
142
142
  ))) {
143
143
  throw ( new Error(( localize(
144
- 13251,
144
+ 13382,
145
145
  "Cannot change enablement {0} extension because Settings Sync depends on it.",
146
146
  extension.manifest.displayName || extension.identifier.id
147
147
  ))));
148
148
  }
149
149
  if (this._isEnabledInEnv(extension)) {
150
150
  throw ( new Error(( localize(
151
- 13252,
151
+ 13383,
152
152
  "Cannot change enablement of {0} extension because it is enabled in environment",
153
153
  extension.manifest.displayName || extension.identifier.id
154
154
  ))));
@@ -159,37 +159,37 @@ let ExtensionEnablementService = class ExtensionEnablementService extends Dispos
159
159
  switch (enablementStateOfExtension) {
160
160
  case EnablementState.DisabledByEnvironment:
161
161
  throw ( new Error(( localize(
162
- 13253,
162
+ 13384,
163
163
  "Cannot change enablement of {0} extension because it is disabled in environment",
164
164
  extension.manifest.displayName || extension.identifier.id
165
165
  ))));
166
166
  case EnablementState.DisabledByMalicious:
167
167
  throw ( new Error(( localize(
168
- 13254,
168
+ 13385,
169
169
  "Cannot change enablement of {0} extension because it is malicious",
170
170
  extension.manifest.displayName || extension.identifier.id
171
171
  ))));
172
172
  case EnablementState.DisabledByVirtualWorkspace:
173
173
  throw ( new Error(( localize(
174
- 13255,
174
+ 13386,
175
175
  "Cannot change enablement of {0} extension because it does not support virtual workspaces",
176
176
  extension.manifest.displayName || extension.identifier.id
177
177
  ))));
178
178
  case EnablementState.DisabledByExtensionKind:
179
179
  throw ( new Error(( localize(
180
- 13256,
180
+ 13387,
181
181
  "Cannot change enablement of {0} extension because of its extension kind",
182
182
  extension.manifest.displayName || extension.identifier.id
183
183
  ))));
184
184
  case EnablementState.DisabledByAllowlist:
185
185
  throw ( new Error(( localize(
186
- 13257,
186
+ 13388,
187
187
  "Cannot change enablement of {0} extension because it is disallowed",
188
188
  extension.manifest.displayName || extension.identifier.id
189
189
  ))));
190
190
  case EnablementState.DisabledByInvalidExtension:
191
191
  throw ( new Error(( localize(
192
- 13258,
192
+ 13389,
193
193
  "Cannot change enablement of {0} extension because of it is invalid",
194
194
  extension.manifest.displayName || extension.identifier.id
195
195
  ))));
@@ -202,7 +202,7 @@ let ExtensionEnablementService = class ExtensionEnablementService extends Dispos
202
202
  continue;
203
203
  }
204
204
  throw ( new Error(( localize(
205
- 13259,
205
+ 13390,
206
206
  "Cannot enable '{0}' extension because it depends on '{1}' extension that cannot be enabled",
207
207
  extension.manifest.displayName || extension.identifier.id,
208
208
  dependency.manifest.displayName || dependency.identifier.id
@@ -212,11 +212,11 @@ let ExtensionEnablementService = class ExtensionEnablementService extends Dispos
212
212
  }
213
213
  throwErrorIfCannotChangeWorkspaceEnablement(extension) {
214
214
  if (!this.hasWorkspace) {
215
- throw ( new Error(( localize(13260, "No workspace."))));
215
+ throw ( new Error(( localize(13391, "No workspace."))));
216
216
  }
217
217
  if (isAuthenticationProviderExtension(extension.manifest)) {
218
218
  throw ( new Error(( localize(
219
- 13261,
219
+ 13392,
220
220
  "Cannot change enablement of {0} extension in workspace because it contributes authentication providers",
221
221
  extension.manifest.displayName || extension.identifier.id
222
222
  ))));
@@ -87,17 +87,17 @@ let ExtensionFeaturesManagementService = class ExtensionFeaturesManagementServic
87
87
  if (feature.access.requireUserConsent) {
88
88
  const extensionDescription = this.extensionService.extensions.find(e => ExtensionIdentifier.equals(e.identifier, extension));
89
89
  const confirmationResult = await this.dialogService.confirm({
90
- title: ( localize(13264, "Access '{0}' Feature", feature.label)),
90
+ title: ( localize(13395, "Access '{0}' Feature", feature.label)),
91
91
  message: ( localize(
92
- 13265,
92
+ 13396,
93
93
  "'{0}' extension would like to access the '{1}' feature.",
94
94
  extensionDescription?.displayName ?? extension._lower,
95
95
  feature.label
96
96
  )),
97
97
  detail: justification ?? feature.description,
98
98
  custom: true,
99
- primaryButton: ( localize(13266, "Allow")),
100
- cancelButton: ( localize(13267, "Don't Allow")),
99
+ primaryButton: ( localize(13397, "Allow")),
100
+ cancelButton: ( localize(13398, "Don't Allow")),
101
101
  });
102
102
  enabled = confirmationResult.confirmed;
103
103
  }
@@ -22,7 +22,7 @@ let ExtensionManagementServerService = class ExtensionManagementServerService {
22
22
  this.remoteExtensionManagementServer = {
23
23
  id: 'remote',
24
24
  extensionManagementService,
25
- get label() { return labelService.getHostLabel(Schemas.vscodeRemote, remoteAgentConnection.remoteAuthority) || ( localize(13268, "Remote")); },
25
+ get label() { return labelService.getHostLabel(Schemas.vscodeRemote, remoteAgentConnection.remoteAuthority) || ( localize(13399, "Remote")); },
26
26
  };
27
27
  }
28
28
  if (isWeb) {
@@ -30,7 +30,7 @@ let ExtensionManagementServerService = class ExtensionManagementServerService {
30
30
  this.webExtensionManagementServer = {
31
31
  id: 'web',
32
32
  extensionManagementService,
33
- label: ( localize(13269, "Browser")),
33
+ label: ( localize(13400, "Browser")),
34
34
  };
35
35
  }
36
36
  }
@@ -37,7 +37,7 @@ import { IStorageService } from '@codingame/monaco-vscode-api/vscode/vs/platform
37
37
  import { IUriIdentityService } from '@codingame/monaco-vscode-api/vscode/vs/platform/uriIdentity/common/uriIdentity.service';
38
38
  import { ITelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service';
39
39
  import { IUserDataProfilesService } from '@codingame/monaco-vscode-api/vscode/vs/platform/userDataProfile/common/userDataProfile.service';
40
- import { MarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
40
+ import { MarkdownString, createCommandUri } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
41
41
  import { verifiedPublisherIcon } from '@codingame/monaco-vscode-a654b07e-8806-5425-b124-18f03ba8e11a-common/vscode/vs/workbench/services/extensionManagement/common/extensionsIcons';
42
42
  import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
43
43
  import { CommontExtensionManagementService } from '../../../../platform/extensionManagement/common/abstractExtensionManagementService.js';
@@ -222,7 +222,7 @@ let ExtensionManagementService = class ExtensionManagementService extends Common
222
222
  getDependentsErrorMessage(extension, dependents) {
223
223
  if (dependents.length === 1) {
224
224
  return localize(
225
- 13270,
225
+ 13401,
226
226
  "Cannot uninstall extension '{0}'. Extension '{1}' depends on this.",
227
227
  extension.manifest.displayName || extension.manifest.name,
228
228
  dependents[0].manifest.displayName || dependents[0].manifest.name
@@ -230,7 +230,7 @@ let ExtensionManagementService = class ExtensionManagementService extends Common
230
230
  }
231
231
  if (dependents.length === 2) {
232
232
  return localize(
233
- 13271,
233
+ 13402,
234
234
  "Cannot uninstall extension '{0}'. Extensions '{1}' and '{2}' depend on this.",
235
235
  extension.manifest.displayName || extension.manifest.name,
236
236
  dependents[0].manifest.displayName || dependents[0].manifest.name,
@@ -238,7 +238,7 @@ let ExtensionManagementService = class ExtensionManagementService extends Common
238
238
  );
239
239
  }
240
240
  return localize(
241
- 13272,
241
+ 13403,
242
242
  "Cannot uninstall extension '{0}'. Extensions '{1}', '{2}' and others depend on this.",
243
243
  extension.manifest.displayName || extension.manifest.name,
244
244
  dependents[0].manifest.displayName || dependents[0].manifest.name,
@@ -348,7 +348,7 @@ let ExtensionManagementService = class ExtensionManagementService extends Common
348
348
  }
349
349
  const manifest = await this.extensionGalleryService.getManifest(gallery, CancellationToken.None);
350
350
  if (!manifest) {
351
- return ( new MarkdownString()).appendText(( localize(13273, "Manifest is not found")));
351
+ return ( new MarkdownString()).appendText(( localize(13404, "Manifest is not found")));
352
352
  }
353
353
  if (this.extensionManagementServerService.remoteExtensionManagementServer
354
354
  && (await this.extensionManagementServerService.remoteExtensionManagementServer.extensionManagementService.canInstall(gallery)) === true
@@ -361,7 +361,7 @@ let ExtensionManagementService = class ExtensionManagementService extends Common
361
361
  return true;
362
362
  }
363
363
  return ( new MarkdownString()).appendText(( localize(
364
- 13274,
364
+ 13405,
365
365
  "Cannot install the '{0}' extension because it is not available in this setup.",
366
366
  gallery.displayName || gallery.name
367
367
  )));
@@ -377,7 +377,7 @@ let ExtensionManagementService = class ExtensionManagementService extends Common
377
377
  return true;
378
378
  }
379
379
  return ( new MarkdownString()).appendText(( localize(
380
- 13274,
380
+ 13405,
381
381
  "Cannot install the '{0}' extension because it is not available in this setup.",
382
382
  extension.manifest.displayName ?? extension.identifier.id
383
383
  )));
@@ -406,7 +406,7 @@ let ExtensionManagementService = class ExtensionManagementService extends Common
406
406
  const manifest = await this.extensionGalleryService.getManifest(extension, CancellationToken.None);
407
407
  if (!manifest) {
408
408
  throw ( new Error(( localize(
409
- 13275,
409
+ 13406,
410
410
  "Installing Extension {0} failed: Manifest is not found.",
411
411
  extension.displayName || extension.name
412
412
  ))));
@@ -425,7 +425,7 @@ let ExtensionManagementService = class ExtensionManagementService extends Common
425
425
  const manifest = await this.extensionGalleryService.getManifest(extension, CancellationToken.None);
426
426
  if (!manifest) {
427
427
  throw ( new Error(( localize(
428
- 13275,
428
+ 13406,
429
429
  "Installing Extension {0} failed: Manifest is not found.",
430
430
  extension.displayName || extension.name
431
431
  ))));
@@ -473,7 +473,7 @@ let ExtensionManagementService = class ExtensionManagementService extends Common
473
473
  const manifest = await this.extensionGalleryService.getManifest(gallery, CancellationToken.None);
474
474
  if (!manifest) {
475
475
  throw ( new Error(( localize(
476
- 13275,
476
+ 13406,
477
477
  "Installing Extension {0} failed: Manifest is not found.",
478
478
  gallery.displayName || gallery.name
479
479
  ))));
@@ -577,7 +577,7 @@ let ExtensionManagementService = class ExtensionManagementService extends Common
577
577
  const manifest = await this.extensionGalleryService.getManifest(gallery, CancellationToken.None);
578
578
  if (!manifest) {
579
579
  return Promise.reject(( localize(
580
- 13275,
580
+ 13406,
581
581
  "Installing Extension {0} failed: Manifest is not found.",
582
582
  gallery.displayName || gallery.name
583
583
  )));
@@ -627,7 +627,7 @@ let ExtensionManagementService = class ExtensionManagementService extends Common
627
627
  for (const server of servers) {
628
628
  if (!installableServers.includes(server)) {
629
629
  const error = ( new Error(( localize(
630
- 13276,
630
+ 13407,
631
631
  "Cannot install the '{0}' extension because it is not available in the '{1}' setup.",
632
632
  gallery.displayName || gallery.name,
633
633
  server.label
@@ -651,7 +651,7 @@ let ExtensionManagementService = class ExtensionManagementService extends Common
651
651
  }
652
652
  if (!servers.length) {
653
653
  const error = ( new Error(( localize(
654
- 13274,
654
+ 13405,
655
655
  "Cannot install the '{0}' extension because it is not available in this setup.",
656
656
  gallery.displayName || gallery.name
657
657
  ))));
@@ -689,24 +689,24 @@ let ExtensionManagementService = class ExtensionManagementService extends Common
689
689
  if (this.isExtensionsSyncEnabled()) {
690
690
  const { result } = await this.dialogService.prompt({
691
691
  type: Severity.Info,
692
- message: extensions.length === 1 ? ( localize(13277, "Install Extension")) : ( localize(13278, "Install Extensions")),
692
+ message: extensions.length === 1 ? ( localize(13408, "Install Extension")) : ( localize(13409, "Install Extensions")),
693
693
  detail: extensions.length === 1
694
694
  ? ( localize(
695
- 13279,
695
+ 13410,
696
696
  "Would you like to install and synchronize '{0}' extension across your devices?",
697
697
  extensions[0].displayName
698
698
  ))
699
699
  : ( localize(
700
- 13280,
700
+ 13411,
701
701
  "Would you like to install and synchronize extensions across your devices?"
702
702
  )),
703
703
  buttons: [
704
704
  {
705
- label: ( localize(13281, "&&Install")),
705
+ label: ( localize(13412, "&&Install")),
706
706
  run: () => false
707
707
  },
708
708
  {
709
- label: ( localize(13282, "Install (Do &&not sync)")),
709
+ label: ( localize(13413, "Install (Do &&not sync)")),
710
710
  run: () => true
711
711
  }
712
712
  ],
@@ -755,7 +755,7 @@ let ExtensionManagementService = class ExtensionManagementService extends Common
755
755
  const manifest = await this.extensionGalleryService.getManifest(extension, CancellationToken.None);
756
756
  if (!manifest) {
757
757
  throw ( new Error(( localize(
758
- 13275,
758
+ 13406,
759
759
  "Installing Extension {0} failed: Manifest is not found.",
760
760
  extension.displayName || extension.name
761
761
  ))));
@@ -787,7 +787,7 @@ let ExtensionManagementService = class ExtensionManagementService extends Common
787
787
  const unverfiiedPublishers = allPublishers.filter(p => !p.publisherDomain?.verified);
788
788
  const verifiedPublishers = allPublishers.filter(p => p.publisherDomain?.verified);
789
789
  const installButton = {
790
- label: allPublishers.length > 1 ? ( localize(13283, "Trust Publishers & &&Install")) : ( localize(13284, "Trust Publisher & &&Install")),
790
+ label: allPublishers.length > 1 ? ( localize(13414, "Trust Publishers & &&Install")) : ( localize(13415, "Trust Publisher & &&Install")),
791
791
  run: () => {
792
792
  this.telemetryService.publicLog2('extensions:trustPublisher', { action: 'trust', extensionId: ( untrustedExtensions.map(e => e.identifier.id)).join(',') });
793
793
  this.trustPublishers(...( allPublishers.map(
@@ -796,7 +796,7 @@ let ExtensionManagementService = class ExtensionManagementService extends Common
796
796
  }
797
797
  };
798
798
  const learnMoreButton = {
799
- label: ( localize(13285, "&&Learn More")),
799
+ label: ( localize(13416, "&&Learn More")),
800
800
  run: () => {
801
801
  this.telemetryService.publicLog2('extensions:trustPublisher', { action: 'learn', extensionId: ( untrustedExtensions.map(e => e.identifier.id)).join(',') });
802
802
  this.instantiationService.invokeFunction(accessor => accessor.get(ICommandService).executeCommand('vscode.open', ( URI.parse('https://aka.ms/vscode-extension-security'))));
@@ -809,19 +809,19 @@ let ExtensionManagementService = class ExtensionManagementService extends Common
809
809
  const unverifiedLink = 'https://aka.ms/vscode-verify-publisher';
810
810
  const title = allPublishers.length === 1
811
811
  ? ( localize(
812
- 13286,
812
+ 13417,
813
813
  "Do you trust the publisher \"{0}\"?",
814
814
  allPublishers[0].publisherDisplayName
815
815
  ))
816
816
  : allPublishers.length === 2
817
817
  ? ( localize(
818
- 13287,
818
+ 13418,
819
819
  "Do you trust publishers \"{0}\" and \"{1}\"?",
820
820
  allPublishers[0].publisherDisplayName,
821
821
  allPublishers[1].publisherDisplayName
822
822
  ))
823
823
  : ( localize(
824
- 13288,
824
+ 13419,
825
825
  "Do you trust the publisher \"{0}\" and {1} others?",
826
826
  allPublishers[0].publisherDisplayName,
827
827
  allPublishers.length - 1
@@ -832,18 +832,16 @@ let ExtensionManagementService = class ExtensionManagementService extends Common
832
832
  const manifest = untrustedExtensionManifests[0];
833
833
  if (otherUntrustedPublishers.length) {
834
834
  customMessage.appendMarkdown(( localize(
835
- 13289,
835
+ 13420,
836
836
  "The extension {0} is published by {1}.",
837
837
  `[${extension.displayName}](${extension.detailsLink})`,
838
838
  getPublisherLink(extension)
839
839
  )));
840
840
  customMessage.appendMarkdown(' ');
841
- const commandUri = ( ( URI.parse(
842
- `command:extension.open?${encodeURIComponent(JSON.stringify([extension.identifier.id, manifest.extensionPack?.length ? 'extensionPack' : 'dependencies']))}`
843
- )).toString());
841
+ const commandUri = ( createCommandUri('extension.open', extension.identifier.id, manifest.extensionPack?.length ? 'extensionPack' : 'dependencies').toString());
844
842
  if (otherUntrustedPublishers.length === 1) {
845
843
  customMessage.appendMarkdown(( localize(
846
- 13290,
844
+ 13421,
847
845
  "Installing this extension will also install [extensions]({0}) published by {1}.",
848
846
  commandUri,
849
847
  getPublisherLink(otherUntrustedPublishers[0])
@@ -851,7 +849,7 @@ let ExtensionManagementService = class ExtensionManagementService extends Common
851
849
  }
852
850
  else {
853
851
  customMessage.appendMarkdown(( localize(
854
- 13291,
852
+ 13422,
855
853
  "Installing this extension will also install [extensions]({0}) published by {1} and {2}.",
856
854
  commandUri,
857
855
  ( otherUntrustedPublishers.slice(0, otherUntrustedPublishers.length - 1).map(p => getPublisherLink(p))).join(', '),
@@ -860,13 +858,13 @@ let ExtensionManagementService = class ExtensionManagementService extends Common
860
858
  }
861
859
  customMessage.appendMarkdown(' ');
862
860
  customMessage.appendMarkdown(( localize(
863
- 13292,
861
+ 13423,
864
862
  "This is the first time you're installing extensions from these publishers."
865
863
  )));
866
864
  }
867
865
  else {
868
866
  customMessage.appendMarkdown(( localize(
869
- 13293,
867
+ 13424,
870
868
  "The extension {0} is published by {1}. This is the first extension you're installing from this publisher.",
871
869
  `[${extension.displayName}](${extension.detailsLink})`,
872
870
  getPublisherLink(extension)
@@ -875,7 +873,7 @@ let ExtensionManagementService = class ExtensionManagementService extends Common
875
873
  }
876
874
  else {
877
875
  customMessage.appendMarkdown(( localize(
878
- 13294,
876
+ 13425,
879
877
  "This is the first time you're installing extensions from publishers {0} and {1}.",
880
878
  getPublisherLink(allPublishers[0]),
881
879
  getPublisherLink(allPublishers[allPublishers.length - 1])
@@ -885,7 +883,7 @@ let ExtensionManagementService = class ExtensionManagementService extends Common
885
883
  for (const publisher of verifiedPublishers) {
886
884
  customMessage.appendText('\n');
887
885
  const publisherVerifiedMessage = ( localize(
888
- 13295,
886
+ 13426,
889
887
  "{0} has verified ownership of {1}.",
890
888
  getPublisherLink(publisher),
891
889
  `[$(link-external) ${( URI.parse(publisher.publisherDomain.link)).authority}](${publisher.publisherDomain.link})`
@@ -896,7 +894,7 @@ let ExtensionManagementService = class ExtensionManagementService extends Common
896
894
  customMessage.appendText('\n');
897
895
  if (unverfiiedPublishers.length === 1) {
898
896
  customMessage.appendMarkdown(`$(${Codicon.unverified.id}) ${( localize(
899
- 13296,
897
+ 13427,
900
898
  "{0} is [**not** verified]({1}).",
901
899
  getPublisherLink(unverfiiedPublishers[0]),
902
900
  unverifiedLink
@@ -904,7 +902,7 @@ let ExtensionManagementService = class ExtensionManagementService extends Common
904
902
  }
905
903
  else {
906
904
  customMessage.appendMarkdown(`$(${Codicon.unverified.id}) ${( localize(
907
- 13297,
905
+ 13428,
908
906
  "{0} and {1} are [**not** verified]({2}).",
909
907
  ( unverfiiedPublishers.slice(0, unverfiiedPublishers.length - 1).map(p => getPublisherLink(p))).join(', '),
910
908
  getPublisherLink(unverfiiedPublishers[unverfiiedPublishers.length - 1]),
@@ -915,19 +913,19 @@ let ExtensionManagementService = class ExtensionManagementService extends Common
915
913
  }
916
914
  else {
917
915
  customMessage.appendText('\n');
918
- customMessage.appendMarkdown(`$(${Codicon.unverified.id}) ${( localize(13298, "All publishers are [**not** verified]({0}).", unverifiedLink))}`);
916
+ customMessage.appendMarkdown(`$(${Codicon.unverified.id}) ${( localize(13429, "All publishers are [**not** verified]({0}).", unverifiedLink))}`);
919
917
  }
920
918
  customMessage.appendText('\n');
921
919
  if (allPublishers.length > 1) {
922
920
  customMessage.appendMarkdown(( localize(
923
- 13299,
921
+ 13430,
924
922
  "{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.",
925
923
  this.productService.nameLong
926
924
  )));
927
925
  }
928
926
  else {
929
927
  customMessage.appendMarkdown(( localize(
930
- 13300,
928
+ 13431,
931
929
  "{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.",
932
930
  this.productService.nameLong
933
931
  )));
@@ -1006,13 +1004,13 @@ let ExtensionManagementService = class ExtensionManagementService extends Common
1006
1004
  async checkForWorkspaceTrust(manifest, requireTrust) {
1007
1005
  if (requireTrust || this.extensionManifestPropertiesService.getExtensionUntrustedWorkspaceSupportType(manifest) === false) {
1008
1006
  const buttons = [];
1009
- buttons.push({ label: ( localize(13301, "Trust Workspace & Install")), type: 'ContinueWithTrust' });
1007
+ buttons.push({ label: ( localize(13432, "Trust Workspace & Install")), type: 'ContinueWithTrust' });
1010
1008
  if (!requireTrust) {
1011
- buttons.push({ label: ( localize(13302, "Install")), type: 'ContinueWithoutTrust' });
1009
+ buttons.push({ label: ( localize(13433, "Install")), type: 'ContinueWithoutTrust' });
1012
1010
  }
1013
- buttons.push({ label: ( localize(13303, "Learn More")), type: 'Manage' });
1011
+ buttons.push({ label: ( localize(13434, "Learn More")), type: 'Manage' });
1014
1012
  const trustState = await this.workspaceTrustRequestService.requestWorkspaceTrust({
1015
- message: ( localize(13304, "Enabling this extension requires a trusted workspace.")),
1013
+ message: ( localize(13435, "Enabling this extension requires a trusted workspace.")),
1016
1014
  buttons
1017
1015
  });
1018
1016
  if (trustState === undefined) {
@@ -1036,7 +1034,7 @@ let ExtensionManagementService = class ExtensionManagementService extends Common
1036
1034
  throw ( new ExtensionManagementError('Not supported in Web', ExtensionManagementErrorCode.Unsupported));
1037
1035
  }
1038
1036
  }
1039
- const productName = ( localize(13305, "{0} for the Web", this.productService.nameLong));
1037
+ const productName = ( localize(13436, "{0} for the Web", this.productService.nameLong));
1040
1038
  const virtualWorkspaceSupport = this.extensionManifestPropertiesService.getExtensionVirtualWorkspaceSupportType(manifest);
1041
1039
  const virtualWorkspaceSupportReason = getWorkspaceSupportTypeMessage(manifest.capabilities?.virtualWorkspaces);
1042
1040
  const hasLimitedSupport = virtualWorkspaceSupport === 'limited' || !!virtualWorkspaceSupportReason;
@@ -1044,7 +1042,7 @@ let ExtensionManagementService = class ExtensionManagementService extends Common
1044
1042
  return;
1045
1043
  }
1046
1044
  const limitedSupportMessage = ( localize(
1047
- 13306,
1045
+ 13437,
1048
1046
  "'{0}' has limited functionality in {1}.",
1049
1047
  extension.displayName || extension.identifier.id,
1050
1048
  productName
@@ -1053,16 +1051,16 @@ let ExtensionManagementService = class ExtensionManagementService extends Common
1053
1051
  let buttons = [];
1054
1052
  let detail;
1055
1053
  const installAnywayButton = {
1056
- label: ( localize(13307, "&&Install Anyway")),
1054
+ label: ( localize(13438, "&&Install Anyway")),
1057
1055
  run: () => { }
1058
1056
  };
1059
1057
  const showExtensionsButton = {
1060
- label: ( localize(13308, "&&Show Extensions")),
1058
+ label: ( localize(13439, "&&Show Extensions")),
1061
1059
  run: () => this.instantiationService.invokeFunction(accessor => accessor.get(ICommandService).executeCommand('extension.open', extension.identifier.id, 'extensionPack'))
1062
1060
  };
1063
1061
  if (nonWebExtensions.length && hasLimitedSupport) {
1064
1062
  message = limitedSupportMessage;
1065
- detail = `${virtualWorkspaceSupportReason ? `${virtualWorkspaceSupportReason}\n` : ''}${( localize(13309, "Contains extensions which are not supported."))}`;
1063
+ detail = `${virtualWorkspaceSupportReason ? `${virtualWorkspaceSupportReason}\n` : ''}${( localize(13440, "Contains extensions which are not supported."))}`;
1066
1064
  buttons = [
1067
1065
  installAnywayButton,
1068
1066
  showExtensionsButton
@@ -1075,7 +1073,7 @@ let ExtensionManagementService = class ExtensionManagementService extends Common
1075
1073
  }
1076
1074
  else {
1077
1075
  message = ( localize(
1078
- 13310,
1076
+ 13441,
1079
1077
  "'{0}' contains extensions which are not supported in {1}.",
1080
1078
  extension.displayName || extension.identifier.id,
1081
1079
  productName
@@ -1362,7 +1360,7 @@ let WorkspaceExtensionsManagementService = class WorkspaceExtensionsManagementSe
1362
1360
  if (extension.manifest.main) {
1363
1361
  if (!(await this.fileService.exists(this.uriIdentityService.extUri.joinPath(extension.location, extension.manifest.main)))) {
1364
1362
  isValid = false;
1365
- validations.push([Severity.Error, ( localize(13311, "Cannot activate because {0} not found", extension.manifest.main))]);
1363
+ validations.push([Severity.Error, ( localize(13442, "Cannot activate because {0} not found", extension.manifest.main))]);
1366
1364
  }
1367
1365
  }
1368
1366
  return {