@codingame/monaco-vscode-extension-gallery-service-override 8.0.3 → 8.0.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/workbench/contrib/extensions/browser/extensionsActivationProgress.js +1 -1
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViewlet.js +37 -37
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.js +49 -49
- package/vscode/src/vs/workbench/services/extensionManagement/browser/webExtensionsScannerService.js +2 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codingame/monaco-vscode-extension-gallery-service-override",
|
|
3
|
-
"version": "8.0.
|
|
3
|
+
"version": "8.0.4",
|
|
4
4
|
"keywords": [],
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "CodinGame",
|
|
@@ -26,6 +26,6 @@
|
|
|
26
26
|
}
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"vscode": "npm:@codingame/monaco-vscode-api@8.0.
|
|
29
|
+
"vscode": "npm:@codingame/monaco-vscode-api@8.0.4"
|
|
30
30
|
}
|
|
31
31
|
}
|
|
@@ -11,7 +11,7 @@ let ExtensionActivationProgress = class ExtensionActivationProgress {
|
|
|
11
11
|
constructor(extensionService, progressService, logService) {
|
|
12
12
|
const options = {
|
|
13
13
|
location: ProgressLocation.Window,
|
|
14
|
-
title: ( localize(
|
|
14
|
+
title: ( localize(9416, "Activating Extensions..."))
|
|
15
15
|
};
|
|
16
16
|
let deferred;
|
|
17
17
|
let count = 0;
|
|
@@ -81,7 +81,7 @@ const SearchUnsupportedWorkspaceExtensionsContext = ( (new RawContextKey('search
|
|
|
81
81
|
const SearchDeprecatedExtensionsContext = ( (new RawContextKey('searchDeprecatedExtensions', false)));
|
|
82
82
|
const RecommendedExtensionsContext = ( (new RawContextKey('recommendedExtensions', false)));
|
|
83
83
|
const SortByUpdateDateContext = ( (new RawContextKey('sortByUpdateDate', false)));
|
|
84
|
-
const REMOTE_CATEGORY = ( localize2(
|
|
84
|
+
const REMOTE_CATEGORY = ( localize2(9417, "Remote"));
|
|
85
85
|
let ExtensionsViewletViewsContribution = class ExtensionsViewletViewsContribution extends Disposable {
|
|
86
86
|
constructor(extensionManagementServerService, labelService, viewDescriptorService, contextKeyService) {
|
|
87
87
|
super();
|
|
@@ -124,7 +124,7 @@ let ExtensionsViewletViewsContribution = class ExtensionsViewletViewsContributio
|
|
|
124
124
|
}
|
|
125
125
|
const serverLabelChangeEvent = Event.any(this.labelService.onDidChangeFormatters, installedWebExtensionsContextChangeEvent);
|
|
126
126
|
for (const server of servers) {
|
|
127
|
-
const getInstalledViewName = () => getViewName(( localize(
|
|
127
|
+
const getInstalledViewName = () => getViewName(( localize(9418, "Installed")), server);
|
|
128
128
|
const onDidChangeTitle = ( (Event.map(serverLabelChangeEvent, () => getInstalledViewName())));
|
|
129
129
|
const id = servers.length > 1 ? `workbench.views.extensions.${server.id}.installed` : `workbench.views.extensions.installed`;
|
|
130
130
|
viewDescriptors.push({
|
|
@@ -150,7 +150,7 @@ let ExtensionsViewletViewsContribution = class ExtensionsViewletViewsContributio
|
|
|
150
150
|
super({
|
|
151
151
|
id: 'workbench.extensions.installLocalExtensions',
|
|
152
152
|
get title() {
|
|
153
|
-
return ( localize2(
|
|
153
|
+
return ( localize2(9419, "Install Local Extensions in '{0}'...", server.label));
|
|
154
154
|
},
|
|
155
155
|
category: REMOTE_CATEGORY,
|
|
156
156
|
icon: installLocalInRemoteIcon,
|
|
@@ -173,7 +173,7 @@ let ExtensionsViewletViewsContribution = class ExtensionsViewletViewsContributio
|
|
|
173
173
|
constructor() {
|
|
174
174
|
super({
|
|
175
175
|
id: 'workbench.extensions.actions.installLocalExtensionsInRemote',
|
|
176
|
-
title: ( localize2(
|
|
176
|
+
title: ( localize2(9420, 'Install Remote Extensions Locally...')),
|
|
177
177
|
category: REMOTE_CATEGORY,
|
|
178
178
|
f1: true
|
|
179
179
|
});
|
|
@@ -185,7 +185,7 @@ let ExtensionsViewletViewsContribution = class ExtensionsViewletViewsContributio
|
|
|
185
185
|
}
|
|
186
186
|
viewDescriptors.push({
|
|
187
187
|
id: 'workbench.views.extensions.popular',
|
|
188
|
-
name: ( localize2(
|
|
188
|
+
name: ( localize2(9421, "Popular")),
|
|
189
189
|
ctorDescriptor: ( (new SyncDescriptor(DefaultPopularExtensionsView, [{ hideBadge: true }]))),
|
|
190
190
|
when: ( (ContextKeyExpr.and(
|
|
191
191
|
DefaultViewsContext,
|
|
@@ -198,7 +198,7 @@ let ExtensionsViewletViewsContribution = class ExtensionsViewletViewsContributio
|
|
|
198
198
|
});
|
|
199
199
|
viewDescriptors.push({
|
|
200
200
|
id: 'extensions.recommendedList',
|
|
201
|
-
name: ( localize2(
|
|
201
|
+
name: ( localize2(9422, "Recommended")),
|
|
202
202
|
ctorDescriptor: ( (new SyncDescriptor(DefaultRecommendedExtensionsView, [{ flexibleHeight: true }]))),
|
|
203
203
|
when: ( (ContextKeyExpr.and(
|
|
204
204
|
DefaultViewsContext,
|
|
@@ -213,7 +213,7 @@ let ExtensionsViewletViewsContribution = class ExtensionsViewletViewsContributio
|
|
|
213
213
|
if (servers.length === 1) {
|
|
214
214
|
viewDescriptors.push({
|
|
215
215
|
id: 'workbench.views.extensions.enabled',
|
|
216
|
-
name: ( localize2(
|
|
216
|
+
name: ( localize2(9423, "Enabled")),
|
|
217
217
|
ctorDescriptor: ( (new SyncDescriptor(EnabledExtensionsView, [{}]))),
|
|
218
218
|
when: ( (ContextKeyExpr.and(
|
|
219
219
|
DefaultViewsContext,
|
|
@@ -226,7 +226,7 @@ let ExtensionsViewletViewsContribution = class ExtensionsViewletViewsContributio
|
|
|
226
226
|
});
|
|
227
227
|
viewDescriptors.push({
|
|
228
228
|
id: 'workbench.views.extensions.disabled',
|
|
229
|
-
name: ( localize2(
|
|
229
|
+
name: ( localize2(9424, "Disabled")),
|
|
230
230
|
ctorDescriptor: ( (new SyncDescriptor(DisabledExtensionsView, [{}]))),
|
|
231
231
|
when: ( (ContextKeyExpr.and(
|
|
232
232
|
DefaultViewsContext,
|
|
@@ -244,13 +244,13 @@ let ExtensionsViewletViewsContribution = class ExtensionsViewletViewsContributio
|
|
|
244
244
|
const viewDescriptors = [];
|
|
245
245
|
viewDescriptors.push({
|
|
246
246
|
id: 'workbench.views.extensions.marketplace',
|
|
247
|
-
name: ( localize2(
|
|
247
|
+
name: ( localize2(9425, "Marketplace")),
|
|
248
248
|
ctorDescriptor: ( (new SyncDescriptor(SearchMarketplaceExtensionsView, [{}]))),
|
|
249
249
|
when: ( (ContextKeyExpr.and( (ContextKeyExpr.has('searchMarketplaceExtensions'))))),
|
|
250
250
|
});
|
|
251
251
|
viewDescriptors.push({
|
|
252
252
|
id: 'workbench.views.extensions.searchInstalled',
|
|
253
|
-
name: ( localize2(
|
|
253
|
+
name: ( localize2(9418, "Installed")),
|
|
254
254
|
ctorDescriptor: ( (new SyncDescriptor(ExtensionsListView, [{}]))),
|
|
255
255
|
when: ( (ContextKeyExpr.or(
|
|
256
256
|
(ContextKeyExpr.has('searchInstalledExtensions')),
|
|
@@ -259,7 +259,7 @@ let ExtensionsViewletViewsContribution = class ExtensionsViewletViewsContributio
|
|
|
259
259
|
});
|
|
260
260
|
viewDescriptors.push({
|
|
261
261
|
id: 'workbench.views.extensions.searchRecentlyUpdated',
|
|
262
|
-
name: ( localize2(
|
|
262
|
+
name: ( localize2(9426, "Recently Updated")),
|
|
263
263
|
ctorDescriptor: ( (new SyncDescriptor(RecentlyUpdatedExtensionsView, [{}]))),
|
|
264
264
|
when: ( (ContextKeyExpr.or(
|
|
265
265
|
SearchExtensionUpdatesContext,
|
|
@@ -269,19 +269,19 @@ let ExtensionsViewletViewsContribution = class ExtensionsViewletViewsContributio
|
|
|
269
269
|
});
|
|
270
270
|
viewDescriptors.push({
|
|
271
271
|
id: 'workbench.views.extensions.searchEnabled',
|
|
272
|
-
name: ( localize2(
|
|
272
|
+
name: ( localize2(9427, "Enabled")),
|
|
273
273
|
ctorDescriptor: ( (new SyncDescriptor(ExtensionsListView, [{}]))),
|
|
274
274
|
when: ( (ContextKeyExpr.and( (ContextKeyExpr.has('searchEnabledExtensions'))))),
|
|
275
275
|
});
|
|
276
276
|
viewDescriptors.push({
|
|
277
277
|
id: 'workbench.views.extensions.searchDisabled',
|
|
278
|
-
name: ( localize2(
|
|
278
|
+
name: ( localize2(9428, "Disabled")),
|
|
279
279
|
ctorDescriptor: ( (new SyncDescriptor(ExtensionsListView, [{}]))),
|
|
280
280
|
when: ( (ContextKeyExpr.and( (ContextKeyExpr.has('searchDisabledExtensions'))))),
|
|
281
281
|
});
|
|
282
282
|
viewDescriptors.push({
|
|
283
283
|
id: OUTDATED_EXTENSIONS_VIEW_ID,
|
|
284
|
-
name: ( localize2(
|
|
284
|
+
name: ( localize2(9429, "Available Updates")),
|
|
285
285
|
ctorDescriptor: ( (new SyncDescriptor(OutdatedExtensionsView, [{}]))),
|
|
286
286
|
when: ( (ContextKeyExpr.or(
|
|
287
287
|
SearchExtensionUpdatesContext,
|
|
@@ -291,13 +291,13 @@ let ExtensionsViewletViewsContribution = class ExtensionsViewletViewsContributio
|
|
|
291
291
|
});
|
|
292
292
|
viewDescriptors.push({
|
|
293
293
|
id: 'workbench.views.extensions.searchBuiltin',
|
|
294
|
-
name: ( localize2(
|
|
294
|
+
name: ( localize2(9430, "Builtin")),
|
|
295
295
|
ctorDescriptor: ( (new SyncDescriptor(ExtensionsListView, [{}]))),
|
|
296
296
|
when: ( (ContextKeyExpr.and( (ContextKeyExpr.has('searchBuiltInExtensions'))))),
|
|
297
297
|
});
|
|
298
298
|
viewDescriptors.push({
|
|
299
299
|
id: 'workbench.views.extensions.searchWorkspaceUnsupported',
|
|
300
|
-
name: ( localize2(
|
|
300
|
+
name: ( localize2(9431, "Workspace Unsupported")),
|
|
301
301
|
ctorDescriptor: ( (new SyncDescriptor(ExtensionsListView, [{}]))),
|
|
302
302
|
when: ( (ContextKeyExpr.and( (ContextKeyExpr.has('searchWorkspaceUnsupportedExtensions'))))),
|
|
303
303
|
});
|
|
@@ -307,7 +307,7 @@ let ExtensionsViewletViewsContribution = class ExtensionsViewletViewsContributio
|
|
|
307
307
|
const viewDescriptors = [];
|
|
308
308
|
viewDescriptors.push({
|
|
309
309
|
id: WORKSPACE_RECOMMENDATIONS_VIEW_ID,
|
|
310
|
-
name: ( localize2(
|
|
310
|
+
name: ( localize2(9432, "Workspace Recommendations")),
|
|
311
311
|
ctorDescriptor: ( (new SyncDescriptor(WorkspaceRecommendedExtensionsView, [{}]))),
|
|
312
312
|
when: ( (ContextKeyExpr.and(
|
|
313
313
|
(ContextKeyExpr.has('recommendedExtensions')),
|
|
@@ -317,7 +317,7 @@ let ExtensionsViewletViewsContribution = class ExtensionsViewletViewsContributio
|
|
|
317
317
|
});
|
|
318
318
|
viewDescriptors.push({
|
|
319
319
|
id: 'workbench.views.extensions.otherRecommendations',
|
|
320
|
-
name: ( localize2(
|
|
320
|
+
name: ( localize2(9433, "Other Recommendations")),
|
|
321
321
|
ctorDescriptor: ( (new SyncDescriptor(RecommendedExtensionsView, [{}]))),
|
|
322
322
|
when: ( (ContextKeyExpr.has('recommendedExtensions'))),
|
|
323
323
|
order: 2
|
|
@@ -332,19 +332,19 @@ let ExtensionsViewletViewsContribution = class ExtensionsViewletViewsContributio
|
|
|
332
332
|
const otherCategoriesQuery = `${( (otherCategories.map(c => `category:"${c}"`))).join(' ')} ${( (configuredCategories.map(c => `category:"-${c}"`))).join(' ')}`;
|
|
333
333
|
viewDescriptors.push({
|
|
334
334
|
id: 'workbench.views.extensions.builtinFeatureExtensions',
|
|
335
|
-
name: ( localize2(
|
|
335
|
+
name: ( localize2(9434, "Features")),
|
|
336
336
|
ctorDescriptor: ( (new SyncDescriptor(StaticQueryExtensionsView, [{ query: `@builtin ${otherCategoriesQuery}` }]))),
|
|
337
337
|
when: ( (ContextKeyExpr.has('builtInExtensions'))),
|
|
338
338
|
});
|
|
339
339
|
viewDescriptors.push({
|
|
340
340
|
id: 'workbench.views.extensions.builtinThemeExtensions',
|
|
341
|
-
name: ( localize2(
|
|
341
|
+
name: ( localize2(9435, "Themes")),
|
|
342
342
|
ctorDescriptor: ( (new SyncDescriptor(StaticQueryExtensionsView, [{ query: `@builtin category:themes` }]))),
|
|
343
343
|
when: ( (ContextKeyExpr.has('builtInExtensions'))),
|
|
344
344
|
});
|
|
345
345
|
viewDescriptors.push({
|
|
346
346
|
id: 'workbench.views.extensions.builtinProgrammingLanguageExtensions',
|
|
347
|
-
name: ( localize2(
|
|
347
|
+
name: ( localize2(9436, "Programming Languages")),
|
|
348
348
|
ctorDescriptor: ( (new SyncDescriptor(
|
|
349
349
|
StaticQueryExtensionsView,
|
|
350
350
|
[{ query: `@builtin category:"programming languages"` }]
|
|
@@ -357,25 +357,25 @@ let ExtensionsViewletViewsContribution = class ExtensionsViewletViewsContributio
|
|
|
357
357
|
const viewDescriptors = [];
|
|
358
358
|
viewDescriptors.push({
|
|
359
359
|
id: 'workbench.views.extensions.untrustedUnsupportedExtensions',
|
|
360
|
-
name: ( localize2(
|
|
360
|
+
name: ( localize2(9437, "Disabled in Restricted Mode")),
|
|
361
361
|
ctorDescriptor: ( (new SyncDescriptor(UntrustedWorkspaceUnsupportedExtensionsView, [{}]))),
|
|
362
362
|
when: ( (ContextKeyExpr.and(SearchUnsupportedWorkspaceExtensionsContext))),
|
|
363
363
|
});
|
|
364
364
|
viewDescriptors.push({
|
|
365
365
|
id: 'workbench.views.extensions.untrustedPartiallySupportedExtensions',
|
|
366
|
-
name: ( localize2(
|
|
366
|
+
name: ( localize2(9438, "Limited in Restricted Mode")),
|
|
367
367
|
ctorDescriptor: ( (new SyncDescriptor(UntrustedWorkspacePartiallySupportedExtensionsView, [{}]))),
|
|
368
368
|
when: ( (ContextKeyExpr.and(SearchUnsupportedWorkspaceExtensionsContext))),
|
|
369
369
|
});
|
|
370
370
|
viewDescriptors.push({
|
|
371
371
|
id: 'workbench.views.extensions.virtualUnsupportedExtensions',
|
|
372
|
-
name: ( localize2(
|
|
372
|
+
name: ( localize2(9439, "Disabled in Virtual Workspaces")),
|
|
373
373
|
ctorDescriptor: ( (new SyncDescriptor(VirtualWorkspaceUnsupportedExtensionsView, [{}]))),
|
|
374
374
|
when: ( (ContextKeyExpr.and(VirtualWorkspaceContext, SearchUnsupportedWorkspaceExtensionsContext))),
|
|
375
375
|
});
|
|
376
376
|
viewDescriptors.push({
|
|
377
377
|
id: 'workbench.views.extensions.virtualPartiallySupportedExtensions',
|
|
378
|
-
name: ( localize2(
|
|
378
|
+
name: ( localize2(9440, "Limited in Virtual Workspaces")),
|
|
379
379
|
ctorDescriptor: ( (new SyncDescriptor(VirtualWorkspacePartiallySupportedExtensionsView, [{}]))),
|
|
380
380
|
when: ( (ContextKeyExpr.and(VirtualWorkspaceContext, SearchUnsupportedWorkspaceExtensionsContext))),
|
|
381
381
|
});
|
|
@@ -385,7 +385,7 @@ let ExtensionsViewletViewsContribution = class ExtensionsViewletViewsContributio
|
|
|
385
385
|
const viewDescriptors = [];
|
|
386
386
|
viewDescriptors.push({
|
|
387
387
|
id: 'workbench.views.extensions.deprecatedExtensions',
|
|
388
|
-
name: ( localize2(
|
|
388
|
+
name: ( localize2(9441, "Deprecated")),
|
|
389
389
|
ctorDescriptor: ( (new SyncDescriptor(DeprecatedExtensionsView, [{}]))),
|
|
390
390
|
when: ( (ContextKeyExpr.and(SearchDeprecatedExtensionsContext))),
|
|
391
391
|
});
|
|
@@ -446,7 +446,7 @@ let ExtensionsViewPaneContainer = class ExtensionsViewPaneContainer extends View
|
|
|
446
446
|
overlay.style.backgroundColor = overlayBackgroundColor;
|
|
447
447
|
hide(overlay);
|
|
448
448
|
const header = append(this.root, $('.header'));
|
|
449
|
-
const placeholder = ( localize(
|
|
449
|
+
const placeholder = ( localize(9442, "Search Extensions in Marketplace"));
|
|
450
450
|
const searchValue = this.searchViewletState['query.value'] ? this.searchViewletState['query.value'] : '';
|
|
451
451
|
const searchContainer = append(header, $('.extensions-search-container'));
|
|
452
452
|
this.searchBox = this._register(this.instantiationService.createInstance(SuggestEnabledInput, `${VIEWLET_ID}.searchbox`, searchContainer, {
|
|
@@ -627,18 +627,18 @@ let ExtensionsViewPaneContainer = class ExtensionsViewPaneContainer extends View
|
|
|
627
627
|
break;
|
|
628
628
|
case 1:
|
|
629
629
|
if (view) {
|
|
630
|
-
alert(( localize(
|
|
630
|
+
alert(( localize(9443, "1 extension found in the {0} section.", view.name.value)));
|
|
631
631
|
}
|
|
632
632
|
else {
|
|
633
|
-
alert(( localize(
|
|
633
|
+
alert(( localize(9444, "1 extension found.")));
|
|
634
634
|
}
|
|
635
635
|
break;
|
|
636
636
|
default:
|
|
637
637
|
if (view) {
|
|
638
|
-
alert(( localize(
|
|
638
|
+
alert(( localize(9445, "{0} extensions found in the {1} section.", count, view.name.value)));
|
|
639
639
|
}
|
|
640
640
|
else {
|
|
641
|
-
alert(( localize(
|
|
641
|
+
alert(( localize(9446, "{0} extensions found.", count)));
|
|
642
642
|
}
|
|
643
643
|
break;
|
|
644
644
|
}
|
|
@@ -679,10 +679,10 @@ let ExtensionsViewPaneContainer = class ExtensionsViewPaneContainer extends View
|
|
|
679
679
|
const message = err && err.message || '';
|
|
680
680
|
if (/ECONNREFUSED/.test(message)) {
|
|
681
681
|
const error = createErrorWithActions(( localize(
|
|
682
|
-
|
|
682
|
+
9447,
|
|
683
683
|
"Marketplace returned 'ECONNREFUSED'. Please check the 'http.proxy' setting."
|
|
684
684
|
)), [
|
|
685
|
-
( (new Action('open user settings', ( localize(
|
|
685
|
+
( (new Action('open user settings', ( localize(9448, "Open User Settings")), undefined, true, () => this.preferencesService.openUserSettings())))
|
|
686
686
|
]);
|
|
687
687
|
this.notificationService.error(error);
|
|
688
688
|
return;
|
|
@@ -737,13 +737,13 @@ let StatusUpdater = class StatusUpdater extends Disposable {
|
|
|
737
737
|
if (newBadgeNumber > 0) {
|
|
738
738
|
let msg = '';
|
|
739
739
|
if (outdated) {
|
|
740
|
-
msg += outdated === 1 ? ( localize(
|
|
740
|
+
msg += outdated === 1 ? ( localize(9449, '{0} requires update', outdated)) : ( localize(9450, '{0} require update', outdated));
|
|
741
741
|
}
|
|
742
742
|
if (outdated > 0 && actionRequired.length > 0) {
|
|
743
743
|
msg += ', ';
|
|
744
744
|
}
|
|
745
745
|
if (actionRequired.length) {
|
|
746
|
-
msg += actionRequired.length === 1 ? ( localize(
|
|
746
|
+
msg += actionRequired.length === 1 ? ( localize(9451, '{0} requires restart', actionRequired.length)) : ( localize(9452, '{0} require restart', actionRequired.length));
|
|
747
747
|
}
|
|
748
748
|
const badge = ( (new NumberBadge(newBadgeNumber, () => msg)));
|
|
749
749
|
this.badgeHandle.value = this.activityService.showViewContainerActivity(VIEWLET_ID, { badge });
|
|
@@ -780,11 +780,11 @@ let MaliciousExtensionChecker = class MaliciousExtensionChecker {
|
|
|
780
780
|
if (maliciousExtensions.length) {
|
|
781
781
|
return Promises.settled(( (maliciousExtensions.map(e => this.extensionsManagementService.uninstall(e).then(() => {
|
|
782
782
|
this.notificationService.prompt(Severity$1.Warning, ( localize(
|
|
783
|
-
|
|
783
|
+
9453,
|
|
784
784
|
"We have uninstalled '{0}' which was reported to be problematic.",
|
|
785
785
|
e.identifier.id
|
|
786
786
|
)), [{
|
|
787
|
-
label: ( localize(
|
|
787
|
+
label: ( localize(9454, "Reload Now")),
|
|
788
788
|
run: () => this.hostService.reload()
|
|
789
789
|
}], {
|
|
790
790
|
sticky: true,
|
|
@@ -329,7 +329,7 @@ let Extension = class Extension {
|
|
|
329
329
|
}));
|
|
330
330
|
}
|
|
331
331
|
else {
|
|
332
|
-
this.logService.error(( localize(
|
|
332
|
+
this.logService.error(( localize(3796, "Manifest is not found")), this.identifier.id);
|
|
333
333
|
}
|
|
334
334
|
}
|
|
335
335
|
return cache;
|
|
@@ -861,7 +861,7 @@ let ExtensionsWorkbenchService = class ExtensionsWorkbenchService extends Dispos
|
|
|
861
861
|
[AutoRestartConfigurationKey]: {
|
|
862
862
|
type: 'boolean',
|
|
863
863
|
description: ( localize(
|
|
864
|
-
|
|
864
|
+
3797,
|
|
865
865
|
"If activated, extensions will automatically restart following an update if the window is not in focus. There can be a data loss if you have open Notebooks or Custom Editors."
|
|
866
866
|
)),
|
|
867
867
|
default: false,
|
|
@@ -950,12 +950,12 @@ let ExtensionsWorkbenchService = class ExtensionsWorkbenchService extends Dispos
|
|
|
950
950
|
const isEnabled = value !== false;
|
|
951
951
|
if (wasEnabled !== isEnabled) {
|
|
952
952
|
const result = await this.dialogService.confirm({
|
|
953
|
-
title: ( localize(
|
|
953
|
+
title: ( localize(3798, "Auto Update Extensions")),
|
|
954
954
|
message: isEnabled
|
|
955
|
-
? ( localize(
|
|
956
|
-
: ( localize(
|
|
955
|
+
? ( localize(3799, "Do you want to enable auto update for all extensions?"))
|
|
956
|
+
: ( localize(3800, "Do you want to disable auto update for all extensions?")),
|
|
957
957
|
detail: ( localize(
|
|
958
|
-
|
|
958
|
+
3801,
|
|
959
959
|
"This will reset any auto update settings you have set for individual extensions."
|
|
960
960
|
)),
|
|
961
961
|
});
|
|
@@ -1241,12 +1241,12 @@ let ExtensionsWorkbenchService = class ExtensionsWorkbenchService extends Dispos
|
|
|
1241
1241
|
toRemove.push(extension.identifier.value);
|
|
1242
1242
|
}
|
|
1243
1243
|
if (toAdd.length || toRemove.length) {
|
|
1244
|
-
if (await this.extensionService.stopExtensionHosts(( localize(
|
|
1244
|
+
if (await this.extensionService.stopExtensionHosts(( localize(3802, "Enable or Disable extensions")), auto)) {
|
|
1245
1245
|
await this.extensionService.startExtensionHosts({ toAdd, toRemove });
|
|
1246
1246
|
if (auto) {
|
|
1247
1247
|
this.notificationService.notify({
|
|
1248
1248
|
severity: Severity$1.Info,
|
|
1249
|
-
message: ( localize(
|
|
1249
|
+
message: ( localize(3803, "Extensions were auto restarted to enable updates.")),
|
|
1250
1250
|
priority: NotificationPriority.SILENT
|
|
1251
1251
|
});
|
|
1252
1252
|
}
|
|
@@ -1258,7 +1258,7 @@ let ExtensionsWorkbenchService = class ExtensionsWorkbenchService extends Dispos
|
|
|
1258
1258
|
const isUninstalled = extension.state === ExtensionState.Uninstalled;
|
|
1259
1259
|
const runningExtension = this.extensionService.extensions.find(e => areSameExtensions({ id: e.identifier.value }, extension.identifier));
|
|
1260
1260
|
const reloadAction = this.extensionManagementServerService.remoteExtensionManagementServer ? ExtensionRuntimeActionType.ReloadWindow : ExtensionRuntimeActionType.RestartExtensions;
|
|
1261
|
-
const reloadActionLabel = reloadAction === ExtensionRuntimeActionType.ReloadWindow ? ( localize(
|
|
1261
|
+
const reloadActionLabel = reloadAction === ExtensionRuntimeActionType.ReloadWindow ? ( localize(3804, "reload window")) : ( localize(3805, "restart extensions"));
|
|
1262
1262
|
if (isUninstalled) {
|
|
1263
1263
|
const canRemoveRunningExtension = runningExtension && this.extensionService.canRemoveExtension(runningExtension);
|
|
1264
1264
|
const isSameExtensionRunning = runningExtension
|
|
@@ -1266,7 +1266,7 @@ let ExtensionsWorkbenchService = class ExtensionsWorkbenchService extends Dispos
|
|
|
1266
1266
|
&& (!extension.resourceExtension || this.uriIdentityService.extUri.isEqual(extension.resourceExtension.location, runningExtension.extensionLocation));
|
|
1267
1267
|
if (!canRemoveRunningExtension && isSameExtensionRunning && !runningExtension.isUnderDevelopment) {
|
|
1268
1268
|
return { action: reloadAction, reason: ( localize(
|
|
1269
|
-
|
|
1269
|
+
3806,
|
|
1270
1270
|
"Please {0} to complete the uninstallation of this extension.",
|
|
1271
1271
|
reloadActionLabel
|
|
1272
1272
|
)) };
|
|
@@ -1292,38 +1292,38 @@ let ExtensionsWorkbenchService = class ExtensionsWorkbenchService extends Dispos
|
|
|
1292
1292
|
const state = this.updateService.state;
|
|
1293
1293
|
if (state.type === StateType.AvailableForDownload) {
|
|
1294
1294
|
return { action: ExtensionRuntimeActionType.DownloadUpdate, reason: ( localize(
|
|
1295
|
-
|
|
1295
|
+
3807,
|
|
1296
1296
|
"Please update {0} to enable the updated extension.",
|
|
1297
1297
|
this.productService.nameLong
|
|
1298
1298
|
)) };
|
|
1299
1299
|
}
|
|
1300
1300
|
if (state.type === StateType.Downloaded) {
|
|
1301
1301
|
return { action: ExtensionRuntimeActionType.ApplyUpdate, reason: ( localize(
|
|
1302
|
-
|
|
1302
|
+
3808,
|
|
1303
1303
|
"Please update {0} to enable the updated extension.",
|
|
1304
1304
|
this.productService.nameLong
|
|
1305
1305
|
)) };
|
|
1306
1306
|
}
|
|
1307
1307
|
if (state.type === StateType.Ready) {
|
|
1308
1308
|
return { action: ExtensionRuntimeActionType.QuitAndInstall, reason: ( localize(
|
|
1309
|
-
|
|
1309
|
+
3809,
|
|
1310
1310
|
"Please restart {0} to enable the updated extension.",
|
|
1311
1311
|
this.productService.nameLong
|
|
1312
1312
|
)) };
|
|
1313
1313
|
}
|
|
1314
1314
|
return undefined;
|
|
1315
1315
|
}
|
|
1316
|
-
return { action: reloadAction, reason: ( localize(
|
|
1316
|
+
return { action: reloadAction, reason: ( localize(3810, "Please {0} to enable the updated extension.", reloadActionLabel)) };
|
|
1317
1317
|
}
|
|
1318
1318
|
if (this.extensionsServers.length > 1) {
|
|
1319
1319
|
const extensionInOtherServer = this.installed.filter(e => areSameExtensions(e.identifier, extension.identifier) && e.server !== extension.server)[0];
|
|
1320
1320
|
if (extensionInOtherServer) {
|
|
1321
1321
|
if (runningExtensionServer === this.extensionManagementServerService.remoteExtensionManagementServer && this.extensionManifestPropertiesService.prefersExecuteOnUI(extension.local.manifest) && extensionInOtherServer.server === this.extensionManagementServerService.localExtensionManagementServer) {
|
|
1322
|
-
return { action: reloadAction, reason: ( localize(
|
|
1322
|
+
return { action: reloadAction, reason: ( localize(3811, "Please {0} to enable this extension locally.", reloadActionLabel)) };
|
|
1323
1323
|
}
|
|
1324
1324
|
if (runningExtensionServer === this.extensionManagementServerService.localExtensionManagementServer && this.extensionManifestPropertiesService.prefersExecuteOnWorkspace(extension.local.manifest) && extensionInOtherServer.server === this.extensionManagementServerService.remoteExtensionManagementServer) {
|
|
1325
1325
|
return { action: reloadAction, reason: ( localize(
|
|
1326
|
-
|
|
1326
|
+
3812,
|
|
1327
1327
|
"Please {0} to enable this extension in {1}.",
|
|
1328
1328
|
reloadActionLabel,
|
|
1329
1329
|
this.extensionManagementServerService.remoteExtensionManagementServer?.label
|
|
@@ -1335,12 +1335,12 @@ let ExtensionsWorkbenchService = class ExtensionsWorkbenchService extends Dispos
|
|
|
1335
1335
|
else {
|
|
1336
1336
|
if (extension.server === this.extensionManagementServerService.localExtensionManagementServer && runningExtensionServer === this.extensionManagementServerService.remoteExtensionManagementServer) {
|
|
1337
1337
|
if (this.extensionManifestPropertiesService.prefersExecuteOnUI(extension.local.manifest)) {
|
|
1338
|
-
return { action: reloadAction, reason: ( localize(
|
|
1338
|
+
return { action: reloadAction, reason: ( localize(3813, "Please {0} to enable this extension.", reloadActionLabel)) };
|
|
1339
1339
|
}
|
|
1340
1340
|
}
|
|
1341
1341
|
if (extension.server === this.extensionManagementServerService.remoteExtensionManagementServer && runningExtensionServer === this.extensionManagementServerService.localExtensionManagementServer) {
|
|
1342
1342
|
if (this.extensionManifestPropertiesService.prefersExecuteOnWorkspace(extension.local.manifest)) {
|
|
1343
|
-
return { action: reloadAction, reason: ( localize(
|
|
1343
|
+
return { action: reloadAction, reason: ( localize(3813, "Please {0} to enable this extension.", reloadActionLabel)) };
|
|
1344
1344
|
}
|
|
1345
1345
|
}
|
|
1346
1346
|
}
|
|
@@ -1348,20 +1348,20 @@ let ExtensionsWorkbenchService = class ExtensionsWorkbenchService extends Dispos
|
|
|
1348
1348
|
}
|
|
1349
1349
|
else {
|
|
1350
1350
|
if (isSameExtensionRunning) {
|
|
1351
|
-
return { action: reloadAction, reason: ( localize(
|
|
1351
|
+
return { action: reloadAction, reason: ( localize(3814, "Please {0} to disable this extension.", reloadActionLabel)) };
|
|
1352
1352
|
}
|
|
1353
1353
|
}
|
|
1354
1354
|
return undefined;
|
|
1355
1355
|
}
|
|
1356
1356
|
else {
|
|
1357
1357
|
if (isEnabled && !this.extensionService.canAddExtension(toExtensionDescription(extension.local))) {
|
|
1358
|
-
return { action: reloadAction, reason: ( localize(
|
|
1358
|
+
return { action: reloadAction, reason: ( localize(3813, "Please {0} to enable this extension.", reloadActionLabel)) };
|
|
1359
1359
|
}
|
|
1360
1360
|
const otherServer = extension.server ? extension.server === this.extensionManagementServerService.localExtensionManagementServer ? this.extensionManagementServerService.remoteExtensionManagementServer : this.extensionManagementServerService.localExtensionManagementServer : null;
|
|
1361
1361
|
if (otherServer && extension.enablementState === EnablementState.DisabledByExtensionKind) {
|
|
1362
1362
|
const extensionInOtherServer = this.local.filter(e => areSameExtensions(e.identifier, extension.identifier) && e.server === otherServer)[0];
|
|
1363
1363
|
if (extensionInOtherServer && extensionInOtherServer.local && this.extensionEnablementService.isEnabled(extensionInOtherServer.local)) {
|
|
1364
|
-
return { action: reloadAction, reason: ( localize(
|
|
1364
|
+
return { action: reloadAction, reason: ( localize(3813, "Please {0} to enable this extension.", reloadActionLabel)) };
|
|
1365
1365
|
}
|
|
1366
1366
|
}
|
|
1367
1367
|
}
|
|
@@ -1692,7 +1692,7 @@ let ExtensionsWorkbenchService = class ExtensionsWorkbenchService extends Dispos
|
|
|
1692
1692
|
}
|
|
1693
1693
|
}
|
|
1694
1694
|
return ( localize(
|
|
1695
|
-
|
|
1695
|
+
3815,
|
|
1696
1696
|
"The update for {0} extension introduces executable code, which is not present in the currently installed version.",
|
|
1697
1697
|
extension.displayName
|
|
1698
1698
|
));
|
|
@@ -1899,7 +1899,7 @@ let ExtensionsWorkbenchService = class ExtensionsWorkbenchService extends Dispos
|
|
|
1899
1899
|
extension.setExtensionsControlManifest(await this.extensionManagementService.getExtensionsControlManifest());
|
|
1900
1900
|
}
|
|
1901
1901
|
if (extension?.isMalicious) {
|
|
1902
|
-
throw ( (new Error(localize(
|
|
1902
|
+
throw ( (new Error(localize(3816, "This extension is reported to be problematic."))));
|
|
1903
1903
|
}
|
|
1904
1904
|
if (!(installOptions.enable && extension?.local)) {
|
|
1905
1905
|
if (!installable) {
|
|
@@ -1907,7 +1907,7 @@ let ExtensionsWorkbenchService = class ExtensionsWorkbenchService extends Dispos
|
|
|
1907
1907
|
const id = isString(arg) ? arg : arg.identifier.id;
|
|
1908
1908
|
if (installOptions.version) {
|
|
1909
1909
|
throw ( (new Error(localize(
|
|
1910
|
-
|
|
1910
|
+
3817,
|
|
1911
1911
|
"Unable to install extension '{0}' because the requested version '{1}' is not found.",
|
|
1912
1912
|
id,
|
|
1913
1913
|
installOptions.version
|
|
@@ -1915,7 +1915,7 @@ let ExtensionsWorkbenchService = class ExtensionsWorkbenchService extends Dispos
|
|
|
1915
1915
|
}
|
|
1916
1916
|
else {
|
|
1917
1917
|
throw ( (new Error(
|
|
1918
|
-
localize(
|
|
1918
|
+
localize(3818, "Unable to install extension '{0}' because it is not found.", id)
|
|
1919
1919
|
)));
|
|
1920
1920
|
}
|
|
1921
1921
|
}
|
|
@@ -1935,25 +1935,25 @@ let ExtensionsWorkbenchService = class ExtensionsWorkbenchService extends Dispos
|
|
|
1935
1935
|
const buttons = [];
|
|
1936
1936
|
buttons.push({
|
|
1937
1937
|
label: isString(installOptions.justification) || !installOptions.justification.action
|
|
1938
|
-
? ( localize(
|
|
1939
|
-
: ( localize(
|
|
1938
|
+
? ( localize(3819, "&&Install Extension"))
|
|
1939
|
+
: ( localize(3820, "&&Install Extension and {0}", installOptions.justification.action)), run: () => true
|
|
1940
1940
|
});
|
|
1941
1941
|
if (!extension) {
|
|
1942
|
-
buttons.push({ label: ( localize(
|
|
1942
|
+
buttons.push({ label: ( localize(3821, "Open Extension")), run: () => { this.open(extension); return false; } });
|
|
1943
1943
|
}
|
|
1944
1944
|
const result = await this.dialogService.prompt({
|
|
1945
|
-
title: ( localize(
|
|
1945
|
+
title: ( localize(3822, "Install Extension")),
|
|
1946
1946
|
message: extension ? ( localize(
|
|
1947
|
-
|
|
1947
|
+
3823,
|
|
1948
1948
|
"Would you like to install '{0}' extension from '{1}'?",
|
|
1949
1949
|
extension.displayName,
|
|
1950
1950
|
extension.publisherDisplayName
|
|
1951
|
-
)) : ( localize(
|
|
1951
|
+
)) : ( localize(3824, "Would you like to install the extension?")),
|
|
1952
1952
|
detail: isString(installOptions.justification) ? installOptions.justification : installOptions.justification.reason,
|
|
1953
1953
|
cancelButton: true,
|
|
1954
1954
|
buttons,
|
|
1955
1955
|
checkbox: syncCheck ? {
|
|
1956
|
-
label: ( localize(
|
|
1956
|
+
label: ( localize(3825, "Sync this extension")),
|
|
1957
1957
|
checked: true,
|
|
1958
1958
|
} : undefined,
|
|
1959
1959
|
});
|
|
@@ -1977,16 +1977,16 @@ let ExtensionsWorkbenchService = class ExtensionsWorkbenchService extends Dispos
|
|
|
1977
1977
|
}
|
|
1978
1978
|
}
|
|
1979
1979
|
if (!extension) {
|
|
1980
|
-
throw ( (new Error(localize(
|
|
1980
|
+
throw ( (new Error(localize(3826, "Unable to install extension"))));
|
|
1981
1981
|
}
|
|
1982
1982
|
if (installOptions.enable) {
|
|
1983
1983
|
if (extension.enablementState === EnablementState.DisabledWorkspace || extension.enablementState === EnablementState.DisabledGlobally) {
|
|
1984
1984
|
if (installOptions.justification) {
|
|
1985
1985
|
const result = await this.dialogService.confirm({
|
|
1986
|
-
title: ( localize(
|
|
1987
|
-
message: ( localize(
|
|
1986
|
+
title: ( localize(3827, "Enable Extension")),
|
|
1987
|
+
message: ( localize(3828, "Would you like to enable '{0}' extension?", extension.displayName)),
|
|
1988
1988
|
detail: isString(installOptions.justification) ? installOptions.justification : installOptions.justification.reason,
|
|
1989
|
-
primaryButton: isString(installOptions.justification) ? ( localize(
|
|
1989
|
+
primaryButton: isString(installOptions.justification) ? ( localize(3829, "&&Enable Extension")) : ( localize(3830, "&&Enable Extension and {0}", installOptions.justification.action)),
|
|
1990
1990
|
});
|
|
1991
1991
|
if (!result.confirmed) {
|
|
1992
1992
|
throw ( (new CancellationError()));
|
|
@@ -2013,7 +2013,7 @@ let ExtensionsWorkbenchService = class ExtensionsWorkbenchService extends Dispos
|
|
|
2013
2013
|
const targetPlatform = await server.extensionManagementService.getTargetPlatform();
|
|
2014
2014
|
if (!isTargetPlatformCompatible(local.targetPlatform, [local.targetPlatform], targetPlatform)) {
|
|
2015
2015
|
throw ( (new Error(localize(
|
|
2016
|
-
|
|
2016
|
+
3831,
|
|
2017
2017
|
"Can't install '{0}' extension because it is not compatible.",
|
|
2018
2018
|
extension.identifier.id
|
|
2019
2019
|
))));
|
|
@@ -2092,11 +2092,11 @@ let ExtensionsWorkbenchService = class ExtensionsWorkbenchService extends Dispos
|
|
|
2092
2092
|
}
|
|
2093
2093
|
if (dependents.length) {
|
|
2094
2094
|
const { result } = await this.dialogService.prompt({
|
|
2095
|
-
title: ( localize(
|
|
2095
|
+
title: ( localize(3832, "Uninstall Extension with Dependents")),
|
|
2096
2096
|
type: Severity$1.Warning,
|
|
2097
2097
|
message: this.getErrorMessageForUninstallingAnExtensionWithDependents(extension, dependents),
|
|
2098
2098
|
buttons: [{
|
|
2099
|
-
label: ( localize(
|
|
2099
|
+
label: ( localize(3833, "Uninstall All")),
|
|
2100
2100
|
run: () => true
|
|
2101
2101
|
}],
|
|
2102
2102
|
cancelButton: {
|
|
@@ -2109,14 +2109,14 @@ let ExtensionsWorkbenchService = class ExtensionsWorkbenchService extends Dispos
|
|
|
2109
2109
|
}
|
|
2110
2110
|
return this.withProgress({
|
|
2111
2111
|
location: ProgressLocation.Extensions,
|
|
2112
|
-
title: ( localize(
|
|
2112
|
+
title: ( localize(3834, 'Uninstalling extension....')),
|
|
2113
2113
|
source: `${extension.identifier.id}`
|
|
2114
2114
|
}, () => this.extensionManagementService.uninstallExtensions(extensionsToUninstall).then(() => undefined));
|
|
2115
2115
|
}
|
|
2116
2116
|
getErrorMessageForUninstallingAnExtensionWithDependents(extension, dependents) {
|
|
2117
2117
|
if (dependents.length === 1) {
|
|
2118
2118
|
return ( localize(
|
|
2119
|
-
|
|
2119
|
+
3835,
|
|
2120
2120
|
"Cannot uninstall '{0}' extension alone. '{1}' extension depends on this. Do you want to uninstall all these extensions?",
|
|
2121
2121
|
extension.displayName,
|
|
2122
2122
|
dependents[0].displayName
|
|
@@ -2124,7 +2124,7 @@ let ExtensionsWorkbenchService = class ExtensionsWorkbenchService extends Dispos
|
|
|
2124
2124
|
}
|
|
2125
2125
|
if (dependents.length === 2) {
|
|
2126
2126
|
return ( localize(
|
|
2127
|
-
|
|
2127
|
+
3836,
|
|
2128
2128
|
"Cannot uninstall '{0}' extension alone. '{1}' and '{2}' extensions depend on this. Do you want to uninstall all these extensions?",
|
|
2129
2129
|
extension.displayName,
|
|
2130
2130
|
dependents[0].displayName,
|
|
@@ -2132,7 +2132,7 @@ let ExtensionsWorkbenchService = class ExtensionsWorkbenchService extends Dispos
|
|
|
2132
2132
|
));
|
|
2133
2133
|
}
|
|
2134
2134
|
return ( localize(
|
|
2135
|
-
|
|
2135
|
+
3837,
|
|
2136
2136
|
"Cannot uninstall '{0}' extension alone. '{1}', '{2}' and other extensions depend on this. Do you want to uninstall all these extensions?",
|
|
2137
2137
|
extension.displayName,
|
|
2138
2138
|
dependents[0].displayName,
|
|
@@ -2219,7 +2219,7 @@ let ExtensionsWorkbenchService = class ExtensionsWorkbenchService extends Dispos
|
|
|
2219
2219
|
return extension;
|
|
2220
2220
|
}
|
|
2221
2221
|
doInstall(extension, installTask, progressLocation) {
|
|
2222
|
-
const title = extension ? ( localize(
|
|
2222
|
+
const title = extension ? ( localize(3838, "Installing '{0}' extension....", extension.displayName)) : ( localize(3839, 'Installing extension....'));
|
|
2223
2223
|
return this.withProgress({
|
|
2224
2224
|
location: progressLocation ?? ProgressLocation.Extensions,
|
|
2225
2225
|
title
|
|
@@ -2319,11 +2319,11 @@ let ExtensionsWorkbenchService = class ExtensionsWorkbenchService extends Dispos
|
|
|
2319
2319
|
const dependents = this.getDependentsAfterDisablement(extension, allExtensions, this.local);
|
|
2320
2320
|
if (dependents.length) {
|
|
2321
2321
|
const { result } = await this.dialogService.prompt({
|
|
2322
|
-
title: ( localize(
|
|
2322
|
+
title: ( localize(3840, "Disable Extension with Dependents")),
|
|
2323
2323
|
type: Severity$1.Warning,
|
|
2324
2324
|
message: this.getDependentsErrorMessageForDisablement(extension, allExtensions, dependents),
|
|
2325
2325
|
buttons: [{
|
|
2326
|
-
label: ( localize(
|
|
2326
|
+
label: ( localize(3841, 'Disable All')),
|
|
2327
2327
|
run: () => true
|
|
2328
2328
|
}],
|
|
2329
2329
|
cancelButton: {
|
|
@@ -2401,7 +2401,7 @@ let ExtensionsWorkbenchService = class ExtensionsWorkbenchService extends Dispos
|
|
|
2401
2401
|
getErrorMessageForDisablingAnExtensionWithDependents(extension, dependents) {
|
|
2402
2402
|
if (dependents.length === 1) {
|
|
2403
2403
|
return ( localize(
|
|
2404
|
-
|
|
2404
|
+
3842,
|
|
2405
2405
|
"Cannot disable '{0}' extension alone. '{1}' extension depends on this. Do you want to disable all these extensions?",
|
|
2406
2406
|
extension.displayName,
|
|
2407
2407
|
dependents[0].displayName
|
|
@@ -2409,7 +2409,7 @@ let ExtensionsWorkbenchService = class ExtensionsWorkbenchService extends Dispos
|
|
|
2409
2409
|
}
|
|
2410
2410
|
if (dependents.length === 2) {
|
|
2411
2411
|
return ( localize(
|
|
2412
|
-
|
|
2412
|
+
3843,
|
|
2413
2413
|
"Cannot disable '{0}' extension alone. '{1}' and '{2}' extensions depend on this. Do you want to disable all these extensions?",
|
|
2414
2414
|
extension.displayName,
|
|
2415
2415
|
dependents[0].displayName,
|
|
@@ -2417,7 +2417,7 @@ let ExtensionsWorkbenchService = class ExtensionsWorkbenchService extends Dispos
|
|
|
2417
2417
|
));
|
|
2418
2418
|
}
|
|
2419
2419
|
return ( localize(
|
|
2420
|
-
|
|
2420
|
+
3844,
|
|
2421
2421
|
"Cannot disable '{0}' extension alone. '{1}', '{2}' and other extensions depend on this. Do you want to disable all these extensions?",
|
|
2422
2422
|
extension.displayName,
|
|
2423
2423
|
dependents[0].displayName,
|
package/vscode/src/vs/workbench/services/extensionManagement/browser/webExtensionsScannerService.js
CHANGED
|
@@ -606,7 +606,7 @@ let WebExtensionsScannerService = class WebExtensionsScannerService extends Disp
|
|
|
606
606
|
}
|
|
607
607
|
if (!this.extensionManifestPropertiesService.canExecuteOnWeb(manifest)) {
|
|
608
608
|
throw ( (new Error(localize(
|
|
609
|
-
|
|
609
|
+
3845,
|
|
610
610
|
"Cannot add '{0}' because this extension is not a web extension.",
|
|
611
611
|
manifest.displayName || manifest.name
|
|
612
612
|
))));
|
|
@@ -889,7 +889,7 @@ if (isWeb) {
|
|
|
889
889
|
constructor() {
|
|
890
890
|
super({
|
|
891
891
|
id: 'workbench.extensions.action.openInstalledWebExtensionsResource',
|
|
892
|
-
title: ( localize2(
|
|
892
|
+
title: ( localize2(3846, 'Open Installed Web Extensions Resource')),
|
|
893
893
|
category: Categories.Developer,
|
|
894
894
|
f1: true,
|
|
895
895
|
precondition: IsWebContext
|