@codingame/monaco-vscode-extension-gallery-service-override 9.0.2 → 9.0.3
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/platform/extensionManagement/common/abstractExtensionManagementService.js +13 -13
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensions.contribution.js +135 -135
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensions.web.contribution.js +1 -1
- package/vscode/src/vs/workbench/services/extensionManagement/browser/extensionEnablementService.js +11 -11
- package/vscode/src/vs/workbench/services/extensions/browser/extensionUrlHandler.js +10 -10
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codingame/monaco-vscode-extension-gallery-service-override",
|
|
3
|
-
"version": "9.0.
|
|
3
|
+
"version": "9.0.3",
|
|
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@9.0.
|
|
29
|
+
"vscode": "npm:@codingame/monaco-vscode-api@9.0.3"
|
|
30
30
|
}
|
|
31
31
|
}
|
package/vscode/src/vs/platform/extensionManagement/common/abstractExtensionManagementService.js
CHANGED
|
@@ -81,7 +81,7 @@ let AbstractExtensionManagementService = class AbstractExtensionManagementServic
|
|
|
81
81
|
async installGalleryExtensions(extensions) {
|
|
82
82
|
if (!this.galleryService.isEnabled()) {
|
|
83
83
|
throw ( (new ExtensionManagementError(
|
|
84
|
-
localize(
|
|
84
|
+
localize(11163, "Marketplace is not enabled"),
|
|
85
85
|
ExtensionManagementErrorCode.NotAllowed
|
|
86
86
|
)));
|
|
87
87
|
}
|
|
@@ -472,7 +472,7 @@ let AbstractExtensionManagementService = class AbstractExtensionManagementServic
|
|
|
472
472
|
const extensionsControlManifest = await this.getExtensionsControlManifest();
|
|
473
473
|
if (( (extensionsControlManifest.malicious.some(identifier => areSameExtensions(extension.identifier, identifier))))) {
|
|
474
474
|
throw ( (new ExtensionManagementError(localize(
|
|
475
|
-
|
|
475
|
+
11164,
|
|
476
476
|
"Can't install '{0}' extension since it was reported to be problematic.",
|
|
477
477
|
extension.identifier.id
|
|
478
478
|
), ExtensionManagementErrorCode.Malicious)));
|
|
@@ -483,7 +483,7 @@ let AbstractExtensionManagementService = class AbstractExtensionManagementServic
|
|
|
483
483
|
compatibleExtension = (await this.galleryService.getExtensions([{ id: deprecationInfo.extension.id, preRelease: deprecationInfo.extension.preRelease }], { targetPlatform: await this.getTargetPlatform(), compatible: true, productVersion }, CancellationToken.None))[0];
|
|
484
484
|
if (!compatibleExtension) {
|
|
485
485
|
throw ( (new ExtensionManagementError(localize(
|
|
486
|
-
|
|
486
|
+
11165,
|
|
487
487
|
"Can't install '{0}' extension since it was deprecated and the replacement extension '{1}' can't be found.",
|
|
488
488
|
extension.identifier.id,
|
|
489
489
|
deprecationInfo.extension.id
|
|
@@ -494,7 +494,7 @@ let AbstractExtensionManagementService = class AbstractExtensionManagementServic
|
|
|
494
494
|
if (!(await this.canInstall(extension))) {
|
|
495
495
|
const targetPlatform = await this.getTargetPlatform();
|
|
496
496
|
throw ( (new ExtensionManagementError(localize(
|
|
497
|
-
|
|
497
|
+
11166,
|
|
498
498
|
"The '{0}' extension is not available in {1} for {2}.",
|
|
499
499
|
extension.identifier.id,
|
|
500
500
|
this.productService.nameLong,
|
|
@@ -506,7 +506,7 @@ let AbstractExtensionManagementService = class AbstractExtensionManagementServic
|
|
|
506
506
|
const incompatibleApiProposalsMessages = [];
|
|
507
507
|
if (!areApiProposalsCompatible(extension.properties.enabledApiProposals ?? [], incompatibleApiProposalsMessages)) {
|
|
508
508
|
throw ( (new ExtensionManagementError(localize(
|
|
509
|
-
|
|
509
|
+
11167,
|
|
510
510
|
"Can't install '{0}' extension. {1}",
|
|
511
511
|
extension.displayName ?? extension.identifier.id,
|
|
512
512
|
incompatibleApiProposalsMessages[0]
|
|
@@ -514,13 +514,13 @@ let AbstractExtensionManagementService = class AbstractExtensionManagementServic
|
|
|
514
514
|
}
|
|
515
515
|
if (!installPreRelease && extension.properties.isPreReleaseVersion && (await this.galleryService.getExtensions([extension.identifier], CancellationToken.None))[0]) {
|
|
516
516
|
throw ( (new ExtensionManagementError(localize(
|
|
517
|
-
|
|
517
|
+
11168,
|
|
518
518
|
"Can't install release version of '{0}' extension because it has no release version.",
|
|
519
519
|
extension.displayName ?? extension.identifier.id
|
|
520
520
|
), ExtensionManagementErrorCode.ReleaseVersionNotFound)));
|
|
521
521
|
}
|
|
522
522
|
throw ( (new ExtensionManagementError(localize(
|
|
523
|
-
|
|
523
|
+
11169,
|
|
524
524
|
"Can't install '{0}' extension because it is not compatible with the current version of {1} (version {2}).",
|
|
525
525
|
extension.identifier.id,
|
|
526
526
|
this.productService.nameLong,
|
|
@@ -694,7 +694,7 @@ let AbstractExtensionManagementService = class AbstractExtensionManagementServic
|
|
|
694
694
|
if (extensionToUninstall === dependingExtension) {
|
|
695
695
|
if (dependents.length === 1) {
|
|
696
696
|
return ( localize(
|
|
697
|
-
|
|
697
|
+
11170,
|
|
698
698
|
"Cannot uninstall '{0}' extension. '{1}' extension depends on this.",
|
|
699
699
|
extensionToUninstall.manifest.displayName || extensionToUninstall.manifest.name,
|
|
700
700
|
dependents[0].manifest.displayName || dependents[0].manifest.name
|
|
@@ -702,7 +702,7 @@ let AbstractExtensionManagementService = class AbstractExtensionManagementServic
|
|
|
702
702
|
}
|
|
703
703
|
if (dependents.length === 2) {
|
|
704
704
|
return ( localize(
|
|
705
|
-
|
|
705
|
+
11171,
|
|
706
706
|
"Cannot uninstall '{0}' extension. '{1}' and '{2}' extensions depend on this.",
|
|
707
707
|
extensionToUninstall.manifest.displayName || extensionToUninstall.manifest.name,
|
|
708
708
|
dependents[0].manifest.displayName || dependents[0].manifest.name,
|
|
@@ -710,7 +710,7 @@ let AbstractExtensionManagementService = class AbstractExtensionManagementServic
|
|
|
710
710
|
));
|
|
711
711
|
}
|
|
712
712
|
return ( localize(
|
|
713
|
-
|
|
713
|
+
11172,
|
|
714
714
|
"Cannot uninstall '{0}' extension. '{1}', '{2}' and other extension depend on this.",
|
|
715
715
|
extensionToUninstall.manifest.displayName || extensionToUninstall.manifest.name,
|
|
716
716
|
dependents[0].manifest.displayName || dependents[0].manifest.name,
|
|
@@ -719,7 +719,7 @@ let AbstractExtensionManagementService = class AbstractExtensionManagementServic
|
|
|
719
719
|
}
|
|
720
720
|
if (dependents.length === 1) {
|
|
721
721
|
return ( localize(
|
|
722
|
-
|
|
722
|
+
11173,
|
|
723
723
|
"Cannot uninstall '{0}' extension . It includes uninstalling '{1}' extension and '{2}' extension depends on this.",
|
|
724
724
|
extensionToUninstall.manifest.displayName || extensionToUninstall.manifest.name,
|
|
725
725
|
dependingExtension.manifest.displayName
|
|
@@ -729,7 +729,7 @@ let AbstractExtensionManagementService = class AbstractExtensionManagementServic
|
|
|
729
729
|
}
|
|
730
730
|
if (dependents.length === 2) {
|
|
731
731
|
return ( localize(
|
|
732
|
-
|
|
732
|
+
11174,
|
|
733
733
|
"Cannot uninstall '{0}' extension. It includes uninstalling '{1}' extension and '{2}' and '{3}' extensions depend on this.",
|
|
734
734
|
extensionToUninstall.manifest.displayName || extensionToUninstall.manifest.name,
|
|
735
735
|
dependingExtension.manifest.displayName
|
|
@@ -739,7 +739,7 @@ let AbstractExtensionManagementService = class AbstractExtensionManagementServic
|
|
|
739
739
|
));
|
|
740
740
|
}
|
|
741
741
|
return ( localize(
|
|
742
|
-
|
|
742
|
+
11175,
|
|
743
743
|
"Cannot uninstall '{0}' extension. It includes uninstalling '{1}' extension and '{2}', '{3}' and other extensions depend on this.",
|
|
744
744
|
extensionToUninstall.manifest.displayName || extensionToUninstall.manifest.name,
|
|
745
745
|
dependingExtension.manifest.displayName
|
|
@@ -80,18 +80,18 @@ import Severity$1 from 'vscode/vscode/vs/base/common/severity';
|
|
|
80
80
|
( (Registry.as(Extensions.Quickaccess))).registerQuickAccessProvider({
|
|
81
81
|
ctor: ManageExtensionsQuickAccessProvider,
|
|
82
82
|
prefix: ManageExtensionsQuickAccessProvider.PREFIX,
|
|
83
|
-
placeholder: ( localize(
|
|
84
|
-
helpEntries: [{ description: ( localize(
|
|
83
|
+
placeholder: ( localize(3880, "Press Enter to manage extensions.")),
|
|
84
|
+
helpEntries: [{ description: ( localize(3881, "Manage Extensions")) }]
|
|
85
85
|
});
|
|
86
|
-
( (Registry.as(EditorExtensions.EditorPane))).registerEditorPane(EditorPaneDescriptor.create(ExtensionEditor, ExtensionEditor.ID, ( localize(
|
|
86
|
+
( (Registry.as(EditorExtensions.EditorPane))).registerEditorPane(EditorPaneDescriptor.create(ExtensionEditor, ExtensionEditor.ID, ( localize(3882, "Extension"))), [
|
|
87
87
|
( (new SyncDescriptor(ExtensionsInput)))
|
|
88
88
|
]);
|
|
89
89
|
( (Registry.as(Extensions$1.ViewContainersRegistry))).registerViewContainer({
|
|
90
90
|
id: VIEWLET_ID,
|
|
91
|
-
title: ( localize2(
|
|
91
|
+
title: ( localize2(3883, "Extensions")),
|
|
92
92
|
openCommandActionDescriptor: {
|
|
93
93
|
id: VIEWLET_ID,
|
|
94
|
-
mnemonicTitle: ( localize(
|
|
94
|
+
mnemonicTitle: ( localize(3884, "E&&xtensions")),
|
|
95
95
|
keybindings: { primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.KeyX },
|
|
96
96
|
order: 4,
|
|
97
97
|
},
|
|
@@ -108,20 +108,20 @@ import Severity$1 from 'vscode/vscode/vs/base/common/severity';
|
|
|
108
108
|
'extensions.autoUpdate': {
|
|
109
109
|
enum: [true, 'onlyEnabledExtensions', false,],
|
|
110
110
|
enumItemLabels: [
|
|
111
|
-
( localize(
|
|
112
|
-
( localize(
|
|
113
|
-
( localize(
|
|
111
|
+
( localize(3885, "All Extensions")),
|
|
112
|
+
( localize(3886, "Only Enabled Extensions")),
|
|
113
|
+
( localize(3887, "None")),
|
|
114
114
|
],
|
|
115
115
|
enumDescriptions: [
|
|
116
|
-
( localize(
|
|
116
|
+
( localize(3888, 'Download and install updates automatically for all extensions.')),
|
|
117
117
|
( localize(
|
|
118
|
-
|
|
118
|
+
3889,
|
|
119
119
|
'Download and install updates automatically only for enabled extensions.'
|
|
120
120
|
)),
|
|
121
|
-
( localize(
|
|
121
|
+
( localize(3890, 'Extensions are not automatically updated.')),
|
|
122
122
|
],
|
|
123
123
|
description: ( localize(
|
|
124
|
-
|
|
124
|
+
3891,
|
|
125
125
|
"Controls the automatic update behavior of extensions. The updates are fetched from a Microsoft online service."
|
|
126
126
|
)),
|
|
127
127
|
default: true,
|
|
@@ -131,7 +131,7 @@ import Severity$1 from 'vscode/vscode/vs/base/common/severity';
|
|
|
131
131
|
'extensions.autoCheckUpdates': {
|
|
132
132
|
type: 'boolean',
|
|
133
133
|
description: ( localize(
|
|
134
|
-
|
|
134
|
+
3892,
|
|
135
135
|
"When enabled, automatically checks extensions for updates. If an extension has an update, it is marked as outdated in the Extensions view. The updates are fetched from a Microsoft online service."
|
|
136
136
|
)),
|
|
137
137
|
default: true,
|
|
@@ -141,7 +141,7 @@ import Severity$1 from 'vscode/vscode/vs/base/common/severity';
|
|
|
141
141
|
'extensions.ignoreRecommendations': {
|
|
142
142
|
type: 'boolean',
|
|
143
143
|
description: ( localize(
|
|
144
|
-
|
|
144
|
+
3893,
|
|
145
145
|
"When enabled, the notifications for extension recommendations will not be shown."
|
|
146
146
|
)),
|
|
147
147
|
default: false
|
|
@@ -149,7 +149,7 @@ import Severity$1 from 'vscode/vscode/vs/base/common/severity';
|
|
|
149
149
|
'extensions.showRecommendationsOnlyOnDemand': {
|
|
150
150
|
type: 'boolean',
|
|
151
151
|
deprecationMessage: ( localize(
|
|
152
|
-
|
|
152
|
+
3894,
|
|
153
153
|
"This setting is deprecated. Use extensions.ignoreRecommendations setting to control recommendation notifications. Use Extensions view's visibility actions to hide Recommended view by default."
|
|
154
154
|
)),
|
|
155
155
|
default: false,
|
|
@@ -158,7 +158,7 @@ import Severity$1 from 'vscode/vscode/vs/base/common/severity';
|
|
|
158
158
|
'extensions.closeExtensionDetailsOnViewChange': {
|
|
159
159
|
type: 'boolean',
|
|
160
160
|
description: ( localize(
|
|
161
|
-
|
|
161
|
+
3895,
|
|
162
162
|
"When enabled, editors with extension details will be automatically closed upon navigating away from the Extensions View."
|
|
163
163
|
)),
|
|
164
164
|
default: false
|
|
@@ -169,7 +169,7 @@ import Severity$1 from 'vscode/vscode/vs/base/common/severity';
|
|
|
169
169
|
type: 'string'
|
|
170
170
|
},
|
|
171
171
|
description: ( localize(
|
|
172
|
-
|
|
172
|
+
3896,
|
|
173
173
|
"When an extension is listed here, a confirmation prompt will not be shown when that extension handles a URI."
|
|
174
174
|
)),
|
|
175
175
|
default: [],
|
|
@@ -179,19 +179,19 @@ import Severity$1 from 'vscode/vscode/vs/base/common/severity';
|
|
|
179
179
|
type: ['boolean', 'string'],
|
|
180
180
|
enum: [true, false, 'auto'],
|
|
181
181
|
enumDescriptions: [
|
|
182
|
-
( localize(
|
|
183
|
-
( localize(
|
|
182
|
+
( localize(3897, "The Web Worker Extension Host will always be launched.")),
|
|
183
|
+
( localize(3898, "The Web Worker Extension Host will never be launched.")),
|
|
184
184
|
( localize(
|
|
185
|
-
|
|
185
|
+
3899,
|
|
186
186
|
"The Web Worker Extension Host will be launched when a web extension needs it."
|
|
187
187
|
)),
|
|
188
188
|
],
|
|
189
|
-
description: ( localize(
|
|
189
|
+
description: ( localize(3900, "Enable web worker extension host.")),
|
|
190
190
|
default: 'auto'
|
|
191
191
|
},
|
|
192
192
|
'extensions.supportVirtualWorkspaces': {
|
|
193
193
|
type: 'object',
|
|
194
|
-
markdownDescription: ( localize(
|
|
194
|
+
markdownDescription: ( localize(3901, "Override the virtual workspaces support of an extension.")),
|
|
195
195
|
patternProperties: {
|
|
196
196
|
'([a-z0-9A-Z][a-z0-9-A-Z]*)\\.([a-z0-9A-Z][a-z0-9-A-Z]*)$': {
|
|
197
197
|
type: 'boolean',
|
|
@@ -209,7 +209,7 @@ import Severity$1 from 'vscode/vscode/vs/base/common/severity';
|
|
|
209
209
|
'extensions.experimental.affinity': {
|
|
210
210
|
type: 'object',
|
|
211
211
|
markdownDescription: ( localize(
|
|
212
|
-
|
|
212
|
+
3902,
|
|
213
213
|
"Configure an extension to execute in a different extension host process."
|
|
214
214
|
)),
|
|
215
215
|
patternProperties: {
|
|
@@ -230,7 +230,7 @@ import Severity$1 from 'vscode/vscode/vs/base/common/severity';
|
|
|
230
230
|
type: 'object',
|
|
231
231
|
scope: ConfigurationScope.APPLICATION,
|
|
232
232
|
markdownDescription: ( localize(
|
|
233
|
-
|
|
233
|
+
3903,
|
|
234
234
|
"Override the untrusted workspace support of an extension. Extensions using `true` will always be enabled. Extensions using `limited` will always be enabled, and the extension will hide functionality that requires trust. Extensions using `false` will only be enabled only when the workspace is trusted."
|
|
235
235
|
)),
|
|
236
236
|
patternProperties: {
|
|
@@ -241,19 +241,19 @@ import Severity$1 from 'vscode/vscode/vs/base/common/severity';
|
|
|
241
241
|
type: ['boolean', 'string'],
|
|
242
242
|
enum: [true, false, 'limited'],
|
|
243
243
|
enumDescriptions: [
|
|
244
|
-
( localize(
|
|
245
|
-
( localize(
|
|
244
|
+
( localize(3904, "Extension will always be enabled.")),
|
|
245
|
+
( localize(3905, "Extension will only be enabled only when the workspace is trusted.")),
|
|
246
246
|
( localize(
|
|
247
|
-
|
|
247
|
+
3906,
|
|
248
248
|
"Extension will always be enabled, and the extension will hide functionality requiring trust."
|
|
249
249
|
)),
|
|
250
250
|
],
|
|
251
|
-
description: ( localize(
|
|
251
|
+
description: ( localize(3907, "Defines the untrusted workspace support setting for the extension.")),
|
|
252
252
|
},
|
|
253
253
|
'version': {
|
|
254
254
|
type: 'string',
|
|
255
255
|
description: ( localize(
|
|
256
|
-
|
|
256
|
+
3908,
|
|
257
257
|
"Defines the version of the extension for which the override should be applied. If not specified, the override will be applied independent of the extension version."
|
|
258
258
|
)),
|
|
259
259
|
}
|
|
@@ -264,7 +264,7 @@ import Severity$1 from 'vscode/vscode/vs/base/common/severity';
|
|
|
264
264
|
'extensions.experimental.deferredStartupFinishedActivation': {
|
|
265
265
|
type: 'boolean',
|
|
266
266
|
description: ( localize(
|
|
267
|
-
|
|
267
|
+
3909,
|
|
268
268
|
"When enabled, extensions which declare the `onStartupFinished` activation event will be activated after a timeout."
|
|
269
269
|
)),
|
|
270
270
|
default: false
|
|
@@ -272,7 +272,7 @@ import Severity$1 from 'vscode/vscode/vs/base/common/severity';
|
|
|
272
272
|
'extensions.experimental.issueQuickAccess': {
|
|
273
273
|
type: 'boolean',
|
|
274
274
|
description: ( localize(
|
|
275
|
-
|
|
275
|
+
3910,
|
|
276
276
|
"When enabled, extensions can be searched for via Quick Access and report issues from there."
|
|
277
277
|
)),
|
|
278
278
|
default: true
|
|
@@ -288,7 +288,7 @@ CommandsRegistry.registerCommand('_extensions.manage', (accessor, extensionId, t
|
|
|
288
288
|
extensionService.open(extension, { tab, preserveFocus, feature });
|
|
289
289
|
}
|
|
290
290
|
else {
|
|
291
|
-
throw ( (new Error(localize(
|
|
291
|
+
throw ( (new Error(localize(3911, "Extension '{0}' not found.", extensionId))));
|
|
292
292
|
}
|
|
293
293
|
});
|
|
294
294
|
CommandsRegistry.registerCommand('extension.open', async (accessor, extensionId, tab, preserveFocus, feature, sideByside) => {
|
|
@@ -303,11 +303,11 @@ CommandsRegistry.registerCommand('extension.open', async (accessor, extensionId,
|
|
|
303
303
|
CommandsRegistry.registerCommand({
|
|
304
304
|
id: 'workbench.extensions.installExtension',
|
|
305
305
|
metadata: {
|
|
306
|
-
description: ( localize(
|
|
306
|
+
description: ( localize(3912, "Install the given extension")),
|
|
307
307
|
args: [
|
|
308
308
|
{
|
|
309
309
|
name: 'extensionIdOrVSIXUri',
|
|
310
|
-
description: ( localize(
|
|
310
|
+
description: ( localize(3913, "Extension id or VSIX resource uri")),
|
|
311
311
|
constraint: (value) => typeof value === 'string' || value instanceof URI,
|
|
312
312
|
},
|
|
313
313
|
{
|
|
@@ -321,7 +321,7 @@ CommandsRegistry.registerCommand({
|
|
|
321
321
|
'installOnlyNewlyAddedFromExtensionPackVSIX': {
|
|
322
322
|
'type': 'boolean',
|
|
323
323
|
'description': ( localize(
|
|
324
|
-
|
|
324
|
+
3914,
|
|
325
325
|
"When enabled, VS Code installs only newly added extensions from the extension pack VSIX. This option is considered only while installing a VSIX."
|
|
326
326
|
)),
|
|
327
327
|
default: false
|
|
@@ -329,7 +329,7 @@ CommandsRegistry.registerCommand({
|
|
|
329
329
|
'installPreReleaseVersion': {
|
|
330
330
|
'type': 'boolean',
|
|
331
331
|
'description': ( localize(
|
|
332
|
-
|
|
332
|
+
3915,
|
|
333
333
|
"When enabled, VS Code installs the pre-release version of the extension if available."
|
|
334
334
|
)),
|
|
335
335
|
default: false
|
|
@@ -337,7 +337,7 @@ CommandsRegistry.registerCommand({
|
|
|
337
337
|
'donotSync': {
|
|
338
338
|
'type': 'boolean',
|
|
339
339
|
'description': ( localize(
|
|
340
|
-
|
|
340
|
+
3916,
|
|
341
341
|
"When enabled, VS Code do not sync this extension when Settings Sync is on."
|
|
342
342
|
)),
|
|
343
343
|
default: false
|
|
@@ -345,14 +345,14 @@ CommandsRegistry.registerCommand({
|
|
|
345
345
|
'justification': {
|
|
346
346
|
'type': ['string', 'object'],
|
|
347
347
|
'description': ( localize(
|
|
348
|
-
|
|
348
|
+
3917,
|
|
349
349
|
"Justification for installing the extension. This is a string or an object that can be used to pass any information to the installation handlers. i.e. `{reason: 'This extension wants to open a URI', action: 'Open URI'}` will show a message box with the reason and action upon install."
|
|
350
350
|
)),
|
|
351
351
|
},
|
|
352
352
|
'enable': {
|
|
353
353
|
'type': 'boolean',
|
|
354
354
|
'description': ( localize(
|
|
355
|
-
|
|
355
|
+
3918,
|
|
356
356
|
"When enabled, the extension will be enabled if it is installed but disabled. If the extension is already enabled, this has no effect."
|
|
357
357
|
)),
|
|
358
358
|
default: false
|
|
@@ -360,7 +360,7 @@ CommandsRegistry.registerCommand({
|
|
|
360
360
|
'context': {
|
|
361
361
|
'type': 'object',
|
|
362
362
|
'description': ( localize(
|
|
363
|
-
|
|
363
|
+
3919,
|
|
364
364
|
"Context for the installation. This is a JSON object that can be used to pass any information to the installation handlers. i.e. `{skipWalkthrough: true}` will skip opening the walkthrough upon install."
|
|
365
365
|
)),
|
|
366
366
|
}
|
|
@@ -380,7 +380,7 @@ CommandsRegistry.registerCommand({
|
|
|
380
380
|
if (extension?.enablementState === EnablementState.DisabledByExtensionKind) {
|
|
381
381
|
const [gallery] = await extensionGalleryService.getExtensions([{ id, preRelease: options?.installPreReleaseVersion }], CancellationToken.None);
|
|
382
382
|
if (!gallery) {
|
|
383
|
-
throw ( (new Error(localize(
|
|
383
|
+
throw ( (new Error(localize(3911, "Extension '{0}' not found.", arg))));
|
|
384
384
|
}
|
|
385
385
|
await extensionManagementService.installFromGallery(gallery, {
|
|
386
386
|
isMachineScoped: options?.donotSync ? true : undefined,
|
|
@@ -414,10 +414,10 @@ CommandsRegistry.registerCommand({
|
|
|
414
414
|
CommandsRegistry.registerCommand({
|
|
415
415
|
id: 'workbench.extensions.uninstallExtension',
|
|
416
416
|
metadata: {
|
|
417
|
-
description: ( localize(
|
|
417
|
+
description: ( localize(3920, "Uninstall the given extension")),
|
|
418
418
|
args: [
|
|
419
419
|
{
|
|
420
|
-
name: ( localize(
|
|
420
|
+
name: ( localize(3921, "Id of the extension to uninstall")),
|
|
421
421
|
schema: {
|
|
422
422
|
'type': 'string'
|
|
423
423
|
}
|
|
@@ -426,21 +426,21 @@ CommandsRegistry.registerCommand({
|
|
|
426
426
|
},
|
|
427
427
|
handler: async (accessor, id) => {
|
|
428
428
|
if (!id) {
|
|
429
|
-
throw ( (new Error(localize(
|
|
429
|
+
throw ( (new Error(localize(3922, "Extension id required."))));
|
|
430
430
|
}
|
|
431
431
|
const extensionManagementService = accessor.get(IExtensionManagementService);
|
|
432
432
|
const installed = await extensionManagementService.getInstalled();
|
|
433
433
|
const [extensionToUninstall] = installed.filter(e => areSameExtensions(e.identifier, { id }));
|
|
434
434
|
if (!extensionToUninstall) {
|
|
435
435
|
throw ( (new Error(localize(
|
|
436
|
-
|
|
436
|
+
3923,
|
|
437
437
|
"Extension '{0}' is not installed. Make sure you use the full extension ID, including the publisher, e.g.: ms-dotnettools.csharp.",
|
|
438
438
|
id
|
|
439
439
|
))));
|
|
440
440
|
}
|
|
441
441
|
if (extensionToUninstall.isBuiltin) {
|
|
442
442
|
throw ( (new Error(localize(
|
|
443
|
-
|
|
443
|
+
3924,
|
|
444
444
|
"Extension '{0}' is a Built-in extension and cannot be installed",
|
|
445
445
|
id
|
|
446
446
|
))));
|
|
@@ -457,10 +457,10 @@ CommandsRegistry.registerCommand({
|
|
|
457
457
|
CommandsRegistry.registerCommand({
|
|
458
458
|
id: 'workbench.extensions.search',
|
|
459
459
|
metadata: {
|
|
460
|
-
description: ( localize(
|
|
460
|
+
description: ( localize(3925, "Search for a specific extension")),
|
|
461
461
|
args: [
|
|
462
462
|
{
|
|
463
|
-
name: ( localize(
|
|
463
|
+
name: ( localize(3926, "Query to use in search")),
|
|
464
464
|
schema: { 'type': 'string' }
|
|
465
465
|
}
|
|
466
466
|
]
|
|
@@ -541,8 +541,8 @@ let ExtensionsContributions = class ExtensionsContributions extends Disposable {
|
|
|
541
541
|
( (Registry.as(Extensions.Quickaccess))).registerQuickAccessProvider({
|
|
542
542
|
ctor: InstallExtensionQuickAccessProvider,
|
|
543
543
|
prefix: InstallExtensionQuickAccessProvider.PREFIX,
|
|
544
|
-
placeholder: ( localize(
|
|
545
|
-
helpEntries: [{ description: ( localize(
|
|
544
|
+
placeholder: ( localize(3927, "Type the name of an extension to install or search.")),
|
|
545
|
+
helpEntries: [{ description: ( localize(3928, "Install or Search Extensions")) }]
|
|
546
546
|
});
|
|
547
547
|
}
|
|
548
548
|
}
|
|
@@ -550,7 +550,7 @@ let ExtensionsContributions = class ExtensionsContributions extends Disposable {
|
|
|
550
550
|
this._register(MenuRegistry.appendMenuItem(MenuId.MenubarPreferencesMenu, {
|
|
551
551
|
command: {
|
|
552
552
|
id: VIEWLET_ID,
|
|
553
|
-
title: ( localize(
|
|
553
|
+
title: ( localize(3929, "&&Extensions"))
|
|
554
554
|
},
|
|
555
555
|
group: '2_configuration',
|
|
556
556
|
order: 3
|
|
@@ -558,14 +558,14 @@ let ExtensionsContributions = class ExtensionsContributions extends Disposable {
|
|
|
558
558
|
this._register(MenuRegistry.appendMenuItem(MenuId.GlobalActivity, {
|
|
559
559
|
command: {
|
|
560
560
|
id: VIEWLET_ID,
|
|
561
|
-
title: ( localize(
|
|
561
|
+
title: ( localize(3930, "Extensions"))
|
|
562
562
|
},
|
|
563
563
|
group: '2_configuration',
|
|
564
564
|
order: 3
|
|
565
565
|
}));
|
|
566
566
|
this.registerExtensionAction({
|
|
567
567
|
id: 'workbench.extensions.action.focusExtensionsView',
|
|
568
|
-
title: ( localize2(
|
|
568
|
+
title: ( localize2(3931, 'Focus on Extensions View')),
|
|
569
569
|
category: ExtensionsLocalizedLabel,
|
|
570
570
|
f1: true,
|
|
571
571
|
run: async (accessor) => {
|
|
@@ -574,7 +574,7 @@ let ExtensionsContributions = class ExtensionsContributions extends Disposable {
|
|
|
574
574
|
});
|
|
575
575
|
this.registerExtensionAction({
|
|
576
576
|
id: 'workbench.extensions.action.installExtensions',
|
|
577
|
-
title: ( localize2(
|
|
577
|
+
title: ( localize2(3932, 'Install Extensions')),
|
|
578
578
|
category: ExtensionsLocalizedLabel,
|
|
579
579
|
menu: {
|
|
580
580
|
id: MenuId.CommandPalette,
|
|
@@ -590,7 +590,7 @@ let ExtensionsContributions = class ExtensionsContributions extends Disposable {
|
|
|
590
590
|
});
|
|
591
591
|
this.registerExtensionAction({
|
|
592
592
|
id: 'workbench.extensions.action.showRecommendedKeymapExtensions',
|
|
593
|
-
title: ( localize2(
|
|
593
|
+
title: ( localize2(3933, 'Keymaps')),
|
|
594
594
|
category: PreferencesLocalizedLabel,
|
|
595
595
|
menu: [{
|
|
596
596
|
id: MenuId.CommandPalette,
|
|
@@ -601,13 +601,13 @@ let ExtensionsContributions = class ExtensionsContributions extends Disposable {
|
|
|
601
601
|
group: '2_keyboard_discover_actions'
|
|
602
602
|
}],
|
|
603
603
|
menuTitles: {
|
|
604
|
-
[MenuId.EditorTitle.id]: ( localize(
|
|
604
|
+
[MenuId.EditorTitle.id]: ( localize(3934, "Migrate Keyboard Shortcuts from..."))
|
|
605
605
|
},
|
|
606
606
|
run: () => runAction(this.instantiationService.createInstance(SearchExtensionsAction, '@recommended:keymaps '))
|
|
607
607
|
});
|
|
608
608
|
this.registerExtensionAction({
|
|
609
609
|
id: 'workbench.extensions.action.showLanguageExtensions',
|
|
610
|
-
title: ( localize2(
|
|
610
|
+
title: ( localize2(3935, 'Language Extensions')),
|
|
611
611
|
category: PreferencesLocalizedLabel,
|
|
612
612
|
menu: {
|
|
613
613
|
id: MenuId.CommandPalette,
|
|
@@ -617,7 +617,7 @@ let ExtensionsContributions = class ExtensionsContributions extends Disposable {
|
|
|
617
617
|
});
|
|
618
618
|
this.registerExtensionAction({
|
|
619
619
|
id: 'workbench.extensions.action.checkForUpdates',
|
|
620
|
-
title: ( localize2(
|
|
620
|
+
title: ( localize2(3936, 'Check for Extension Updates')),
|
|
621
621
|
category: ExtensionsLocalizedLabel,
|
|
622
622
|
menu: [{
|
|
623
623
|
id: MenuId.CommandPalette,
|
|
@@ -642,14 +642,14 @@ let ExtensionsContributions = class ExtensionsContributions extends Disposable {
|
|
|
642
642
|
return runAction(this.instantiationService.createInstance(SearchExtensionsAction, '@outdated '));
|
|
643
643
|
}
|
|
644
644
|
else {
|
|
645
|
-
return this.dialogService.info(( localize(
|
|
645
|
+
return this.dialogService.info(( localize(3937, "All extensions are up to date.")));
|
|
646
646
|
}
|
|
647
647
|
}
|
|
648
648
|
});
|
|
649
649
|
const enableAutoUpdateWhenCondition = ( (ContextKeyExpr.equals(`config.${AutoUpdateConfigurationKey}`, false)));
|
|
650
650
|
this.registerExtensionAction({
|
|
651
651
|
id: 'workbench.extensions.action.enableAutoUpdate',
|
|
652
|
-
title: ( localize2(
|
|
652
|
+
title: ( localize2(3938, 'Enable Auto Update for All Extensions')),
|
|
653
653
|
category: ExtensionsLocalizedLabel,
|
|
654
654
|
precondition: enableAutoUpdateWhenCondition,
|
|
655
655
|
menu: [{
|
|
@@ -668,7 +668,7 @@ let ExtensionsContributions = class ExtensionsContributions extends Disposable {
|
|
|
668
668
|
const disableAutoUpdateWhenCondition = ( (ContextKeyExpr.notEquals(`config.${AutoUpdateConfigurationKey}`, false)));
|
|
669
669
|
this.registerExtensionAction({
|
|
670
670
|
id: 'workbench.extensions.action.disableAutoUpdate',
|
|
671
|
-
title: ( localize2(
|
|
671
|
+
title: ( localize2(3939, 'Disable Auto Update for All Extensions')),
|
|
672
672
|
precondition: disableAutoUpdateWhenCondition,
|
|
673
673
|
category: ExtensionsLocalizedLabel,
|
|
674
674
|
menu: [{
|
|
@@ -686,7 +686,7 @@ let ExtensionsContributions = class ExtensionsContributions extends Disposable {
|
|
|
686
686
|
});
|
|
687
687
|
this.registerExtensionAction({
|
|
688
688
|
id: 'workbench.extensions.action.updateAllExtensions',
|
|
689
|
-
title: ( localize2(
|
|
689
|
+
title: ( localize2(3940, 'Update All Extensions')),
|
|
690
690
|
category: ExtensionsLocalizedLabel,
|
|
691
691
|
precondition: HasOutdatedExtensionsContext,
|
|
692
692
|
menu: [
|
|
@@ -731,7 +731,7 @@ let ExtensionsContributions = class ExtensionsContributions extends Disposable {
|
|
|
731
731
|
});
|
|
732
732
|
this.registerExtensionAction({
|
|
733
733
|
id: 'workbench.extensions.action.enableAll',
|
|
734
|
-
title: ( localize2(
|
|
734
|
+
title: ( localize2(3941, 'Enable All Extensions')),
|
|
735
735
|
category: ExtensionsLocalizedLabel,
|
|
736
736
|
menu: [{
|
|
737
737
|
id: MenuId.CommandPalette,
|
|
@@ -755,7 +755,7 @@ let ExtensionsContributions = class ExtensionsContributions extends Disposable {
|
|
|
755
755
|
});
|
|
756
756
|
this.registerExtensionAction({
|
|
757
757
|
id: 'workbench.extensions.action.enableAllWorkspace',
|
|
758
|
-
title: ( localize2(
|
|
758
|
+
title: ( localize2(3942, 'Enable All Extensions for this Workspace')),
|
|
759
759
|
category: ExtensionsLocalizedLabel,
|
|
760
760
|
menu: {
|
|
761
761
|
id: MenuId.CommandPalette,
|
|
@@ -777,7 +777,7 @@ let ExtensionsContributions = class ExtensionsContributions extends Disposable {
|
|
|
777
777
|
});
|
|
778
778
|
this.registerExtensionAction({
|
|
779
779
|
id: 'workbench.extensions.action.disableAll',
|
|
780
|
-
title: ( localize2(
|
|
780
|
+
title: ( localize2(3943, 'Disable All Installed Extensions')),
|
|
781
781
|
category: ExtensionsLocalizedLabel,
|
|
782
782
|
menu: [{
|
|
783
783
|
id: MenuId.CommandPalette,
|
|
@@ -801,7 +801,7 @@ let ExtensionsContributions = class ExtensionsContributions extends Disposable {
|
|
|
801
801
|
});
|
|
802
802
|
this.registerExtensionAction({
|
|
803
803
|
id: 'workbench.extensions.action.disableAllWorkspace',
|
|
804
|
-
title: ( localize2(
|
|
804
|
+
title: ( localize2(3944, 'Disable All Installed Extensions for this Workspace')),
|
|
805
805
|
category: ExtensionsLocalizedLabel,
|
|
806
806
|
menu: {
|
|
807
807
|
id: MenuId.CommandPalette,
|
|
@@ -823,7 +823,7 @@ let ExtensionsContributions = class ExtensionsContributions extends Disposable {
|
|
|
823
823
|
});
|
|
824
824
|
this.registerExtensionAction({
|
|
825
825
|
id: SELECT_INSTALL_VSIX_EXTENSION_COMMAND_ID,
|
|
826
|
-
title: ( localize2(
|
|
826
|
+
title: ( localize2(3945, 'Install from VSIX...')),
|
|
827
827
|
category: ExtensionsLocalizedLabel,
|
|
828
828
|
menu: [{
|
|
829
829
|
id: MenuId.CommandPalette,
|
|
@@ -841,11 +841,11 @@ let ExtensionsContributions = class ExtensionsContributions extends Disposable {
|
|
|
841
841
|
const fileDialogService = accessor.get(IFileDialogService);
|
|
842
842
|
const commandService = accessor.get(ICommandService);
|
|
843
843
|
const vsixPaths = await fileDialogService.showOpenDialog({
|
|
844
|
-
title: ( localize(
|
|
844
|
+
title: ( localize(3946, "Install from VSIX")),
|
|
845
845
|
filters: [{ name: 'VSIX Extensions', extensions: ['vsix'] }],
|
|
846
846
|
canSelectFiles: true,
|
|
847
847
|
canSelectMany: true,
|
|
848
|
-
openLabel: mnemonicButtonLabel(( localize(
|
|
848
|
+
openLabel: mnemonicButtonLabel(( localize(3947, "&&Install")))
|
|
849
849
|
});
|
|
850
850
|
if (vsixPaths) {
|
|
851
851
|
await commandService.executeCommand(INSTALL_EXTENSION_FROM_VSIX_COMMAND_ID, vsixPaths);
|
|
@@ -854,7 +854,7 @@ let ExtensionsContributions = class ExtensionsContributions extends Disposable {
|
|
|
854
854
|
});
|
|
855
855
|
this.registerExtensionAction({
|
|
856
856
|
id: INSTALL_EXTENSION_FROM_VSIX_COMMAND_ID,
|
|
857
|
-
title: ( localize(
|
|
857
|
+
title: ( localize(3948, "Install Extension VSIX")),
|
|
858
858
|
menu: [{
|
|
859
859
|
id: MenuId.ExplorerContext,
|
|
860
860
|
group: 'extensions',
|
|
@@ -885,30 +885,30 @@ let ExtensionsContributions = class ExtensionsContributions extends Disposable {
|
|
|
885
885
|
}
|
|
886
886
|
if (requireReload) {
|
|
887
887
|
notificationService.prompt(Severity$1.Info, ( localize(
|
|
888
|
-
|
|
888
|
+
3949,
|
|
889
889
|
"Completed installing extension from VSIX. Please reload Visual Studio Code to enable it."
|
|
890
890
|
)), [{
|
|
891
|
-
label: ( localize(
|
|
891
|
+
label: ( localize(3950, "Reload Now")),
|
|
892
892
|
run: () => hostService.reload()
|
|
893
893
|
}]);
|
|
894
894
|
}
|
|
895
895
|
else if (requireRestart) {
|
|
896
896
|
notificationService.prompt(Severity$1.Info, ( localize(
|
|
897
|
-
|
|
897
|
+
3951,
|
|
898
898
|
"Completed installing extension from VSIX. Please restart extensions to enable it."
|
|
899
899
|
)), [{
|
|
900
|
-
label: ( localize(
|
|
900
|
+
label: ( localize(3952, "Restart Extensions")),
|
|
901
901
|
run: () => extensionsWorkbenchService.updateRunningExtensions()
|
|
902
902
|
}]);
|
|
903
903
|
}
|
|
904
904
|
else {
|
|
905
|
-
notificationService.prompt(Severity$1.Info, ( localize(
|
|
905
|
+
notificationService.prompt(Severity$1.Info, ( localize(3953, "Completed installing extension.")), []);
|
|
906
906
|
}
|
|
907
907
|
}
|
|
908
908
|
});
|
|
909
909
|
this.registerExtensionAction({
|
|
910
910
|
id: 'workbench.extensions.action.installExtensionFromLocation',
|
|
911
|
-
title: ( localize2(
|
|
911
|
+
title: ( localize2(3954, 'Install Extension from Location...')),
|
|
912
912
|
category: Categories.Developer,
|
|
913
913
|
menu: [{
|
|
914
914
|
id: MenuId.CommandPalette,
|
|
@@ -922,10 +922,10 @@ let ExtensionsContributions = class ExtensionsContributions extends Disposable {
|
|
|
922
922
|
const quickInputService = accessor.get(IQuickInputService);
|
|
923
923
|
const disposables = ( (new DisposableStore()));
|
|
924
924
|
const quickPick = disposables.add(quickInputService.createQuickPick());
|
|
925
|
-
quickPick.title = ( localize(
|
|
925
|
+
quickPick.title = ( localize(3955, "Install Extension from Location"));
|
|
926
926
|
quickPick.customButton = true;
|
|
927
|
-
quickPick.customLabel = ( localize(
|
|
928
|
-
quickPick.placeholder = ( localize(
|
|
927
|
+
quickPick.customLabel = ( localize(3956, "Install"));
|
|
928
|
+
quickPick.placeholder = ( localize(3957, "Location of the web extension"));
|
|
929
929
|
quickPick.ignoreFocusOut = true;
|
|
930
930
|
disposables.add(Event.any(quickPick.onDidAccept, quickPick.onDidCustom)(async () => {
|
|
931
931
|
quickPick.hide();
|
|
@@ -951,7 +951,7 @@ let ExtensionsContributions = class ExtensionsContributions extends Disposable {
|
|
|
951
951
|
canSelectFolders: true,
|
|
952
952
|
canSelectFiles: false,
|
|
953
953
|
canSelectMany: false,
|
|
954
|
-
title: ( localize(
|
|
954
|
+
title: ( localize(3955, "Install Extension from Location")),
|
|
955
955
|
});
|
|
956
956
|
if (extensionLocation?.[0]) {
|
|
957
957
|
await extensionManagementService.installFromLocation(extensionLocation[0]);
|
|
@@ -962,7 +962,7 @@ let ExtensionsContributions = class ExtensionsContributions extends Disposable {
|
|
|
962
962
|
const extensionsFilterSubMenu = ( (new MenuId('extensionsFilterSubMenu')));
|
|
963
963
|
MenuRegistry.appendMenuItem(extensionsSearchActionsMenu, {
|
|
964
964
|
submenu: extensionsFilterSubMenu,
|
|
965
|
-
title: ( localize(
|
|
965
|
+
title: ( localize(3958, "Filter Extensions...")),
|
|
966
966
|
group: 'navigation',
|
|
967
967
|
order: 2,
|
|
968
968
|
icon: filterIcon,
|
|
@@ -970,7 +970,7 @@ let ExtensionsContributions = class ExtensionsContributions extends Disposable {
|
|
|
970
970
|
const showFeaturedExtensionsId = 'extensions.filter.featured';
|
|
971
971
|
this.registerExtensionAction({
|
|
972
972
|
id: showFeaturedExtensionsId,
|
|
973
|
-
title: ( localize2(
|
|
973
|
+
title: ( localize2(3959, 'Show Featured Extensions')),
|
|
974
974
|
category: ExtensionsLocalizedLabel,
|
|
975
975
|
menu: [{
|
|
976
976
|
id: MenuId.CommandPalette,
|
|
@@ -982,13 +982,13 @@ let ExtensionsContributions = class ExtensionsContributions extends Disposable {
|
|
|
982
982
|
order: 1,
|
|
983
983
|
}],
|
|
984
984
|
menuTitles: {
|
|
985
|
-
[extensionsFilterSubMenu.id]: ( localize(
|
|
985
|
+
[extensionsFilterSubMenu.id]: ( localize(3960, "Featured"))
|
|
986
986
|
},
|
|
987
987
|
run: () => runAction(this.instantiationService.createInstance(SearchExtensionsAction, '@featured '))
|
|
988
988
|
});
|
|
989
989
|
this.registerExtensionAction({
|
|
990
990
|
id: 'workbench.extensions.action.showPopularExtensions',
|
|
991
|
-
title: ( localize2(
|
|
991
|
+
title: ( localize2(3961, 'Show Popular Extensions')),
|
|
992
992
|
category: ExtensionsLocalizedLabel,
|
|
993
993
|
menu: [{
|
|
994
994
|
id: MenuId.CommandPalette,
|
|
@@ -1000,13 +1000,13 @@ let ExtensionsContributions = class ExtensionsContributions extends Disposable {
|
|
|
1000
1000
|
order: 2,
|
|
1001
1001
|
}],
|
|
1002
1002
|
menuTitles: {
|
|
1003
|
-
[extensionsFilterSubMenu.id]: ( localize(
|
|
1003
|
+
[extensionsFilterSubMenu.id]: ( localize(3962, "Most Popular"))
|
|
1004
1004
|
},
|
|
1005
1005
|
run: () => runAction(this.instantiationService.createInstance(SearchExtensionsAction, '@popular '))
|
|
1006
1006
|
});
|
|
1007
1007
|
this.registerExtensionAction({
|
|
1008
1008
|
id: 'workbench.extensions.action.showRecommendedExtensions',
|
|
1009
|
-
title: ( localize2(
|
|
1009
|
+
title: ( localize2(3963, 'Show Recommended Extensions')),
|
|
1010
1010
|
category: ExtensionsLocalizedLabel,
|
|
1011
1011
|
menu: [{
|
|
1012
1012
|
id: MenuId.CommandPalette,
|
|
@@ -1018,13 +1018,13 @@ let ExtensionsContributions = class ExtensionsContributions extends Disposable {
|
|
|
1018
1018
|
order: 2,
|
|
1019
1019
|
}],
|
|
1020
1020
|
menuTitles: {
|
|
1021
|
-
[extensionsFilterSubMenu.id]: ( localize(
|
|
1021
|
+
[extensionsFilterSubMenu.id]: ( localize(3964, "Recommended"))
|
|
1022
1022
|
},
|
|
1023
1023
|
run: () => runAction(this.instantiationService.createInstance(SearchExtensionsAction, '@recommended '))
|
|
1024
1024
|
});
|
|
1025
1025
|
this.registerExtensionAction({
|
|
1026
1026
|
id: 'workbench.extensions.action.recentlyPublishedExtensions',
|
|
1027
|
-
title: ( localize2(
|
|
1027
|
+
title: ( localize2(3965, 'Show Recently Published Extensions')),
|
|
1028
1028
|
category: ExtensionsLocalizedLabel,
|
|
1029
1029
|
menu: [{
|
|
1030
1030
|
id: MenuId.CommandPalette,
|
|
@@ -1036,14 +1036,14 @@ let ExtensionsContributions = class ExtensionsContributions extends Disposable {
|
|
|
1036
1036
|
order: 2,
|
|
1037
1037
|
}],
|
|
1038
1038
|
menuTitles: {
|
|
1039
|
-
[extensionsFilterSubMenu.id]: ( localize(
|
|
1039
|
+
[extensionsFilterSubMenu.id]: ( localize(3966, "Recently Published"))
|
|
1040
1040
|
},
|
|
1041
1041
|
run: () => runAction(this.instantiationService.createInstance(SearchExtensionsAction, '@recentlyPublished '))
|
|
1042
1042
|
});
|
|
1043
1043
|
const extensionsCategoryFilterSubMenu = ( (new MenuId('extensionsCategoryFilterSubMenu')));
|
|
1044
1044
|
MenuRegistry.appendMenuItem(extensionsFilterSubMenu, {
|
|
1045
1045
|
submenu: extensionsCategoryFilterSubMenu,
|
|
1046
|
-
title: ( localize(
|
|
1046
|
+
title: ( localize(3967, "Category")),
|
|
1047
1047
|
when: CONTEXT_HAS_GALLERY,
|
|
1048
1048
|
group: '2_categories',
|
|
1049
1049
|
order: 1,
|
|
@@ -1062,7 +1062,7 @@ let ExtensionsContributions = class ExtensionsContributions extends Disposable {
|
|
|
1062
1062
|
});
|
|
1063
1063
|
this.registerExtensionAction({
|
|
1064
1064
|
id: 'workbench.extensions.action.listBuiltInExtensions',
|
|
1065
|
-
title: ( localize2(
|
|
1065
|
+
title: ( localize2(3968, 'Show Built-in Extensions')),
|
|
1066
1066
|
category: ExtensionsLocalizedLabel,
|
|
1067
1067
|
menu: [{
|
|
1068
1068
|
id: MenuId.CommandPalette,
|
|
@@ -1077,13 +1077,13 @@ let ExtensionsContributions = class ExtensionsContributions extends Disposable {
|
|
|
1077
1077
|
order: 2,
|
|
1078
1078
|
}],
|
|
1079
1079
|
menuTitles: {
|
|
1080
|
-
[extensionsFilterSubMenu.id]: ( localize(
|
|
1080
|
+
[extensionsFilterSubMenu.id]: ( localize(3969, "Built-in"))
|
|
1081
1081
|
},
|
|
1082
1082
|
run: () => runAction(this.instantiationService.createInstance(SearchExtensionsAction, '@builtin '))
|
|
1083
1083
|
});
|
|
1084
1084
|
this.registerExtensionAction({
|
|
1085
1085
|
id: 'workbench.extensions.action.extensionUpdates',
|
|
1086
|
-
title: ( localize2(
|
|
1086
|
+
title: ( localize2(3970, 'Show Extension Updates')),
|
|
1087
1087
|
category: ExtensionsLocalizedLabel,
|
|
1088
1088
|
precondition: CONTEXT_HAS_GALLERY,
|
|
1089
1089
|
f1: true,
|
|
@@ -1094,13 +1094,13 @@ let ExtensionsContributions = class ExtensionsContributions extends Disposable {
|
|
|
1094
1094
|
order: 1,
|
|
1095
1095
|
}],
|
|
1096
1096
|
menuTitles: {
|
|
1097
|
-
[extensionsFilterSubMenu.id]: ( localize(
|
|
1097
|
+
[extensionsFilterSubMenu.id]: ( localize(3971, "Updates"))
|
|
1098
1098
|
},
|
|
1099
1099
|
run: () => runAction(this.instantiationService.createInstance(SearchExtensionsAction, '@updates'))
|
|
1100
1100
|
});
|
|
1101
1101
|
this.registerExtensionAction({
|
|
1102
1102
|
id: LIST_WORKSPACE_UNSUPPORTED_EXTENSIONS_COMMAND_ID,
|
|
1103
|
-
title: ( localize2(
|
|
1103
|
+
title: ( localize2(3972, 'Show Extensions Unsupported By Workspace')),
|
|
1104
1104
|
category: ExtensionsLocalizedLabel,
|
|
1105
1105
|
menu: [{
|
|
1106
1106
|
id: MenuId.CommandPalette,
|
|
@@ -1112,13 +1112,13 @@ let ExtensionsContributions = class ExtensionsContributions extends Disposable {
|
|
|
1112
1112
|
when: ( (ContextKeyExpr.or(CONTEXT_HAS_LOCAL_SERVER, CONTEXT_HAS_REMOTE_SERVER))),
|
|
1113
1113
|
}],
|
|
1114
1114
|
menuTitles: {
|
|
1115
|
-
[extensionsFilterSubMenu.id]: ( localize(
|
|
1115
|
+
[extensionsFilterSubMenu.id]: ( localize(3973, "Workspace Unsupported"))
|
|
1116
1116
|
},
|
|
1117
1117
|
run: () => runAction(this.instantiationService.createInstance(SearchExtensionsAction, '@workspaceUnsupported'))
|
|
1118
1118
|
});
|
|
1119
1119
|
this.registerExtensionAction({
|
|
1120
1120
|
id: 'workbench.extensions.action.showEnabledExtensions',
|
|
1121
|
-
title: ( localize2(
|
|
1121
|
+
title: ( localize2(3974, 'Show Enabled Extensions')),
|
|
1122
1122
|
category: ExtensionsLocalizedLabel,
|
|
1123
1123
|
menu: [{
|
|
1124
1124
|
id: MenuId.CommandPalette,
|
|
@@ -1133,13 +1133,13 @@ let ExtensionsContributions = class ExtensionsContributions extends Disposable {
|
|
|
1133
1133
|
order: 3,
|
|
1134
1134
|
}],
|
|
1135
1135
|
menuTitles: {
|
|
1136
|
-
[extensionsFilterSubMenu.id]: ( localize(
|
|
1136
|
+
[extensionsFilterSubMenu.id]: ( localize(3975, "Enabled"))
|
|
1137
1137
|
},
|
|
1138
1138
|
run: () => runAction(this.instantiationService.createInstance(SearchExtensionsAction, '@enabled '))
|
|
1139
1139
|
});
|
|
1140
1140
|
this.registerExtensionAction({
|
|
1141
1141
|
id: 'workbench.extensions.action.showDisabledExtensions',
|
|
1142
|
-
title: ( localize2(
|
|
1142
|
+
title: ( localize2(3976, 'Show Disabled Extensions')),
|
|
1143
1143
|
category: ExtensionsLocalizedLabel,
|
|
1144
1144
|
menu: [{
|
|
1145
1145
|
id: MenuId.CommandPalette,
|
|
@@ -1154,14 +1154,14 @@ let ExtensionsContributions = class ExtensionsContributions extends Disposable {
|
|
|
1154
1154
|
order: 4,
|
|
1155
1155
|
}],
|
|
1156
1156
|
menuTitles: {
|
|
1157
|
-
[extensionsFilterSubMenu.id]: ( localize(
|
|
1157
|
+
[extensionsFilterSubMenu.id]: ( localize(3977, "Disabled"))
|
|
1158
1158
|
},
|
|
1159
1159
|
run: () => runAction(this.instantiationService.createInstance(SearchExtensionsAction, '@disabled '))
|
|
1160
1160
|
});
|
|
1161
1161
|
const extensionsSortSubMenu = ( (new MenuId('extensionsSortSubMenu')));
|
|
1162
1162
|
MenuRegistry.appendMenuItem(extensionsFilterSubMenu, {
|
|
1163
1163
|
submenu: extensionsSortSubMenu,
|
|
1164
|
-
title: ( localize(
|
|
1164
|
+
title: ( localize(3978, "Sort By")),
|
|
1165
1165
|
when: ( (ContextKeyExpr.and(
|
|
1166
1166
|
(ContextKeyExpr.or(CONTEXT_HAS_GALLERY, DefaultViewsContext))
|
|
1167
1167
|
))),
|
|
@@ -1170,7 +1170,7 @@ let ExtensionsContributions = class ExtensionsContributions extends Disposable {
|
|
|
1170
1170
|
});
|
|
1171
1171
|
this.registerExtensionAction({
|
|
1172
1172
|
id: 'workbench.extensions.action.clearExtensionsSearchResults',
|
|
1173
|
-
title: ( localize2(
|
|
1173
|
+
title: ( localize2(3984, 'Clear Extensions Search Results')),
|
|
1174
1174
|
category: ExtensionsLocalizedLabel,
|
|
1175
1175
|
icon: clearSearchResultsIcon,
|
|
1176
1176
|
f1: true,
|
|
@@ -1191,7 +1191,7 @@ let ExtensionsContributions = class ExtensionsContributions extends Disposable {
|
|
|
1191
1191
|
});
|
|
1192
1192
|
this.registerExtensionAction({
|
|
1193
1193
|
id: 'workbench.extensions.action.refreshExtension',
|
|
1194
|
-
title: ( localize2(
|
|
1194
|
+
title: ( localize2(3985, 'Refresh')),
|
|
1195
1195
|
category: ExtensionsLocalizedLabel,
|
|
1196
1196
|
icon: refreshIcon,
|
|
1197
1197
|
f1: true,
|
|
@@ -1210,7 +1210,7 @@ let ExtensionsContributions = class ExtensionsContributions extends Disposable {
|
|
|
1210
1210
|
});
|
|
1211
1211
|
this.registerExtensionAction({
|
|
1212
1212
|
id: 'workbench.extensions.action.installWorkspaceRecommendedExtensions',
|
|
1213
|
-
title: ( localize(
|
|
1213
|
+
title: ( localize(3986, "Install Workspace Recommended Extensions")),
|
|
1214
1214
|
icon: installWorkspaceRecommendedIcon,
|
|
1215
1215
|
menu: {
|
|
1216
1216
|
id: MenuId.ViewTitle,
|
|
@@ -1341,7 +1341,7 @@ let ExtensionsContributions = class ExtensionsContributions extends Disposable {
|
|
|
1341
1341
|
});
|
|
1342
1342
|
this.registerExtensionAction({
|
|
1343
1343
|
id: 'workbench.extensions.action.showPreReleaseVersion',
|
|
1344
|
-
title: ( localize2(
|
|
1344
|
+
title: ( localize2(3987, 'Show Pre-Release Version')),
|
|
1345
1345
|
menu: {
|
|
1346
1346
|
id: MenuId.ExtensionContext,
|
|
1347
1347
|
group: INSTALL_ACTIONS_GROUP,
|
|
@@ -1361,7 +1361,7 @@ let ExtensionsContributions = class ExtensionsContributions extends Disposable {
|
|
|
1361
1361
|
});
|
|
1362
1362
|
this.registerExtensionAction({
|
|
1363
1363
|
id: 'workbench.extensions.action.showReleasedVersion',
|
|
1364
|
-
title: ( localize2(
|
|
1364
|
+
title: ( localize2(3988, 'Show Release Version')),
|
|
1365
1365
|
menu: {
|
|
1366
1366
|
id: MenuId.ExtensionContext,
|
|
1367
1367
|
group: INSTALL_ACTIONS_GROUP,
|
|
@@ -1436,7 +1436,7 @@ let ExtensionsContributions = class ExtensionsContributions extends Disposable {
|
|
|
1436
1436
|
});
|
|
1437
1437
|
this.registerExtensionAction({
|
|
1438
1438
|
id: 'workbench.extensions.action.switchToPreRlease',
|
|
1439
|
-
title: ( localize(
|
|
1439
|
+
title: ( localize(3989, "Switch to Pre-Release Version")),
|
|
1440
1440
|
category: ExtensionsLocalizedLabel,
|
|
1441
1441
|
menu: {
|
|
1442
1442
|
id: MenuId.ExtensionContext,
|
|
@@ -1464,7 +1464,7 @@ let ExtensionsContributions = class ExtensionsContributions extends Disposable {
|
|
|
1464
1464
|
});
|
|
1465
1465
|
this.registerExtensionAction({
|
|
1466
1466
|
id: 'workbench.extensions.action.switchToRelease',
|
|
1467
|
-
title: ( localize(
|
|
1467
|
+
title: ( localize(3990, "Switch to Release Version")),
|
|
1468
1468
|
category: ExtensionsLocalizedLabel,
|
|
1469
1469
|
menu: {
|
|
1470
1470
|
id: MenuId.ExtensionContext,
|
|
@@ -1514,7 +1514,7 @@ let ExtensionsContributions = class ExtensionsContributions extends Disposable {
|
|
|
1514
1514
|
});
|
|
1515
1515
|
this.registerExtensionAction({
|
|
1516
1516
|
id: 'workbench.extensions.action.installAndDonotSync',
|
|
1517
|
-
title: ( localize(
|
|
1517
|
+
title: ( localize(3991, "Install (Do not Sync)")),
|
|
1518
1518
|
menu: {
|
|
1519
1519
|
id: MenuId.ExtensionContext,
|
|
1520
1520
|
group: '0_install',
|
|
@@ -1541,7 +1541,7 @@ let ExtensionsContributions = class ExtensionsContributions extends Disposable {
|
|
|
1541
1541
|
});
|
|
1542
1542
|
this.registerExtensionAction({
|
|
1543
1543
|
id: 'workbench.extensions.action.installPrereleaseAndDonotSync',
|
|
1544
|
-
title: ( localize(
|
|
1544
|
+
title: ( localize(3992, "Install Pre-Release (Do not Sync)")),
|
|
1545
1545
|
menu: {
|
|
1546
1546
|
id: MenuId.ExtensionContext,
|
|
1547
1547
|
group: '0_install',
|
|
@@ -1592,7 +1592,7 @@ let ExtensionsContributions = class ExtensionsContributions extends Disposable {
|
|
|
1592
1592
|
});
|
|
1593
1593
|
this.registerExtensionAction({
|
|
1594
1594
|
id: 'workbench.extensions.action.copyExtension',
|
|
1595
|
-
title: ( localize2(
|
|
1595
|
+
title: ( localize2(3993, 'Copy')),
|
|
1596
1596
|
menu: {
|
|
1597
1597
|
id: MenuId.ExtensionContext,
|
|
1598
1598
|
group: '1_copy'
|
|
@@ -1602,12 +1602,12 @@ let ExtensionsContributions = class ExtensionsContributions extends Disposable {
|
|
|
1602
1602
|
const extension = this.extensionsWorkbenchService.local.filter(e => areSameExtensions(e.identifier, { id: extensionId }))[0]
|
|
1603
1603
|
|| (await this.extensionsWorkbenchService.getExtensions([{ id: extensionId }], CancellationToken.None))[0];
|
|
1604
1604
|
if (extension) {
|
|
1605
|
-
const name = ( localize(
|
|
1606
|
-
const id = ( localize(
|
|
1607
|
-
const description = ( localize(
|
|
1608
|
-
const verision = ( localize(
|
|
1609
|
-
const publisher = ( localize(
|
|
1610
|
-
const link = extension.url ? ( localize(
|
|
1605
|
+
const name = ( localize(3994, 'Name: {0}', extension.displayName));
|
|
1606
|
+
const id = ( localize(3995, 'Id: {0}', extensionId));
|
|
1607
|
+
const description = ( localize(3996, 'Description: {0}', extension.description));
|
|
1608
|
+
const verision = ( localize(3997, 'Version: {0}', extension.version));
|
|
1609
|
+
const publisher = ( localize(3998, 'Publisher: {0}', extension.publisherDisplayName));
|
|
1610
|
+
const link = extension.url ? ( localize(3999, 'VS Marketplace Link: {0}', `${extension.url}`)) : null;
|
|
1611
1611
|
const clipboardStr = `${name}\n${id}\n${description}\n${verision}\n${publisher}${link ? '\n' + link : ''}`;
|
|
1612
1612
|
await clipboardService.writeText(clipboardStr);
|
|
1613
1613
|
}
|
|
@@ -1615,7 +1615,7 @@ let ExtensionsContributions = class ExtensionsContributions extends Disposable {
|
|
|
1615
1615
|
});
|
|
1616
1616
|
this.registerExtensionAction({
|
|
1617
1617
|
id: 'workbench.extensions.action.copyExtensionId',
|
|
1618
|
-
title: ( localize2(
|
|
1618
|
+
title: ( localize2(4000, 'Copy Extension ID')),
|
|
1619
1619
|
menu: {
|
|
1620
1620
|
id: MenuId.ExtensionContext,
|
|
1621
1621
|
group: '1_copy'
|
|
@@ -1624,7 +1624,7 @@ let ExtensionsContributions = class ExtensionsContributions extends Disposable {
|
|
|
1624
1624
|
});
|
|
1625
1625
|
this.registerExtensionAction({
|
|
1626
1626
|
id: 'workbench.extensions.action.configure',
|
|
1627
|
-
title: ( localize2(
|
|
1627
|
+
title: ( localize2(4001, 'Extension Settings')),
|
|
1628
1628
|
menu: {
|
|
1629
1629
|
id: MenuId.ExtensionContext,
|
|
1630
1630
|
group: '2_configure',
|
|
@@ -1638,7 +1638,7 @@ let ExtensionsContributions = class ExtensionsContributions extends Disposable {
|
|
|
1638
1638
|
});
|
|
1639
1639
|
this.registerExtensionAction({
|
|
1640
1640
|
id: 'workbench.extensions.action.configureKeybindings',
|
|
1641
|
-
title: ( localize2(
|
|
1641
|
+
title: ( localize2(4002, 'Extension Keyboard Shortcuts')),
|
|
1642
1642
|
menu: {
|
|
1643
1643
|
id: MenuId.ExtensionContext,
|
|
1644
1644
|
group: '2_configure',
|
|
@@ -1652,7 +1652,7 @@ let ExtensionsContributions = class ExtensionsContributions extends Disposable {
|
|
|
1652
1652
|
});
|
|
1653
1653
|
this.registerExtensionAction({
|
|
1654
1654
|
id: 'workbench.extensions.action.toggleApplyToAllProfiles',
|
|
1655
|
-
title: ( localize2(
|
|
1655
|
+
title: ( localize2(4003, "Apply Extension to all Profiles")),
|
|
1656
1656
|
toggled: ( (ContextKeyExpr.has('isApplicationScopedExtension'))),
|
|
1657
1657
|
menu: {
|
|
1658
1658
|
id: MenuId.ExtensionContext,
|
|
@@ -1675,7 +1675,7 @@ let ExtensionsContributions = class ExtensionsContributions extends Disposable {
|
|
|
1675
1675
|
});
|
|
1676
1676
|
this.registerExtensionAction({
|
|
1677
1677
|
id: TOGGLE_IGNORE_EXTENSION_ACTION_ID,
|
|
1678
|
-
title: ( localize2(
|
|
1678
|
+
title: ( localize2(4004, "Sync This Extension")),
|
|
1679
1679
|
menu: {
|
|
1680
1680
|
id: MenuId.ExtensionContext,
|
|
1681
1681
|
group: '2_configure',
|
|
@@ -1695,7 +1695,7 @@ let ExtensionsContributions = class ExtensionsContributions extends Disposable {
|
|
|
1695
1695
|
});
|
|
1696
1696
|
this.registerExtensionAction({
|
|
1697
1697
|
id: 'workbench.extensions.action.ignoreRecommendation',
|
|
1698
|
-
title: ( localize2(
|
|
1698
|
+
title: ( localize2(4005, "Ignore Recommendation")),
|
|
1699
1699
|
menu: {
|
|
1700
1700
|
id: MenuId.ExtensionContext,
|
|
1701
1701
|
group: '3_recommendations',
|
|
@@ -1706,7 +1706,7 @@ let ExtensionsContributions = class ExtensionsContributions extends Disposable {
|
|
|
1706
1706
|
});
|
|
1707
1707
|
this.registerExtensionAction({
|
|
1708
1708
|
id: 'workbench.extensions.action.undoIgnoredRecommendation',
|
|
1709
|
-
title: ( localize2(
|
|
1709
|
+
title: ( localize2(4006, "Undo Ignored Recommendation")),
|
|
1710
1710
|
menu: {
|
|
1711
1711
|
id: MenuId.ExtensionContext,
|
|
1712
1712
|
group: '3_recommendations',
|
|
@@ -1717,7 +1717,7 @@ let ExtensionsContributions = class ExtensionsContributions extends Disposable {
|
|
|
1717
1717
|
});
|
|
1718
1718
|
this.registerExtensionAction({
|
|
1719
1719
|
id: 'workbench.extensions.action.addExtensionToWorkspaceRecommendations',
|
|
1720
|
-
title: ( localize2(
|
|
1720
|
+
title: ( localize2(4007, "Add to Workspace Recommendations")),
|
|
1721
1721
|
menu: {
|
|
1722
1722
|
id: MenuId.ExtensionContext,
|
|
1723
1723
|
group: '3_recommendations',
|
|
@@ -1734,7 +1734,7 @@ let ExtensionsContributions = class ExtensionsContributions extends Disposable {
|
|
|
1734
1734
|
});
|
|
1735
1735
|
this.registerExtensionAction({
|
|
1736
1736
|
id: 'workbench.extensions.action.removeExtensionFromWorkspaceRecommendations',
|
|
1737
|
-
title: ( localize2(
|
|
1737
|
+
title: ( localize2(4008, "Remove from Workspace Recommendations")),
|
|
1738
1738
|
menu: {
|
|
1739
1739
|
id: MenuId.ExtensionContext,
|
|
1740
1740
|
group: '3_recommendations',
|
|
@@ -1749,8 +1749,8 @@ let ExtensionsContributions = class ExtensionsContributions extends Disposable {
|
|
|
1749
1749
|
});
|
|
1750
1750
|
this.registerExtensionAction({
|
|
1751
1751
|
id: 'workbench.extensions.action.addToWorkspaceRecommendations',
|
|
1752
|
-
title: ( localize2(
|
|
1753
|
-
category: ( localize(
|
|
1752
|
+
title: ( localize2(4009, "Add Extension to Workspace Recommendations")),
|
|
1753
|
+
category: ( localize(3883, "Extensions")),
|
|
1754
1754
|
menu: {
|
|
1755
1755
|
id: MenuId.CommandPalette,
|
|
1756
1756
|
when: ( (ContextKeyExpr.and(
|
|
@@ -1774,8 +1774,8 @@ let ExtensionsContributions = class ExtensionsContributions extends Disposable {
|
|
|
1774
1774
|
});
|
|
1775
1775
|
this.registerExtensionAction({
|
|
1776
1776
|
id: 'workbench.extensions.action.addToWorkspaceFolderRecommendations',
|
|
1777
|
-
title: ( localize2(
|
|
1778
|
-
category: ( localize(
|
|
1777
|
+
title: ( localize2(4010, "Add Extension to Workspace Folder Recommendations")),
|
|
1778
|
+
category: ( localize(3883, "Extensions")),
|
|
1779
1779
|
menu: {
|
|
1780
1780
|
id: MenuId.CommandPalette,
|
|
1781
1781
|
when: ( (ContextKeyExpr.and(
|
|
@@ -1787,8 +1787,8 @@ let ExtensionsContributions = class ExtensionsContributions extends Disposable {
|
|
|
1787
1787
|
});
|
|
1788
1788
|
this.registerExtensionAction({
|
|
1789
1789
|
id: 'workbench.extensions.action.addToWorkspaceIgnoredRecommendations',
|
|
1790
|
-
title: ( localize2(
|
|
1791
|
-
category: ( localize(
|
|
1790
|
+
title: ( localize2(4011, "Add Extension to Workspace Ignored Recommendations")),
|
|
1791
|
+
category: ( localize(3883, "Extensions")),
|
|
1792
1792
|
menu: {
|
|
1793
1793
|
id: MenuId.CommandPalette,
|
|
1794
1794
|
when: ( (ContextKeyExpr.and(
|
|
@@ -1812,8 +1812,8 @@ let ExtensionsContributions = class ExtensionsContributions extends Disposable {
|
|
|
1812
1812
|
});
|
|
1813
1813
|
this.registerExtensionAction({
|
|
1814
1814
|
id: 'workbench.extensions.action.addToWorkspaceFolderIgnoredRecommendations',
|
|
1815
|
-
title: ( localize2(
|
|
1816
|
-
category: ( localize(
|
|
1815
|
+
title: ( localize2(4012, "Add Extension to Workspace Folder Ignored Recommendations")),
|
|
1816
|
+
category: ( localize(3883, "Extensions")),
|
|
1817
1817
|
menu: {
|
|
1818
1818
|
id: MenuId.CommandPalette,
|
|
1819
1819
|
when: ( (ContextKeyExpr.and(
|
|
@@ -1826,7 +1826,7 @@ let ExtensionsContributions = class ExtensionsContributions extends Disposable {
|
|
|
1826
1826
|
this.registerExtensionAction({
|
|
1827
1827
|
id: ConfigureWorkspaceRecommendedExtensionsAction.ID,
|
|
1828
1828
|
title: { value: ConfigureWorkspaceRecommendedExtensionsAction.LABEL, original: 'Configure Recommended Extensions (Workspace)' },
|
|
1829
|
-
category: ( localize(
|
|
1829
|
+
category: ( localize(3883, "Extensions")),
|
|
1830
1830
|
menu: {
|
|
1831
1831
|
id: MenuId.CommandPalette,
|
|
1832
1832
|
when: ( (WorkbenchStateContext.isEqualTo('workspace'))),
|
|
@@ -6,4 +6,4 @@ import { RuntimeExtensionsEditor } from './browserRuntimeExtensionsEditor.js';
|
|
|
6
6
|
import { RuntimeExtensionsInput } from '../common/runtimeExtensionsInput.js';
|
|
7
7
|
import { EditorExtensions } from 'vscode/vscode/vs/workbench/common/editor';
|
|
8
8
|
|
|
9
|
-
( (Registry.as(EditorExtensions.EditorPane))).registerEditorPane(EditorPaneDescriptor.create(RuntimeExtensionsEditor, RuntimeExtensionsEditor.ID, ( localize(
|
|
9
|
+
( (Registry.as(EditorExtensions.EditorPane))).registerEditorPane(EditorPaneDescriptor.create(RuntimeExtensionsEditor, RuntimeExtensionsEditor.ID, ( localize(4013, "Running Extensions"))), [( (new SyncDescriptor(RuntimeExtensionsInput)))]);
|
package/vscode/src/vs/workbench/services/extensionManagement/browser/extensionEnablementService.js
CHANGED
|
@@ -65,8 +65,8 @@ let ExtensionEnablementService = class ExtensionEnablementService extends Dispos
|
|
|
65
65
|
this._register(this.globalExtensionEnablementService.onDidChangeEnablement(({ extensions, source }) => this._onDidChangeGloballyDisabledExtensions(extensions, source)));
|
|
66
66
|
if (this.allUserExtensionsDisabled) {
|
|
67
67
|
this.lifecycleService.when(LifecyclePhase.Eventually).then(() => {
|
|
68
|
-
this.notificationService.prompt(Severity$1.Info, ( localize(
|
|
69
|
-
label: ( localize(
|
|
68
|
+
this.notificationService.prompt(Severity$1.Info, ( localize(3865, "All installed extensions are temporarily disabled.")), [{
|
|
69
|
+
label: ( localize(3866, "Reload and Enable Extensions")),
|
|
70
70
|
run: () => hostService.reload({ disableExtensions: false })
|
|
71
71
|
}], {
|
|
72
72
|
sticky: true,
|
|
@@ -122,7 +122,7 @@ let ExtensionEnablementService = class ExtensionEnablementService extends Dispos
|
|
|
122
122
|
throwErrorIfCannotChangeEnablement(extension, donotCheckDependencies) {
|
|
123
123
|
if (isLanguagePackExtension(extension.manifest)) {
|
|
124
124
|
throw ( (new Error(localize(
|
|
125
|
-
|
|
125
|
+
3867,
|
|
126
126
|
"Cannot change enablement of {0} extension because it contributes language packs.",
|
|
127
127
|
extension.manifest.displayName || extension.identifier.id
|
|
128
128
|
))));
|
|
@@ -132,14 +132,14 @@ let ExtensionEnablementService = class ExtensionEnablementService extends Dispos
|
|
|
132
132
|
a => a.id === this.userDataSyncAccountService.account.authenticationProviderId
|
|
133
133
|
)))) {
|
|
134
134
|
throw ( (new Error(localize(
|
|
135
|
-
|
|
135
|
+
3868,
|
|
136
136
|
"Cannot change enablement {0} extension because Settings Sync depends on it.",
|
|
137
137
|
extension.manifest.displayName || extension.identifier.id
|
|
138
138
|
))));
|
|
139
139
|
}
|
|
140
140
|
if (this._isEnabledInEnv(extension)) {
|
|
141
141
|
throw ( (new Error(localize(
|
|
142
|
-
|
|
142
|
+
3869,
|
|
143
143
|
"Cannot change enablement of {0} extension because it is enabled in environment",
|
|
144
144
|
extension.manifest.displayName || extension.identifier.id
|
|
145
145
|
))));
|
|
@@ -150,19 +150,19 @@ let ExtensionEnablementService = class ExtensionEnablementService extends Dispos
|
|
|
150
150
|
switch (enablementStateOfExtension) {
|
|
151
151
|
case EnablementState.DisabledByEnvironment:
|
|
152
152
|
throw ( (new Error(localize(
|
|
153
|
-
|
|
153
|
+
3870,
|
|
154
154
|
"Cannot change enablement of {0} extension because it is disabled in environment",
|
|
155
155
|
extension.manifest.displayName || extension.identifier.id
|
|
156
156
|
))));
|
|
157
157
|
case EnablementState.DisabledByVirtualWorkspace:
|
|
158
158
|
throw ( (new Error(localize(
|
|
159
|
-
|
|
159
|
+
3871,
|
|
160
160
|
"Cannot change enablement of {0} extension because it does not support virtual workspaces",
|
|
161
161
|
extension.manifest.displayName || extension.identifier.id
|
|
162
162
|
))));
|
|
163
163
|
case EnablementState.DisabledByExtensionKind:
|
|
164
164
|
throw ( (new Error(localize(
|
|
165
|
-
|
|
165
|
+
3872,
|
|
166
166
|
"Cannot change enablement of {0} extension because of its extension kind",
|
|
167
167
|
extension.manifest.displayName || extension.identifier.id
|
|
168
168
|
))));
|
|
@@ -179,7 +179,7 @@ let ExtensionEnablementService = class ExtensionEnablementService extends Dispos
|
|
|
179
179
|
}
|
|
180
180
|
catch (error) {
|
|
181
181
|
throw ( (new Error(localize(
|
|
182
|
-
|
|
182
|
+
3873,
|
|
183
183
|
"Cannot enable '{0}' extension because it depends on '{1}' extension that cannot be enabled",
|
|
184
184
|
extension.manifest.displayName || extension.identifier.id,
|
|
185
185
|
dependency.manifest.displayName || dependency.identifier.id
|
|
@@ -190,11 +190,11 @@ let ExtensionEnablementService = class ExtensionEnablementService extends Dispos
|
|
|
190
190
|
}
|
|
191
191
|
throwErrorIfCannotChangeWorkspaceEnablement(extension) {
|
|
192
192
|
if (!this.hasWorkspace) {
|
|
193
|
-
throw ( (new Error(localize(
|
|
193
|
+
throw ( (new Error(localize(3874, "No workspace."))));
|
|
194
194
|
}
|
|
195
195
|
if (isAuthenticationProviderExtension(extension.manifest)) {
|
|
196
196
|
throw ( (new Error(localize(
|
|
197
|
-
|
|
197
|
+
3875,
|
|
198
198
|
"Cannot change enablement of {0} extension in workspace because it contributes authentication providers",
|
|
199
199
|
extension.manifest.displayName || extension.identifier.id
|
|
200
200
|
))));
|
|
@@ -113,12 +113,12 @@ let ExtensionUrlHandler = class ExtensionUrlHandler {
|
|
|
113
113
|
uriString = `${uriString.substring(0, 30)}...${uriString.substring(uriString.length - 5)}`;
|
|
114
114
|
}
|
|
115
115
|
const result = await this.dialogService.confirm({
|
|
116
|
-
message: ( localize(
|
|
116
|
+
message: ( localize(3855, "Allow '{0}' extension to open this URI?", extensionDisplayName)),
|
|
117
117
|
checkbox: {
|
|
118
|
-
label: ( localize(
|
|
118
|
+
label: ( localize(3856, "Do not ask me again for this extension")),
|
|
119
119
|
},
|
|
120
120
|
detail: uriString,
|
|
121
|
-
primaryButton: ( localize(
|
|
121
|
+
primaryButton: ( localize(3857, "&&Open"))
|
|
122
122
|
});
|
|
123
123
|
if (!result.confirmed) {
|
|
124
124
|
this.telemetryService.publicLog2('uri_invoked/cancel', { extensionId });
|
|
@@ -165,8 +165,8 @@ let ExtensionUrlHandler = class ExtensionUrlHandler {
|
|
|
165
165
|
try {
|
|
166
166
|
await this.commandService.executeCommand('workbench.extensions.installExtension', extensionId, {
|
|
167
167
|
justification: {
|
|
168
|
-
reason: `${( localize(
|
|
169
|
-
action: ( localize(
|
|
168
|
+
reason: `${( localize(3858, "This extension wants to open a URI:"))}\n${( (uri.toString()))}`,
|
|
169
|
+
action: ( localize(3859, "Open URI"))
|
|
170
170
|
},
|
|
171
171
|
enable: true
|
|
172
172
|
});
|
|
@@ -190,11 +190,11 @@ let ExtensionUrlHandler = class ExtensionUrlHandler {
|
|
|
190
190
|
this.telemetryService.publicLog2('uri_invoked/install_extension/reload', { extensionId, isRemote: !!this.workbenchEnvironmentService.remoteAuthority });
|
|
191
191
|
const result = await this.dialogService.confirm({
|
|
192
192
|
message: ( localize(
|
|
193
|
-
|
|
193
|
+
3860,
|
|
194
194
|
"Extension '{0}' is not loaded. Would you like to reload the window to load the extension and open the URL?",
|
|
195
195
|
extensionId
|
|
196
196
|
)),
|
|
197
|
-
primaryButton: ( localize(
|
|
197
|
+
primaryButton: ( localize(3861, "&&Reload Window and Open"))
|
|
198
198
|
});
|
|
199
199
|
if (!result.confirmed) {
|
|
200
200
|
return;
|
|
@@ -275,8 +275,8 @@ class ManageAuthorizedExtensionURIsAction extends Action2 {
|
|
|
275
275
|
constructor() {
|
|
276
276
|
super({
|
|
277
277
|
id: 'workbench.extensions.action.manageAuthorizedExtensionURIs',
|
|
278
|
-
title: ( localize2(
|
|
279
|
-
category: ( localize2(
|
|
278
|
+
title: ( localize2(3862, 'Manage Authorized Extension URIs...')),
|
|
279
|
+
category: ( localize2(3863, 'Extensions')),
|
|
280
280
|
menu: {
|
|
281
281
|
id: MenuId.CommandPalette,
|
|
282
282
|
when: ( (IsWebContext.toNegated()))
|
|
@@ -289,7 +289,7 @@ class ManageAuthorizedExtensionURIsAction extends Action2 {
|
|
|
289
289
|
const storage = ( (new UserTrustedExtensionIdStorage(storageService)));
|
|
290
290
|
const items = ( (storage.extensions.map((label) => ({ label, picked: true }))));
|
|
291
291
|
if (items.length === 0) {
|
|
292
|
-
await quickInputService.pick([{ label: ( localize(
|
|
292
|
+
await quickInputService.pick([{ label: ( localize(3864, 'There are currently no authorized extension URIs.')) }]);
|
|
293
293
|
return;
|
|
294
294
|
}
|
|
295
295
|
const result = await quickInputService.pick(items, { canPickMany: true });
|