@codingame/monaco-vscode-extensions-service-override 37.0.0 → 37.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +3 -3
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagementCLI.js +29 -29
- package/vscode/src/vs/workbench/api/browser/mainThreadAuthentication.js +28 -28
- package/vscode/src/vs/workbench/api/browser/mainThreadCLICommands.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadChatSessions.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadComments.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadCustomEditors.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadDataChannels.js +6 -6
- package/vscode/src/vs/workbench/api/browser/mainThreadEditSessionIdentityParticipant.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadExtensionService.js +11 -11
- package/vscode/src/vs/workbench/api/browser/mainThreadFileSystemEventService.js +20 -20
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModels.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadMcp.js +13 -13
- package/vscode/src/vs/workbench/api/browser/mainThreadMessageService.js +4 -4
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookSaveParticipant.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadOutputService.js +3 -3
- package/vscode/src/vs/workbench/api/browser/mainThreadProgress.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadSaveParticipant.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadTask.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadTunnelService.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadUriOpeners.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadWebviews.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadWorkspace.js +5 -5
- package/vscode/src/vs/workbench/contrib/customEditor/common/customTextEditorModel.js +1 -1
- package/vscode/src/vs/workbench/services/extensionManagement/browser/extensionBisect.js +23 -23
- package/vscode/src/vs/workbench/services/extensionManagement/browser/webExtensionsScannerService.js +2 -2
- package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.js +12 -12
- package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.js +1 -1
- package/vscode/src/vs/workbench/services/extensions/common/extensionsProposedApi.js +1 -1
- package/vscode/src/vs/workbench/services/extensions/common/extensionsUtil.js +4 -4
- package/vscode/src/vs/workbench/services/themes/browser/cssExtensionPoint.js +5 -5
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codingame/monaco-vscode-extensions-service-override",
|
|
3
|
-
"version": "37.
|
|
3
|
+
"version": "37.1.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "VSCode public API plugged on the monaco editor - extensions service-override",
|
|
6
6
|
"keywords": [],
|
|
@@ -15,8 +15,8 @@
|
|
|
15
15
|
},
|
|
16
16
|
"type": "module",
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@codingame/monaco-vscode-api": "37.
|
|
19
|
-
"@codingame/monaco-vscode-files-service-override": "37.
|
|
18
|
+
"@codingame/monaco-vscode-api": "37.1.0",
|
|
19
|
+
"@codingame/monaco-vscode-files-service-override": "37.1.0"
|
|
20
20
|
},
|
|
21
21
|
"main": "index.js",
|
|
22
22
|
"module": "index.js",
|
|
@@ -13,9 +13,9 @@ import { getIdAndVersion, areSameExtensions, getGalleryExtensionId, getExtension
|
|
|
13
13
|
import { ExtensionType, EXTENSION_CATEGORIES } from '@codingame/monaco-vscode-api/vscode/vs/platform/extensions/common/extensions';
|
|
14
14
|
import { IProductService } from '@codingame/monaco-vscode-api/vscode/vs/platform/product/common/productService.service';
|
|
15
15
|
|
|
16
|
-
const notFound = id => ( localize(
|
|
16
|
+
const notFound = id => ( localize(2244, "Extension '{0}' not found.", id));
|
|
17
17
|
const useId = ( localize(
|
|
18
|
-
|
|
18
|
+
2245,
|
|
19
19
|
"Make sure you use the full extension ID, including the publisher, e.g.: {0}",
|
|
20
20
|
"ms-dotnettools.csharp"
|
|
21
21
|
));
|
|
@@ -62,7 +62,7 @@ let ExtensionManagementCLI = class ExtensionManagementCLI {
|
|
|
62
62
|
return;
|
|
63
63
|
}
|
|
64
64
|
if (this.location) {
|
|
65
|
-
this.logger.info(( localize(
|
|
65
|
+
this.logger.info(( localize(2246, "Extensions installed on {0}:", this.location)));
|
|
66
66
|
}
|
|
67
67
|
extensions = extensions.sort((e1, e2) => e1.identifier.id.localeCompare(e2.identifier.id));
|
|
68
68
|
let lastId = undefined;
|
|
@@ -77,7 +77,7 @@ let ExtensionManagementCLI = class ExtensionManagementCLI {
|
|
|
77
77
|
const failed = [];
|
|
78
78
|
try {
|
|
79
79
|
if (extensions.length) {
|
|
80
|
-
this.logger.info(this.location ? ( localize(
|
|
80
|
+
this.logger.info(this.location ? ( localize(2247, "Installing extensions on {0}...", this.location)) : ( localize(2248, "Installing extensions...")));
|
|
81
81
|
}
|
|
82
82
|
const installVSIXInfos = [];
|
|
83
83
|
const installExtensionInfos = [];
|
|
@@ -142,11 +142,11 @@ let ExtensionManagementCLI = class ExtensionManagementCLI {
|
|
|
142
142
|
failed.push(...failedGalleryExtensions);
|
|
143
143
|
}
|
|
144
144
|
} catch (error) {
|
|
145
|
-
this.logger.error(( localize(
|
|
145
|
+
this.logger.error(( localize(2249, "Error while installing extensions: {0}", getErrorMessage(error))));
|
|
146
146
|
throw error;
|
|
147
147
|
}
|
|
148
148
|
if (failed.length) {
|
|
149
|
-
throw ( new Error(( localize(
|
|
149
|
+
throw ( new Error(( localize(2250, "Failed Installing Extensions: {0}", failed.join(", ")))));
|
|
150
150
|
}
|
|
151
151
|
}
|
|
152
152
|
async updateExtensions(profileLocation) {
|
|
@@ -161,7 +161,7 @@ let ExtensionManagementCLI = class ExtensionManagementCLI {
|
|
|
161
161
|
}
|
|
162
162
|
}
|
|
163
163
|
this.logger.trace(( localize(
|
|
164
|
-
|
|
164
|
+
2251,
|
|
165
165
|
"Fetching latest versions for {0} extensions",
|
|
166
166
|
installedExtensionsQuery.length
|
|
167
167
|
)));
|
|
@@ -185,11 +185,11 @@ let ExtensionManagementCLI = class ExtensionManagementCLI {
|
|
|
185
185
|
}
|
|
186
186
|
}
|
|
187
187
|
if (!extensionsToUpdate.length) {
|
|
188
|
-
this.logger.info(( localize(
|
|
188
|
+
this.logger.info(( localize(2252, "No extension to update")));
|
|
189
189
|
return;
|
|
190
190
|
}
|
|
191
191
|
this.logger.info(( localize(
|
|
192
|
-
|
|
192
|
+
2253,
|
|
193
193
|
"Updating extensions: {0}",
|
|
194
194
|
( extensionsToUpdate.map(ext => ext.extension.identifier.id)).join(", ")
|
|
195
195
|
)));
|
|
@@ -197,14 +197,14 @@ let ExtensionManagementCLI = class ExtensionManagementCLI {
|
|
|
197
197
|
for (const extensionResult of installationResult) {
|
|
198
198
|
if (extensionResult.error) {
|
|
199
199
|
this.logger.error(( localize(
|
|
200
|
-
|
|
200
|
+
2254,
|
|
201
201
|
"Error while updating extension {0}: {1}",
|
|
202
202
|
extensionResult.identifier.id,
|
|
203
203
|
getErrorMessage(extensionResult.error)
|
|
204
204
|
)));
|
|
205
205
|
} else {
|
|
206
206
|
this.logger.info(( localize(
|
|
207
|
-
|
|
207
|
+
2255,
|
|
208
208
|
"Extension '{0}' v{1} was successfully updated.",
|
|
209
209
|
extensionResult.identifier.id,
|
|
210
210
|
extensionResult.local?.manifest.version
|
|
@@ -230,7 +230,7 @@ let ExtensionManagementCLI = class ExtensionManagementCLI {
|
|
|
230
230
|
}
|
|
231
231
|
if (!force && (!version || (version === "prerelease" && installedExtension.preRelease))) {
|
|
232
232
|
this.logger.info(( localize(
|
|
233
|
-
|
|
233
|
+
2256,
|
|
234
234
|
"Extension '{0}' v{1} is already installed. Use '--force' option to update to latest version or provide '@<version>' to install a specific version, for example: '{2}@1.2.3'.",
|
|
235
235
|
id,
|
|
236
236
|
installedExtension.manifest.version,
|
|
@@ -239,7 +239,7 @@ let ExtensionManagementCLI = class ExtensionManagementCLI {
|
|
|
239
239
|
return false;
|
|
240
240
|
}
|
|
241
241
|
if (version && installedExtension.manifest.version === version) {
|
|
242
|
-
this.logger.info(( localize(
|
|
242
|
+
this.logger.info(( localize(2257, "Extension '{0}' is already installed.", `${id}@${version}`)));
|
|
243
243
|
return false;
|
|
244
244
|
}
|
|
245
245
|
if (installedExtension.preRelease && version !== "prerelease") {
|
|
@@ -281,23 +281,23 @@ let ExtensionManagementCLI = class ExtensionManagementCLI {
|
|
|
281
281
|
if (installedExtension) {
|
|
282
282
|
if (gallery.version === installedExtension.manifest.version) {
|
|
283
283
|
this.logger.info(( localize(
|
|
284
|
-
|
|
284
|
+
2257,
|
|
285
285
|
"Extension '{0}' is already installed.",
|
|
286
286
|
version ? `${id}@${version}` : id
|
|
287
287
|
)));
|
|
288
288
|
return;
|
|
289
289
|
}
|
|
290
290
|
this.logger.info(( localize(
|
|
291
|
-
|
|
291
|
+
2258,
|
|
292
292
|
"Updating the extension '{0}' to the version {1}",
|
|
293
293
|
id,
|
|
294
294
|
gallery.version
|
|
295
295
|
)));
|
|
296
296
|
}
|
|
297
297
|
if (installOptions.isBuiltin) {
|
|
298
|
-
this.logger.info(version ? ( localize(
|
|
298
|
+
this.logger.info(version ? ( localize(2259, "Installing builtin extension '{0}' v{1}...", id, version)) : ( localize(2260, "Installing builtin extension '{0}'...", id)));
|
|
299
299
|
} else {
|
|
300
|
-
this.logger.info(version ? ( localize(
|
|
300
|
+
this.logger.info(version ? ( localize(2261, "Installing extension '{0}' v{1}...", id, version)) : ( localize(2262, "Installing extension '{0}'...", id)));
|
|
301
301
|
}
|
|
302
302
|
extensionsToInstall.push({
|
|
303
303
|
extension: gallery,
|
|
@@ -313,7 +313,7 @@ let ExtensionManagementCLI = class ExtensionManagementCLI {
|
|
|
313
313
|
for (const extensionResult of installationResult) {
|
|
314
314
|
if (extensionResult.error) {
|
|
315
315
|
this.logger.error(( localize(
|
|
316
|
-
|
|
316
|
+
2263,
|
|
317
317
|
"Error while installing extension {0}: {1}",
|
|
318
318
|
extensionResult.identifier.id,
|
|
319
319
|
getErrorMessage(extensionResult.error)
|
|
@@ -321,7 +321,7 @@ let ExtensionManagementCLI = class ExtensionManagementCLI {
|
|
|
321
321
|
failed.push(extensionResult.identifier.id);
|
|
322
322
|
} else {
|
|
323
323
|
this.logger.info(( localize(
|
|
324
|
-
|
|
324
|
+
2264,
|
|
325
325
|
"Extension '{0}' v{1} was successfully installed.",
|
|
326
326
|
extensionResult.identifier.id,
|
|
327
327
|
extensionResult.local?.manifest.version
|
|
@@ -343,10 +343,10 @@ let ExtensionManagementCLI = class ExtensionManagementCLI {
|
|
|
343
343
|
...installOptions,
|
|
344
344
|
installGivenVersion: true
|
|
345
345
|
});
|
|
346
|
-
this.logger.info(( localize(
|
|
346
|
+
this.logger.info(( localize(2265, "Extension '{0}' was successfully installed.", basename(vsix))));
|
|
347
347
|
} catch (error) {
|
|
348
348
|
if (isCancellationError(error)) {
|
|
349
|
-
this.logger.info(( localize(
|
|
349
|
+
this.logger.info(( localize(2266, "Cancelled installing extension '{0}'.", basename(vsix))));
|
|
350
350
|
} else {
|
|
351
351
|
throw error;
|
|
352
352
|
}
|
|
@@ -393,7 +393,7 @@ let ExtensionManagementCLI = class ExtensionManagementCLI {
|
|
|
393
393
|
if (!force) {
|
|
394
394
|
if (semverExports.gt(existingExtension.manifest.version, manifest.version)) {
|
|
395
395
|
this.logger.info(( localize(
|
|
396
|
-
|
|
396
|
+
2267,
|
|
397
397
|
"A newer version of extension '{0}' v{1} is already installed. Use '--force' option to downgrade to older version.",
|
|
398
398
|
existingExtension.identifier.id,
|
|
399
399
|
existingExtension.manifest.version,
|
|
@@ -424,7 +424,7 @@ let ExtensionManagementCLI = class ExtensionManagementCLI {
|
|
|
424
424
|
}
|
|
425
425
|
if (( extensionsToUninstall.some(e => e.type === ExtensionType.System))) {
|
|
426
426
|
this.logger.info(( localize(
|
|
427
|
-
|
|
427
|
+
2268,
|
|
428
428
|
"Extension '{0}' is a Built-in extension and cannot be uninstalled",
|
|
429
429
|
id
|
|
430
430
|
)));
|
|
@@ -432,13 +432,13 @@ let ExtensionManagementCLI = class ExtensionManagementCLI {
|
|
|
432
432
|
}
|
|
433
433
|
if (!force && ( extensionsToUninstall.some(e => e.isBuiltin))) {
|
|
434
434
|
this.logger.info(( localize(
|
|
435
|
-
|
|
435
|
+
2269,
|
|
436
436
|
"Extension '{0}' is marked as a Built-in extension by user. Please use '--force' option to uninstall it.",
|
|
437
437
|
id
|
|
438
438
|
)));
|
|
439
439
|
return;
|
|
440
440
|
}
|
|
441
|
-
this.logger.info(( localize(
|
|
441
|
+
this.logger.info(( localize(2270, "Uninstalling {0}...", id)));
|
|
442
442
|
for (const extensionToUninstall of extensionsToUninstall) {
|
|
443
443
|
await this.extensionManagementService.uninstall(extensionToUninstall, {
|
|
444
444
|
profileLocation
|
|
@@ -446,13 +446,13 @@ let ExtensionManagementCLI = class ExtensionManagementCLI {
|
|
|
446
446
|
}
|
|
447
447
|
if (this.location) {
|
|
448
448
|
this.logger.info(( localize(
|
|
449
|
-
|
|
449
|
+
2271,
|
|
450
450
|
"Extension '{0}' was successfully uninstalled from {1}!",
|
|
451
451
|
id,
|
|
452
452
|
this.location
|
|
453
453
|
)));
|
|
454
454
|
} else {
|
|
455
|
-
this.logger.info(( localize(
|
|
455
|
+
this.logger.info(( localize(2272, "Extension '{0}' was successfully uninstalled!", id)));
|
|
456
456
|
}
|
|
457
457
|
}
|
|
458
458
|
}
|
|
@@ -470,12 +470,12 @@ let ExtensionManagementCLI = class ExtensionManagementCLI {
|
|
|
470
470
|
});
|
|
471
471
|
}
|
|
472
472
|
notInstalled(id) {
|
|
473
|
-
return this.location ? ( localize(
|
|
473
|
+
return this.location ? ( localize(2273, "Extension '{0}' is not installed on {1}.", id, this.location)) : ( localize(2274, "Extension '{0}' is not installed.", id));
|
|
474
474
|
}
|
|
475
475
|
validateBuiltinExtensionEnabledWithAutoUpdates(extension) {
|
|
476
476
|
if (extension.isBuiltin && ( this.productService.builtInExtensionsEnabledWithAutoUpdates.some(e => e.toLowerCase() === extension.identifier.id.toLowerCase())) && !extension.forceAutoUpdate) {
|
|
477
477
|
return localize(
|
|
478
|
-
|
|
478
|
+
2275,
|
|
479
479
|
"Extension '{0}' is a built-in extension and not allowed to be updated in the current product quality '{1}'.",
|
|
480
480
|
extension.identifier.id,
|
|
481
481
|
this.productService.quality
|
|
@@ -294,8 +294,8 @@ let MainThreadAuthentication = class MainThreadAuthentication extends Disposable
|
|
|
294
294
|
return await deferredPromise.p;
|
|
295
295
|
}
|
|
296
296
|
$showContinueNotification(message) {
|
|
297
|
-
const yes = ( localize(
|
|
298
|
-
const no = ( localize(
|
|
297
|
+
const yes = ( localize(2944, "Yes"));
|
|
298
|
+
const no = ( localize(2945, "No"));
|
|
299
299
|
const deferredPromise = ( new DeferredPromise());
|
|
300
300
|
let result = false;
|
|
301
301
|
const handle = this.notificationService.prompt(Severity.Warning, message, [{
|
|
@@ -351,26 +351,26 @@ let MainThreadAuthentication = class MainThreadAuthentication extends Disposable
|
|
|
351
351
|
message = customMessage;
|
|
352
352
|
} else {
|
|
353
353
|
message = recreatingSession ? ( localize(
|
|
354
|
-
|
|
354
|
+
2946,
|
|
355
355
|
"The extension '{0}' wants you to sign in again using {1}.",
|
|
356
356
|
extensionName,
|
|
357
357
|
provider.label
|
|
358
358
|
)) : ( localize(
|
|
359
|
-
|
|
359
|
+
2947,
|
|
360
360
|
"The extension '{0}' wants to sign in using {1}.",
|
|
361
361
|
extensionName,
|
|
362
362
|
provider.label
|
|
363
363
|
));
|
|
364
364
|
}
|
|
365
365
|
const buttons = [{
|
|
366
|
-
label: ( localize(
|
|
366
|
+
label: ( localize(2948, "&&Allow")),
|
|
367
367
|
run() {
|
|
368
368
|
return true;
|
|
369
369
|
}
|
|
370
370
|
}];
|
|
371
371
|
if (options?.learnMore) {
|
|
372
372
|
buttons.push({
|
|
373
|
-
label: ( localize(
|
|
373
|
+
label: ( localize(2949, "Learn more")),
|
|
374
374
|
run: async () => {
|
|
375
375
|
const result = this.loginPrompt(provider, extensionName, recreatingSession, options);
|
|
376
376
|
await this.openerService.open(URI.revive(options.learnMore), {
|
|
@@ -393,9 +393,9 @@ let MainThreadAuthentication = class MainThreadAuthentication extends Disposable
|
|
|
393
393
|
}
|
|
394
394
|
async continueWithIncorrectAccountPrompt(chosenAccountLabel, requestedAccountLabel) {
|
|
395
395
|
const result = await this.dialogService.prompt({
|
|
396
|
-
message: ( localize(
|
|
396
|
+
message: ( localize(2950, "Incorrect account detected")),
|
|
397
397
|
detail: ( localize(
|
|
398
|
-
|
|
398
|
+
2951,
|
|
399
399
|
"The chosen account, {0}, does not match the requested account, {1}.",
|
|
400
400
|
chosenAccountLabel,
|
|
401
401
|
requestedAccountLabel
|
|
@@ -403,10 +403,10 @@ let MainThreadAuthentication = class MainThreadAuthentication extends Disposable
|
|
|
403
403
|
type: Severity.Warning,
|
|
404
404
|
cancelButton: true,
|
|
405
405
|
buttons: [{
|
|
406
|
-
label: ( localize(
|
|
406
|
+
label: ( localize(2952, "Keep {0}", chosenAccountLabel)),
|
|
407
407
|
run: () => chosenAccountLabel
|
|
408
408
|
}, {
|
|
409
|
-
label: ( localize(
|
|
409
|
+
label: ( localize(2953, "Login with {0}", requestedAccountLabel)),
|
|
410
410
|
run: () => requestedAccountLabel
|
|
411
411
|
}]
|
|
412
412
|
});
|
|
@@ -559,15 +559,15 @@ let MainThreadAuthentication = class MainThreadAuthentication extends Disposable
|
|
|
559
559
|
result
|
|
560
560
|
} = await this.dialogService.prompt({
|
|
561
561
|
type: Severity.Info,
|
|
562
|
-
message: ( localize(
|
|
562
|
+
message: ( localize(2954, "Device Code Authentication")),
|
|
563
563
|
detail: ( localize(
|
|
564
|
-
|
|
564
|
+
2955,
|
|
565
565
|
"Your code: {0}\n\nTo complete authentication, navigate to {1} and enter the code above.",
|
|
566
566
|
userCode,
|
|
567
567
|
verificationUri
|
|
568
568
|
)),
|
|
569
569
|
buttons: [{
|
|
570
|
-
label: ( localize(
|
|
570
|
+
label: ( localize(2956, "Copy & Continue")),
|
|
571
571
|
run: () => true
|
|
572
572
|
}],
|
|
573
573
|
cancelButton: true
|
|
@@ -577,7 +577,7 @@ let MainThreadAuthentication = class MainThreadAuthentication extends Disposable
|
|
|
577
577
|
await this.clipboardService.writeText(userCode);
|
|
578
578
|
return await this.openerService.open(( URI.parse(verificationUri)));
|
|
579
579
|
} catch (error) {
|
|
580
|
-
this.notificationService.error(( localize(
|
|
580
|
+
this.notificationService.error(( localize(2957, "Failed to open {0}", verificationUri)));
|
|
581
581
|
}
|
|
582
582
|
}
|
|
583
583
|
return false;
|
|
@@ -586,44 +586,44 @@ let MainThreadAuthentication = class MainThreadAuthentication extends Disposable
|
|
|
586
586
|
const redirectUrls = "http://127.0.0.1:33418\nhttps://vscode.dev/redirect";
|
|
587
587
|
const result = await this.dialogService.prompt({
|
|
588
588
|
type: Severity.Info,
|
|
589
|
-
message: ( localize(
|
|
589
|
+
message: ( localize(2958, "Dynamic Client Registration not supported")),
|
|
590
590
|
detail: ( localize(
|
|
591
|
-
|
|
591
|
+
2959,
|
|
592
592
|
"The authorization server '{0}' does not support automatic client registration. Do you want to proceed by manually providing a client registration (client ID)?\n\nNote: When registering your OAuth application, make sure to include these redirect URIs:\n{1}",
|
|
593
593
|
authorizationServerUrl,
|
|
594
594
|
redirectUrls
|
|
595
595
|
)),
|
|
596
596
|
buttons: [{
|
|
597
|
-
label: ( localize(
|
|
597
|
+
label: ( localize(2960, "Copy URIs & Proceed")),
|
|
598
598
|
run: async () => {
|
|
599
599
|
try {
|
|
600
600
|
await this.clipboardService.writeText(redirectUrls);
|
|
601
601
|
} catch (error) {
|
|
602
|
-
this.notificationService.error(( localize(
|
|
602
|
+
this.notificationService.error(( localize(2961, "Failed to copy redirect URIs to clipboard.")));
|
|
603
603
|
}
|
|
604
604
|
return true;
|
|
605
605
|
}
|
|
606
606
|
}],
|
|
607
607
|
cancelButton: {
|
|
608
|
-
label: ( localize(
|
|
608
|
+
label: ( localize(2962, "Cancel")),
|
|
609
609
|
run: () => false
|
|
610
610
|
}
|
|
611
611
|
});
|
|
612
612
|
if (!result) {
|
|
613
613
|
return undefined;
|
|
614
614
|
}
|
|
615
|
-
const sharedTitle = ( localize(
|
|
615
|
+
const sharedTitle = ( localize(2963, "Add Client Registration Details"));
|
|
616
616
|
const clientId = await this.quickInputService.input({
|
|
617
617
|
title: sharedTitle,
|
|
618
618
|
prompt: ( localize(
|
|
619
|
-
|
|
619
|
+
2964,
|
|
620
620
|
"Enter an existing client ID that has been registered with the following redirect URIs: http://127.0.0.1:33418, https://vscode.dev/redirect"
|
|
621
621
|
)),
|
|
622
|
-
placeHolder: ( localize(
|
|
622
|
+
placeHolder: ( localize(2965, "OAuth client ID (azye39d...)")),
|
|
623
623
|
ignoreFocusLost: true,
|
|
624
624
|
validateInput: async value => {
|
|
625
625
|
if (!value || value.trim().length === 0) {
|
|
626
|
-
return localize(
|
|
626
|
+
return localize(2966, "Client ID is required");
|
|
627
627
|
}
|
|
628
628
|
return undefined;
|
|
629
629
|
}
|
|
@@ -634,11 +634,11 @@ let MainThreadAuthentication = class MainThreadAuthentication extends Disposable
|
|
|
634
634
|
const clientSecret = await this.quickInputService.input({
|
|
635
635
|
title: sharedTitle,
|
|
636
636
|
prompt: ( localize(
|
|
637
|
-
|
|
637
|
+
2967,
|
|
638
638
|
"(optional) Enter an existing client secret associated with the client id '{0}' or leave this field blank",
|
|
639
639
|
clientId
|
|
640
640
|
)),
|
|
641
|
-
placeHolder: ( localize(
|
|
641
|
+
placeHolder: ( localize(2968, "OAuth client secret (wer32o50f...) or leave it blank")),
|
|
642
642
|
password: true,
|
|
643
643
|
ignoreFocusLost: true
|
|
644
644
|
});
|
|
@@ -649,14 +649,14 @@ let MainThreadAuthentication = class MainThreadAuthentication extends Disposable
|
|
|
649
649
|
}
|
|
650
650
|
async $promptForResourceClientSecret(resourceClientId, resource) {
|
|
651
651
|
const value = await this.quickInputService.input({
|
|
652
|
-
title: ( localize(
|
|
652
|
+
title: ( localize(2969, "Resource Client Secret Required")),
|
|
653
653
|
prompt: ( localize(
|
|
654
|
-
|
|
654
|
+
2970,
|
|
655
655
|
"The resource at '{0}' uses a per-resource client identifier '{1}'. Enter the matching client secret (leave blank if none). The value is saved in OS secret storage; manage it later via the 'Set Client Secret' code lens in mcp.json.",
|
|
656
656
|
resource,
|
|
657
657
|
resourceClientId
|
|
658
658
|
)),
|
|
659
|
-
placeHolder: ( localize(
|
|
659
|
+
placeHolder: ( localize(2971, "Resource client secret")),
|
|
660
660
|
password: true,
|
|
661
661
|
ignoreFocusLost: true
|
|
662
662
|
});
|
|
@@ -108,7 +108,7 @@ let RemoteExtensionManagementCLI = class RemoteExtensionManagementCLI extends Ex
|
|
|
108
108
|
if (
|
|
109
109
|
!this._extensionManifestPropertiesService.canExecuteOnWorkspace(manifest) && !(isWeb && this._extensionManifestPropertiesService.canExecuteOnWeb(manifest))) {
|
|
110
110
|
this.logger.info(( localize(
|
|
111
|
-
|
|
111
|
+
2972,
|
|
112
112
|
"Cannot install the '{0}' extension because it is declared to not run in this setup.",
|
|
113
113
|
getExtensionId(manifest.publisher, manifest.name)
|
|
114
114
|
)));
|
|
@@ -138,7 +138,7 @@ class ObservableChatSession extends Disposable {
|
|
|
138
138
|
return confirmInterrupt();
|
|
139
139
|
}
|
|
140
140
|
return this._dialogService.confirm({
|
|
141
|
-
message: ( localize(
|
|
141
|
+
message: ( localize(2973, "Are you sure you want to interrupt the active session?"))
|
|
142
142
|
}).then(confirmed => {
|
|
143
143
|
if (confirmed.confirmed) {
|
|
144
144
|
return confirmInterrupt();
|
|
@@ -663,7 +663,7 @@ let MainThreadChatSessions = class MainThreadChatSessions extends Disposable {
|
|
|
663
663
|
const options = {
|
|
664
664
|
title: {
|
|
665
665
|
preferred: originalEditor?.getName() || undefined,
|
|
666
|
-
fallback: ( localize(
|
|
666
|
+
fallback: ( localize(2974, "{0}", contribution?.displayName))
|
|
667
667
|
}
|
|
668
668
|
};
|
|
669
669
|
const newSession = await this._chatSessionsService.getOrCreateChatSession(URI.revive(modifiedResource), CancellationToken.None);
|
|
@@ -468,7 +468,7 @@ let MainThreadCommentController = class MainThreadCommentController extends Disp
|
|
|
468
468
|
}
|
|
469
469
|
};
|
|
470
470
|
MainThreadCommentController = ( __decorate([( __param(6, ICommentService)), ( __param(7, IUriIdentityService))], MainThreadCommentController));
|
|
471
|
-
const commentsViewIcon = registerIcon("comments-view-icon", Codicon.commentDiscussion, ( localize(
|
|
471
|
+
const commentsViewIcon = registerIcon("comments-view-icon", Codicon.commentDiscussion, ( localize(2975, "View icon of the comments view.")));
|
|
472
472
|
let MainThreadComments = class MainThreadComments extends Disposable {
|
|
473
473
|
constructor(
|
|
474
474
|
extHostContext,
|
|
@@ -532,7 +532,7 @@ let MainThreadCustomEditorModel = MainThreadCustomEditorModel_1 = class MainThre
|
|
|
532
532
|
this._register(workingCopyService.registerWorkingCopy(this));
|
|
533
533
|
this._register(extensionService.onWillStop(e => {
|
|
534
534
|
e.veto(true, ( localize(
|
|
535
|
-
|
|
535
|
+
2976,
|
|
536
536
|
"An extension provided editor for '{0}' is still open that would close otherwise.",
|
|
537
537
|
this.name
|
|
538
538
|
)));
|
|
@@ -600,7 +600,7 @@ let MainThreadCustomEditorModel = MainThreadCustomEditorModel_1 = class MainThre
|
|
|
600
600
|
this._undoService.pushElement({
|
|
601
601
|
type: UndoRedoElementType.Resource,
|
|
602
602
|
resource: this._editorResource,
|
|
603
|
-
label: label ?? ( localize(
|
|
603
|
+
label: label ?? ( localize(2977, "Edit")),
|
|
604
604
|
code: "undoredo.customEditorEdit",
|
|
605
605
|
undo: () => this.undo(),
|
|
606
606
|
redo: () => this.redo()
|
|
@@ -54,13 +54,13 @@ let MainThreadDataChannels = class MainThreadDataChannels extends Disposable {
|
|
|
54
54
|
kind,
|
|
55
55
|
status: {
|
|
56
56
|
kind: "error",
|
|
57
|
-
label: ( localize(
|
|
57
|
+
label: ( localize(2978, "Not available"))
|
|
58
58
|
},
|
|
59
59
|
tooltip: ( localize(
|
|
60
|
-
|
|
60
|
+
2979,
|
|
61
61
|
"The selected link presentation provider does not accept this resource."
|
|
62
62
|
)),
|
|
63
|
-
ariaLabel: ( localize(
|
|
63
|
+
ariaLabel: ( localize(2980, "Link presentation is not available"))
|
|
64
64
|
});
|
|
65
65
|
return;
|
|
66
66
|
}
|
|
@@ -105,10 +105,10 @@ let MainThreadDataChannels = class MainThreadDataChannels extends Disposable {
|
|
|
105
105
|
kind: "resource",
|
|
106
106
|
status: {
|
|
107
107
|
kind: "error",
|
|
108
|
-
label: ( localize(
|
|
108
|
+
label: ( localize(2978, "Not available"))
|
|
109
109
|
},
|
|
110
|
-
tooltip: ( localize(
|
|
111
|
-
ariaLabel: ( localize(
|
|
110
|
+
tooltip: ( localize(2981, "The link presentation provider failed to load.")),
|
|
111
|
+
ariaLabel: ( localize(2980, "Link presentation is not available"))
|
|
112
112
|
});
|
|
113
113
|
});
|
|
114
114
|
return watcher;
|
|
@@ -14,7 +14,7 @@ class ExtHostEditSessionIdentityCreateParticipant {
|
|
|
14
14
|
}
|
|
15
15
|
async participate(workspaceFolder, token) {
|
|
16
16
|
const p = ( new Promise((resolve, reject) => {
|
|
17
|
-
setTimeout(() => reject(( new Error(( localize(
|
|
17
|
+
setTimeout(() => reject(( new Error(( localize(2982, "Aborted onWillCreateEditSessionIdentity-event after 10000ms"))))), this.timeout);
|
|
18
18
|
this._proxy.$onWillCreateEditSessionIdentity(workspaceFolder.uri, token, this.timeout).then(resolve, reject);
|
|
19
19
|
}));
|
|
20
20
|
return raceCancellationError(p, token);
|
|
@@ -111,7 +111,7 @@ let MainThreadExtensionService = class MainThreadExtensionService {
|
|
|
111
111
|
this._notificationService.notify({
|
|
112
112
|
severity: Severity.Error,
|
|
113
113
|
message: ( localize(
|
|
114
|
-
|
|
114
|
+
2983,
|
|
115
115
|
"Cannot activate the '{0}' extension because it depends on the '{1}' extension, which is not loaded. Would you like to reload the window to load the extension?",
|
|
116
116
|
extName,
|
|
117
117
|
missingInstalledDependency.manifest.displayName || missingInstalledDependency.manifest.name
|
|
@@ -119,7 +119,7 @@ let MainThreadExtensionService = class MainThreadExtensionService {
|
|
|
119
119
|
actions: {
|
|
120
120
|
primary: [toAction({
|
|
121
121
|
id: "reload",
|
|
122
|
-
label: ( localize(
|
|
122
|
+
label: ( localize(2984, "Reload Window")),
|
|
123
123
|
run: () => this._hostService.reload()
|
|
124
124
|
})]
|
|
125
125
|
}
|
|
@@ -130,7 +130,7 @@ let MainThreadExtensionService = class MainThreadExtensionService {
|
|
|
130
130
|
this._notificationService.notify({
|
|
131
131
|
severity: Severity.Error,
|
|
132
132
|
message: ( localize(
|
|
133
|
-
|
|
133
|
+
2985,
|
|
134
134
|
"Cannot activate the '{0}' extension because it depends on the '{1}' extension which is not supported in the current workspace",
|
|
135
135
|
extName,
|
|
136
136
|
missingInstalledDependency.manifest.displayName || missingInstalledDependency.manifest.name
|
|
@@ -140,7 +140,7 @@ let MainThreadExtensionService = class MainThreadExtensionService {
|
|
|
140
140
|
this._notificationService.notify({
|
|
141
141
|
severity: Severity.Error,
|
|
142
142
|
message: ( localize(
|
|
143
|
-
|
|
143
|
+
2986,
|
|
144
144
|
"Cannot activate the '{0}' extension because it depends on the '{1}' extension which is not supported in Restricted Mode",
|
|
145
145
|
extName,
|
|
146
146
|
missingInstalledDependency.manifest.displayName || missingInstalledDependency.manifest.name
|
|
@@ -148,7 +148,7 @@ let MainThreadExtensionService = class MainThreadExtensionService {
|
|
|
148
148
|
actions: {
|
|
149
149
|
primary: [toAction({
|
|
150
150
|
id: "manageWorkspaceTrust",
|
|
151
|
-
label: ( localize(
|
|
151
|
+
label: ( localize(2987, "Manage Workspace Trust")),
|
|
152
152
|
run: () => this._commandService.executeCommand("workbench.trust.manage")
|
|
153
153
|
})]
|
|
154
154
|
}
|
|
@@ -157,7 +157,7 @@ let MainThreadExtensionService = class MainThreadExtensionService {
|
|
|
157
157
|
this._notificationService.notify({
|
|
158
158
|
severity: Severity.Error,
|
|
159
159
|
message: ( localize(
|
|
160
|
-
|
|
160
|
+
2988,
|
|
161
161
|
"Cannot activate the '{0}' extension because it depends on the '{1}' extension which is disabled. Would you like to enable the extension and reload the window?",
|
|
162
162
|
extName,
|
|
163
163
|
missingInstalledDependency.manifest.displayName || missingInstalledDependency.manifest.name
|
|
@@ -165,7 +165,7 @@ let MainThreadExtensionService = class MainThreadExtensionService {
|
|
|
165
165
|
actions: {
|
|
166
166
|
primary: [toAction({
|
|
167
167
|
id: "enable",
|
|
168
|
-
label: ( localize(
|
|
168
|
+
label: ( localize(2989, "Enable and Reload")),
|
|
169
169
|
enabled: true,
|
|
170
170
|
run: () => this._extensionEnablementService.setEnablement(
|
|
171
171
|
[missingInstalledDependency],
|
|
@@ -178,7 +178,7 @@ let MainThreadExtensionService = class MainThreadExtensionService {
|
|
|
178
178
|
this._notificationService.notify({
|
|
179
179
|
severity: Severity.Error,
|
|
180
180
|
message: ( localize(
|
|
181
|
-
|
|
181
|
+
2990,
|
|
182
182
|
"Cannot activate the '{0}' extension because it depends on the '{1}' extension which is disabled.",
|
|
183
183
|
extName,
|
|
184
184
|
missingInstalledDependency.manifest.displayName || missingInstalledDependency.manifest.name
|
|
@@ -199,7 +199,7 @@ let MainThreadExtensionService = class MainThreadExtensionService {
|
|
|
199
199
|
this._notificationService.notify({
|
|
200
200
|
severity: Severity.Error,
|
|
201
201
|
message: ( localize(
|
|
202
|
-
|
|
202
|
+
2991,
|
|
203
203
|
"Cannot activate the '{0}' extension because it depends on the '{1}' extension from '{2}', which is not installed. Would you like to install the extension and reload the window?",
|
|
204
204
|
extName,
|
|
205
205
|
dependencyExtension.displayName,
|
|
@@ -208,14 +208,14 @@ let MainThreadExtensionService = class MainThreadExtensionService {
|
|
|
208
208
|
actions: {
|
|
209
209
|
primary: [toAction({
|
|
210
210
|
id: "install",
|
|
211
|
-
label: ( localize(
|
|
211
|
+
label: ( localize(2992, "Install and Reload")),
|
|
212
212
|
run: () => this._extensionsWorkbenchService.install(dependencyExtension).then(() => this._hostService.reload(), e => this._notificationService.error(e))
|
|
213
213
|
})]
|
|
214
214
|
}
|
|
215
215
|
});
|
|
216
216
|
} else {
|
|
217
217
|
this._notificationService.error(( localize(
|
|
218
|
-
|
|
218
|
+
2993,
|
|
219
219
|
"Cannot activate the '{0}' extension because it depends on an unknown '{1}' extension.",
|
|
220
220
|
extName,
|
|
221
221
|
missingDependency
|