@codingame/monaco-vscode-extensions-service-override 8.0.0 → 8.0.1
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 +28 -28
- package/vscode/src/vs/workbench/api/browser/mainThreadAuthentication.js +6 -6
- package/vscode/src/vs/workbench/api/browser/mainThreadCLICommands.js +1 -1
- 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/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 +1 -1
- 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/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/services/extensionManagement/browser/extensionBisect.js +23 -23
- 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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codingame/monaco-vscode-extensions-service-override",
|
|
3
|
-
"version": "8.0.
|
|
3
|
+
"version": "8.0.1",
|
|
4
4
|
"keywords": [],
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "CodinGame",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
}
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"vscode": "npm:@codingame/monaco-vscode-api@8.0.
|
|
30
|
-
"@codingame/monaco-vscode-files-service-override": "8.0.
|
|
29
|
+
"vscode": "npm:@codingame/monaco-vscode-api@8.0.1",
|
|
30
|
+
"@codingame/monaco-vscode-files-service-override": "8.0.1"
|
|
31
31
|
}
|
|
32
32
|
}
|
|
@@ -11,9 +11,9 @@ import { IExtensionManagementService, IExtensionGalleryService } from 'vscode/vs
|
|
|
11
11
|
import { getIdAndVersion, areSameExtensions, getGalleryExtensionId, getExtensionId } from 'vscode/vscode/vs/platform/extensionManagement/common/extensionManagementUtil';
|
|
12
12
|
import { ExtensionType, EXTENSION_CATEGORIES } from 'vscode/vscode/vs/platform/extensions/common/extensions';
|
|
13
13
|
|
|
14
|
-
const notFound = (id) => ( localize(
|
|
14
|
+
const notFound = (id) => ( localize(9793, "Extension '{0}' not found.", id));
|
|
15
15
|
const useId = ( localize(
|
|
16
|
-
|
|
16
|
+
9794,
|
|
17
17
|
"Make sure you use the full extension ID, including the publisher, e.g.: {0}",
|
|
18
18
|
'ms-dotnettools.csharp'
|
|
19
19
|
));
|
|
@@ -50,7 +50,7 @@ let ExtensionManagementCLI = class ExtensionManagementCLI {
|
|
|
50
50
|
return;
|
|
51
51
|
}
|
|
52
52
|
if (this.location) {
|
|
53
|
-
this.logger.info(( localize(
|
|
53
|
+
this.logger.info(( localize(9795, "Extensions installed on {0}:", this.location)));
|
|
54
54
|
}
|
|
55
55
|
extensions = extensions.sort((e1, e2) => e1.identifier.id.localeCompare(e2.identifier.id));
|
|
56
56
|
let lastId = undefined;
|
|
@@ -65,7 +65,7 @@ let ExtensionManagementCLI = class ExtensionManagementCLI {
|
|
|
65
65
|
const failed = [];
|
|
66
66
|
try {
|
|
67
67
|
if (extensions.length) {
|
|
68
|
-
this.logger.info(this.location ? ( localize(
|
|
68
|
+
this.logger.info(this.location ? ( localize(9796, "Installing extensions on {0}...", this.location)) : ( localize(9797, "Installing extensions...")));
|
|
69
69
|
}
|
|
70
70
|
const installVSIXInfos = [];
|
|
71
71
|
const installExtensionInfos = [];
|
|
@@ -108,11 +108,11 @@ let ExtensionManagementCLI = class ExtensionManagementCLI {
|
|
|
108
108
|
}
|
|
109
109
|
}
|
|
110
110
|
catch (error) {
|
|
111
|
-
this.logger.error(( localize(
|
|
111
|
+
this.logger.error(( localize(9798, "Error while installing extensions: {0}", getErrorMessage(error))));
|
|
112
112
|
throw error;
|
|
113
113
|
}
|
|
114
114
|
if (failed.length) {
|
|
115
|
-
throw ( (new Error(localize(
|
|
115
|
+
throw ( (new Error(localize(9799, "Failed Installing Extensions: {0}", failed.join(', ')))));
|
|
116
116
|
}
|
|
117
117
|
}
|
|
118
118
|
async updateExtensions(profileLocation) {
|
|
@@ -124,7 +124,7 @@ let ExtensionManagementCLI = class ExtensionManagementCLI {
|
|
|
124
124
|
}
|
|
125
125
|
}
|
|
126
126
|
this.logger.trace(( localize(
|
|
127
|
-
|
|
127
|
+
9800,
|
|
128
128
|
"Fetching latest versions for {0} extensions",
|
|
129
129
|
installedExtensionsQuery.length
|
|
130
130
|
)));
|
|
@@ -141,11 +141,11 @@ let ExtensionManagementCLI = class ExtensionManagementCLI {
|
|
|
141
141
|
}
|
|
142
142
|
}
|
|
143
143
|
if (!extensionsToUpdate.length) {
|
|
144
|
-
this.logger.info(( localize(
|
|
144
|
+
this.logger.info(( localize(9801, "No extension to update")));
|
|
145
145
|
return;
|
|
146
146
|
}
|
|
147
147
|
this.logger.info(( localize(
|
|
148
|
-
|
|
148
|
+
9802,
|
|
149
149
|
"Updating extensions: {0}",
|
|
150
150
|
( (extensionsToUpdate.map(ext => ext.extension.identifier.id))).join(', ')
|
|
151
151
|
)));
|
|
@@ -153,7 +153,7 @@ let ExtensionManagementCLI = class ExtensionManagementCLI {
|
|
|
153
153
|
for (const extensionResult of installationResult) {
|
|
154
154
|
if (extensionResult.error) {
|
|
155
155
|
this.logger.error(( localize(
|
|
156
|
-
|
|
156
|
+
9803,
|
|
157
157
|
"Error while updating extension {0}: {1}",
|
|
158
158
|
extensionResult.identifier.id,
|
|
159
159
|
getErrorMessage(extensionResult.error)
|
|
@@ -161,7 +161,7 @@ let ExtensionManagementCLI = class ExtensionManagementCLI {
|
|
|
161
161
|
}
|
|
162
162
|
else {
|
|
163
163
|
this.logger.info(( localize(
|
|
164
|
-
|
|
164
|
+
9804,
|
|
165
165
|
"Extension '{0}' v{1} was successfully updated.",
|
|
166
166
|
extensionResult.identifier.id,
|
|
167
167
|
extensionResult.local?.manifest.version
|
|
@@ -175,7 +175,7 @@ let ExtensionManagementCLI = class ExtensionManagementCLI {
|
|
|
175
175
|
if (installedExtension) {
|
|
176
176
|
if (!force && (!version || (version === 'prerelease' && installedExtension.preRelease))) {
|
|
177
177
|
this.logger.info(( localize(
|
|
178
|
-
|
|
178
|
+
9805,
|
|
179
179
|
"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'.",
|
|
180
180
|
id,
|
|
181
181
|
installedExtension.manifest.version,
|
|
@@ -184,7 +184,7 @@ let ExtensionManagementCLI = class ExtensionManagementCLI {
|
|
|
184
184
|
return false;
|
|
185
185
|
}
|
|
186
186
|
if (version && installedExtension.manifest.version === version) {
|
|
187
|
-
this.logger.info(( localize(
|
|
187
|
+
this.logger.info(( localize(9806, "Extension '{0}' is already installed.", `${id}@${version}`)));
|
|
188
188
|
return false;
|
|
189
189
|
}
|
|
190
190
|
}
|
|
@@ -218,24 +218,24 @@ let ExtensionManagementCLI = class ExtensionManagementCLI {
|
|
|
218
218
|
if (installedExtension) {
|
|
219
219
|
if (gallery.version === installedExtension.manifest.version) {
|
|
220
220
|
this.logger.info(( localize(
|
|
221
|
-
|
|
221
|
+
9806,
|
|
222
222
|
"Extension '{0}' is already installed.",
|
|
223
223
|
version ? `${id}@${version}` : id
|
|
224
224
|
)));
|
|
225
225
|
return;
|
|
226
226
|
}
|
|
227
227
|
this.logger.info(( localize(
|
|
228
|
-
|
|
228
|
+
9807,
|
|
229
229
|
"Updating the extension '{0}' to the version {1}",
|
|
230
230
|
id,
|
|
231
231
|
gallery.version
|
|
232
232
|
)));
|
|
233
233
|
}
|
|
234
234
|
if (installOptions.isBuiltin) {
|
|
235
|
-
this.logger.info(version ? ( localize(
|
|
235
|
+
this.logger.info(version ? ( localize(9808, "Installing builtin extension '{0}' v{1}...", id, version)) : ( localize(9809, "Installing builtin extension '{0}'...", id)));
|
|
236
236
|
}
|
|
237
237
|
else {
|
|
238
|
-
this.logger.info(version ? ( localize(
|
|
238
|
+
this.logger.info(version ? ( localize(9810, "Installing extension '{0}' v{1}...", id, version)) : ( localize(9811, "Installing extension '{0}'...", id)));
|
|
239
239
|
}
|
|
240
240
|
extensionsToInstall.push({
|
|
241
241
|
extension: gallery,
|
|
@@ -247,7 +247,7 @@ let ExtensionManagementCLI = class ExtensionManagementCLI {
|
|
|
247
247
|
for (const extensionResult of installationResult) {
|
|
248
248
|
if (extensionResult.error) {
|
|
249
249
|
this.logger.error(( localize(
|
|
250
|
-
|
|
250
|
+
9812,
|
|
251
251
|
"Error while installing extension {0}: {1}",
|
|
252
252
|
extensionResult.identifier.id,
|
|
253
253
|
getErrorMessage(extensionResult.error)
|
|
@@ -256,7 +256,7 @@ let ExtensionManagementCLI = class ExtensionManagementCLI {
|
|
|
256
256
|
}
|
|
257
257
|
else {
|
|
258
258
|
this.logger.info(( localize(
|
|
259
|
-
|
|
259
|
+
9813,
|
|
260
260
|
"Extension '{0}' v{1} was successfully installed.",
|
|
261
261
|
extensionResult.identifier.id,
|
|
262
262
|
extensionResult.local?.manifest.version
|
|
@@ -275,11 +275,11 @@ let ExtensionManagementCLI = class ExtensionManagementCLI {
|
|
|
275
275
|
if (valid) {
|
|
276
276
|
try {
|
|
277
277
|
await this.extensionManagementService.install(vsix, { ...installOptions, installGivenVersion: true });
|
|
278
|
-
this.logger.info(( localize(
|
|
278
|
+
this.logger.info(( localize(9814, "Extension '{0}' was successfully installed.", basename(vsix))));
|
|
279
279
|
}
|
|
280
280
|
catch (error) {
|
|
281
281
|
if (isCancellationError(error)) {
|
|
282
|
-
this.logger.info(( localize(
|
|
282
|
+
this.logger.info(( localize(9815, "Cancelled installing extension '{0}'.", basename(vsix))));
|
|
283
283
|
}
|
|
284
284
|
else {
|
|
285
285
|
throw error;
|
|
@@ -314,7 +314,7 @@ let ExtensionManagementCLI = class ExtensionManagementCLI {
|
|
|
314
314
|
const newer = installedExtensions.find(local => areSameExtensions(extensionIdentifier, local.identifier) && semverExports.gt(local.manifest.version, manifest.version));
|
|
315
315
|
if (newer) {
|
|
316
316
|
this.logger.info(( localize(
|
|
317
|
-
|
|
317
|
+
9816,
|
|
318
318
|
"A newer version of extension '{0}' v{1} is already installed. Use '--force' option to downgrade to older version.",
|
|
319
319
|
newer.identifier.id,
|
|
320
320
|
newer.manifest.version,
|
|
@@ -342,7 +342,7 @@ let ExtensionManagementCLI = class ExtensionManagementCLI {
|
|
|
342
342
|
}
|
|
343
343
|
if (( (extensionsToUninstall.some(e => e.type === ExtensionType.System)))) {
|
|
344
344
|
this.logger.info(( localize(
|
|
345
|
-
|
|
345
|
+
9817,
|
|
346
346
|
"Extension '{0}' is a Built-in extension and cannot be uninstalled",
|
|
347
347
|
id
|
|
348
348
|
)));
|
|
@@ -350,26 +350,26 @@ let ExtensionManagementCLI = class ExtensionManagementCLI {
|
|
|
350
350
|
}
|
|
351
351
|
if (!force && ( (extensionsToUninstall.some(e => e.isBuiltin)))) {
|
|
352
352
|
this.logger.info(( localize(
|
|
353
|
-
|
|
353
|
+
9818,
|
|
354
354
|
"Extension '{0}' is marked as a Built-in extension by user. Please use '--force' option to uninstall it.",
|
|
355
355
|
id
|
|
356
356
|
)));
|
|
357
357
|
return;
|
|
358
358
|
}
|
|
359
|
-
this.logger.info(( localize(
|
|
359
|
+
this.logger.info(( localize(9819, "Uninstalling {0}...", id)));
|
|
360
360
|
for (const extensionToUninstall of extensionsToUninstall) {
|
|
361
361
|
await this.extensionManagementService.uninstall(extensionToUninstall, { profileLocation });
|
|
362
362
|
}
|
|
363
363
|
if (this.location) {
|
|
364
364
|
this.logger.info(( localize(
|
|
365
|
-
|
|
365
|
+
9820,
|
|
366
366
|
"Extension '{0}' was successfully uninstalled from {1}!",
|
|
367
367
|
id,
|
|
368
368
|
this.location
|
|
369
369
|
)));
|
|
370
370
|
}
|
|
371
371
|
else {
|
|
372
|
-
this.logger.info(( localize(
|
|
372
|
+
this.logger.info(( localize(9821, "Extension '{0}' was successfully uninstalled!", id)));
|
|
373
373
|
}
|
|
374
374
|
}
|
|
375
375
|
}
|
|
@@ -387,7 +387,7 @@ let ExtensionManagementCLI = class ExtensionManagementCLI {
|
|
|
387
387
|
});
|
|
388
388
|
}
|
|
389
389
|
notInstalled(id) {
|
|
390
|
-
return this.location ? ( localize(
|
|
390
|
+
return this.location ? ( localize(9822, "Extension '{0}' is not installed on {1}.", id, this.location)) : ( localize(9823, "Extension '{0}' is not installed.", id));
|
|
391
391
|
}
|
|
392
392
|
};
|
|
393
393
|
ExtensionManagementCLI = ( (__decorate([
|
|
@@ -36,7 +36,7 @@ class MainThreadAuthenticationProvider extends Disposable {
|
|
|
36
36
|
}
|
|
37
37
|
async removeSession(sessionId) {
|
|
38
38
|
await this._proxy.$removeSession(this.id, sessionId);
|
|
39
|
-
this.notificationService.info(( localize(
|
|
39
|
+
this.notificationService.info(( localize(4878, "Successfully signed out.")));
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
42
|
let MainThreadAuthentication = class MainThreadAuthentication extends Disposable {
|
|
@@ -92,7 +92,7 @@ let MainThreadAuthentication = class MainThreadAuthentication extends Disposable
|
|
|
92
92
|
let message;
|
|
93
93
|
if (provider.id.startsWith(INTERNAL_AUTH_PROVIDER_PREFIX)) {
|
|
94
94
|
message = ( localize(
|
|
95
|
-
|
|
95
|
+
4879,
|
|
96
96
|
"The extension '{0}' wants to access the language models provided by {1}.",
|
|
97
97
|
extensionName,
|
|
98
98
|
provider.label
|
|
@@ -101,13 +101,13 @@ let MainThreadAuthentication = class MainThreadAuthentication extends Disposable
|
|
|
101
101
|
else {
|
|
102
102
|
message = recreatingSession
|
|
103
103
|
? ( localize(
|
|
104
|
-
|
|
104
|
+
4880,
|
|
105
105
|
"The extension '{0}' wants you to sign in again using {1}.",
|
|
106
106
|
extensionName,
|
|
107
107
|
provider.label
|
|
108
108
|
))
|
|
109
109
|
: ( localize(
|
|
110
|
-
|
|
110
|
+
4881,
|
|
111
111
|
"The extension '{0}' wants to sign in using {1}.",
|
|
112
112
|
extensionName,
|
|
113
113
|
provider.label
|
|
@@ -115,7 +115,7 @@ let MainThreadAuthentication = class MainThreadAuthentication extends Disposable
|
|
|
115
115
|
}
|
|
116
116
|
const buttons = [
|
|
117
117
|
{
|
|
118
|
-
label: ( localize(
|
|
118
|
+
label: ( localize(4882, "&&Allow")),
|
|
119
119
|
run() {
|
|
120
120
|
return true;
|
|
121
121
|
},
|
|
@@ -123,7 +123,7 @@ let MainThreadAuthentication = class MainThreadAuthentication extends Disposable
|
|
|
123
123
|
];
|
|
124
124
|
if (options?.learnMore) {
|
|
125
125
|
buttons.push({
|
|
126
|
-
label: ( localize(
|
|
126
|
+
label: ( localize(4883, "Learn more")),
|
|
127
127
|
run: async () => {
|
|
128
128
|
const result = this.loginPrompt(provider, extensionName, recreatingSession, options);
|
|
129
129
|
await this.openerService.open(URI.revive(options.learnMore), { allowCommands: true });
|
|
@@ -85,7 +85,7 @@ let RemoteExtensionManagementCLI = class RemoteExtensionManagementCLI extends Ex
|
|
|
85
85
|
if (!this._extensionManifestPropertiesService.canExecuteOnWorkspace(manifest)
|
|
86
86
|
&& !(isWeb && this._extensionManifestPropertiesService.canExecuteOnWeb(manifest))) {
|
|
87
87
|
this.logger.info(( localize(
|
|
88
|
-
|
|
88
|
+
4829,
|
|
89
89
|
"Cannot install the '{0}' extension because it is declared to not run in this setup.",
|
|
90
90
|
getExtensionId(manifest.publisher, manifest.name)
|
|
91
91
|
)));
|
|
@@ -416,7 +416,7 @@ class MainThreadCommentController {
|
|
|
416
416
|
};
|
|
417
417
|
}
|
|
418
418
|
}
|
|
419
|
-
const commentsViewIcon = registerIcon('comments-view-icon', Codicon.commentDiscussion, ( localize(
|
|
419
|
+
const commentsViewIcon = registerIcon('comments-view-icon', Codicon.commentDiscussion, ( localize(4873, 'View icon of the comments view.')));
|
|
420
420
|
let MainThreadComments = class MainThreadComments extends Disposable {
|
|
421
421
|
constructor(extHostContext, _commentService, _viewsService, _viewDescriptorService, _uriIdentityService, _editorService) {
|
|
422
422
|
super();
|
|
@@ -305,7 +305,7 @@ let MainThreadCustomEditorModel = MainThreadCustomEditorModel_1 = class MainThre
|
|
|
305
305
|
return true;
|
|
306
306
|
}
|
|
307
307
|
return false;
|
|
308
|
-
})(), ( localize(
|
|
308
|
+
})(), ( localize(9824, "Custom editor '{0}' could not be saved.", this.name)));
|
|
309
309
|
}));
|
|
310
310
|
}
|
|
311
311
|
if (startDirty) {
|
|
@@ -372,7 +372,7 @@ let MainThreadCustomEditorModel = MainThreadCustomEditorModel_1 = class MainThre
|
|
|
372
372
|
this._undoService.pushElement({
|
|
373
373
|
type: UndoRedoElementType.Resource,
|
|
374
374
|
resource: this._editorResource,
|
|
375
|
-
label: label ?? ( localize(
|
|
375
|
+
label: label ?? ( localize(9825, "Edit")),
|
|
376
376
|
code: 'undoredo.customEditorEdit',
|
|
377
377
|
undo: () => this.undo(),
|
|
378
378
|
redo: () => this.redo(),
|
|
@@ -13,7 +13,7 @@ class ExtHostEditSessionIdentityCreateParticipant {
|
|
|
13
13
|
}
|
|
14
14
|
async participate(workspaceFolder, token) {
|
|
15
15
|
const p = ( (new Promise((resolve, reject) => {
|
|
16
|
-
setTimeout(() => reject(( (new Error(( localize(
|
|
16
|
+
setTimeout(() => reject(( (new Error(( localize(4865, "Aborted onWillCreateEditSessionIdentity-event after 10000ms")))))), this.timeout);
|
|
17
17
|
this._proxy.$onWillCreateEditSessionIdentity(workspaceFolder.uri, token, this.timeout).then(resolve, reject);
|
|
18
18
|
})));
|
|
19
19
|
return raceCancellationError(p, token);
|
|
@@ -90,13 +90,13 @@ let MainThreadExtensionService = class MainThreadExtensionService {
|
|
|
90
90
|
this._notificationService.notify({
|
|
91
91
|
severity: Severity$1.Error,
|
|
92
92
|
message: ( localize(
|
|
93
|
-
|
|
93
|
+
4830,
|
|
94
94
|
"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?",
|
|
95
95
|
extName,
|
|
96
96
|
missingInstalledDependency.manifest.displayName || missingInstalledDependency.manifest.name
|
|
97
97
|
)),
|
|
98
98
|
actions: {
|
|
99
|
-
primary: [( (new Action('reload', ( localize(
|
|
99
|
+
primary: [( (new Action('reload', ( localize(4831, "Reload Window")), '', true, () => this._hostService.reload())))]
|
|
100
100
|
}
|
|
101
101
|
});
|
|
102
102
|
}
|
|
@@ -106,7 +106,7 @@ let MainThreadExtensionService = class MainThreadExtensionService {
|
|
|
106
106
|
this._notificationService.notify({
|
|
107
107
|
severity: Severity$1.Error,
|
|
108
108
|
message: ( localize(
|
|
109
|
-
|
|
109
|
+
4832,
|
|
110
110
|
"Cannot activate the '{0}' extension because it depends on the '{1}' extension which is not supported in the current workspace",
|
|
111
111
|
extName,
|
|
112
112
|
missingInstalledDependency.manifest.displayName || missingInstalledDependency.manifest.name
|
|
@@ -117,13 +117,13 @@ let MainThreadExtensionService = class MainThreadExtensionService {
|
|
|
117
117
|
this._notificationService.notify({
|
|
118
118
|
severity: Severity$1.Error,
|
|
119
119
|
message: ( localize(
|
|
120
|
-
|
|
120
|
+
4833,
|
|
121
121
|
"Cannot activate the '{0}' extension because it depends on the '{1}' extension which is not supported in Restricted Mode",
|
|
122
122
|
extName,
|
|
123
123
|
missingInstalledDependency.manifest.displayName || missingInstalledDependency.manifest.name
|
|
124
124
|
)),
|
|
125
125
|
actions: {
|
|
126
|
-
primary: [( (new Action('manageWorkspaceTrust', ( localize(
|
|
126
|
+
primary: [( (new Action('manageWorkspaceTrust', ( localize(4834, "Manage Workspace Trust")), '', true, () => this._commandService.executeCommand('workbench.trust.manage'))))]
|
|
127
127
|
}
|
|
128
128
|
});
|
|
129
129
|
}
|
|
@@ -131,13 +131,13 @@ let MainThreadExtensionService = class MainThreadExtensionService {
|
|
|
131
131
|
this._notificationService.notify({
|
|
132
132
|
severity: Severity$1.Error,
|
|
133
133
|
message: ( localize(
|
|
134
|
-
|
|
134
|
+
4835,
|
|
135
135
|
"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?",
|
|
136
136
|
extName,
|
|
137
137
|
missingInstalledDependency.manifest.displayName || missingInstalledDependency.manifest.name
|
|
138
138
|
)),
|
|
139
139
|
actions: {
|
|
140
|
-
primary: [( (new Action('enable', ( localize(
|
|
140
|
+
primary: [( (new Action('enable', ( localize(4836, "Enable and Reload")), '', true, () => this._extensionEnablementService.setEnablement([missingInstalledDependency], enablementState === EnablementState.DisabledGlobally ? EnablementState.EnabledGlobally : EnablementState.EnabledWorkspace)
|
|
141
141
|
.then(() => this._hostService.reload(), e => this._notificationService.error(e)))))]
|
|
142
142
|
}
|
|
143
143
|
});
|
|
@@ -146,7 +146,7 @@ let MainThreadExtensionService = class MainThreadExtensionService {
|
|
|
146
146
|
this._notificationService.notify({
|
|
147
147
|
severity: Severity$1.Error,
|
|
148
148
|
message: ( localize(
|
|
149
|
-
|
|
149
|
+
4837,
|
|
150
150
|
"Cannot activate the '{0}' extension because it depends on the '{1}' extension which is disabled.",
|
|
151
151
|
extName,
|
|
152
152
|
missingInstalledDependency.manifest.displayName || missingInstalledDependency.manifest.name
|
|
@@ -167,21 +167,21 @@ let MainThreadExtensionService = class MainThreadExtensionService {
|
|
|
167
167
|
this._notificationService.notify({
|
|
168
168
|
severity: Severity$1.Error,
|
|
169
169
|
message: ( localize(
|
|
170
|
-
|
|
170
|
+
4838,
|
|
171
171
|
"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?",
|
|
172
172
|
extName,
|
|
173
173
|
dependencyExtension.displayName,
|
|
174
174
|
dependencyExtension.publisherDisplayName
|
|
175
175
|
)),
|
|
176
176
|
actions: {
|
|
177
|
-
primary: [( (new Action('install', ( localize(
|
|
177
|
+
primary: [( (new Action('install', ( localize(4839, "Install and Reload")), '', true, () => this._extensionsWorkbenchService.install(dependencyExtension)
|
|
178
178
|
.then(() => this._hostService.reload(), e => this._notificationService.error(e)))))]
|
|
179
179
|
}
|
|
180
180
|
});
|
|
181
181
|
}
|
|
182
182
|
else {
|
|
183
183
|
this._notificationService.error(( localize(
|
|
184
|
-
|
|
184
|
+
4840,
|
|
185
185
|
"Cannot activate the '{0}' extension because it depends on an unknown '{1}' extension.",
|
|
186
186
|
extName,
|
|
187
187
|
missingDependency
|
|
@@ -81,28 +81,28 @@ let MainThreadFileSystemEventService = class MainThreadFileSystemEventService {
|
|
|
81
81
|
if (data.extensionNames.length === 1) {
|
|
82
82
|
if (operation === FileOperation.CREATE) {
|
|
83
83
|
message = ( localize(
|
|
84
|
-
|
|
84
|
+
4841,
|
|
85
85
|
"Extension '{0}' wants to make refactoring changes with this file creation",
|
|
86
86
|
data.extensionNames[0]
|
|
87
87
|
));
|
|
88
88
|
}
|
|
89
89
|
else if (operation === FileOperation.COPY) {
|
|
90
90
|
message = ( localize(
|
|
91
|
-
|
|
91
|
+
4842,
|
|
92
92
|
"Extension '{0}' wants to make refactoring changes with this file copy",
|
|
93
93
|
data.extensionNames[0]
|
|
94
94
|
));
|
|
95
95
|
}
|
|
96
96
|
else if (operation === FileOperation.MOVE) {
|
|
97
97
|
message = ( localize(
|
|
98
|
-
|
|
98
|
+
4843,
|
|
99
99
|
"Extension '{0}' wants to make refactoring changes with this file move",
|
|
100
100
|
data.extensionNames[0]
|
|
101
101
|
));
|
|
102
102
|
}
|
|
103
103
|
else {
|
|
104
104
|
message = ( localize(
|
|
105
|
-
|
|
105
|
+
4844,
|
|
106
106
|
"Extension '{0}' wants to make refactoring changes with this file deletion",
|
|
107
107
|
data.extensionNames[0]
|
|
108
108
|
));
|
|
@@ -111,28 +111,28 @@ let MainThreadFileSystemEventService = class MainThreadFileSystemEventService {
|
|
|
111
111
|
else {
|
|
112
112
|
if (operation === FileOperation.CREATE) {
|
|
113
113
|
message = ( localize(
|
|
114
|
-
|
|
114
|
+
4845,
|
|
115
115
|
"{0} extensions want to make refactoring changes with this file creation",
|
|
116
116
|
data.extensionNames.length
|
|
117
117
|
));
|
|
118
118
|
}
|
|
119
119
|
else if (operation === FileOperation.COPY) {
|
|
120
120
|
message = ( localize(
|
|
121
|
-
|
|
121
|
+
4846,
|
|
122
122
|
"{0} extensions want to make refactoring changes with this file copy",
|
|
123
123
|
data.extensionNames.length
|
|
124
124
|
));
|
|
125
125
|
}
|
|
126
126
|
else if (operation === FileOperation.MOVE) {
|
|
127
127
|
message = ( localize(
|
|
128
|
-
|
|
128
|
+
4847,
|
|
129
129
|
"{0} extensions want to make refactoring changes with this file move",
|
|
130
130
|
data.extensionNames.length
|
|
131
131
|
));
|
|
132
132
|
}
|
|
133
133
|
else {
|
|
134
134
|
message = ( localize(
|
|
135
|
-
|
|
135
|
+
4848,
|
|
136
136
|
"{0} extensions want to make refactoring changes with this file deletion",
|
|
137
137
|
data.extensionNames.length
|
|
138
138
|
));
|
|
@@ -142,8 +142,8 @@ let MainThreadFileSystemEventService = class MainThreadFileSystemEventService {
|
|
|
142
142
|
const { confirmed } = await dialogService.confirm({
|
|
143
143
|
type: Severity$1.Info,
|
|
144
144
|
message,
|
|
145
|
-
primaryButton: ( localize(
|
|
146
|
-
cancelButton: ( localize(
|
|
145
|
+
primaryButton: ( localize(4849, "Show &&Preview")),
|
|
146
|
+
cancelButton: ( localize(4850, "Skip Changes"))
|
|
147
147
|
});
|
|
148
148
|
showPreview = true;
|
|
149
149
|
if (!confirmed) {
|
|
@@ -162,19 +162,19 @@ let MainThreadFileSystemEventService = class MainThreadFileSystemEventService {
|
|
|
162
162
|
message,
|
|
163
163
|
buttons: [
|
|
164
164
|
{
|
|
165
|
-
label: ( localize(
|
|
165
|
+
label: ( localize(4851, "&&OK")),
|
|
166
166
|
run: () => Choice.OK
|
|
167
167
|
},
|
|
168
168
|
{
|
|
169
|
-
label: ( localize(
|
|
169
|
+
label: ( localize(4849, "Show &&Preview")),
|
|
170
170
|
run: () => Choice.Preview
|
|
171
171
|
}
|
|
172
172
|
],
|
|
173
173
|
cancelButton: {
|
|
174
|
-
label: ( localize(
|
|
174
|
+
label: ( localize(4850, "Skip Changes")),
|
|
175
175
|
run: () => Choice.Cancel
|
|
176
176
|
},
|
|
177
|
-
checkbox: { label: ( localize(
|
|
177
|
+
checkbox: { label: ( localize(4852, "Do not ask me again")) }
|
|
178
178
|
});
|
|
179
179
|
if (result === Choice.Cancel) {
|
|
180
180
|
return;
|
|
@@ -191,15 +191,15 @@ let MainThreadFileSystemEventService = class MainThreadFileSystemEventService {
|
|
|
191
191
|
_progressLabel(operation) {
|
|
192
192
|
switch (operation) {
|
|
193
193
|
case FileOperation.CREATE:
|
|
194
|
-
return ( localize(
|
|
194
|
+
return ( localize(4853, "Running 'File Create' participants..."));
|
|
195
195
|
case FileOperation.MOVE:
|
|
196
|
-
return ( localize(
|
|
196
|
+
return ( localize(4854, "Running 'File Rename' participants..."));
|
|
197
197
|
case FileOperation.COPY:
|
|
198
|
-
return ( localize(
|
|
198
|
+
return ( localize(4855, "Running 'File Copy' participants..."));
|
|
199
199
|
case FileOperation.DELETE:
|
|
200
|
-
return ( localize(
|
|
200
|
+
return ( localize(4856, "Running 'File Delete' participants..."));
|
|
201
201
|
case FileOperation.WRITE:
|
|
202
|
-
return ( localize(
|
|
202
|
+
return ( localize(4857, "Running 'File Write' participants..."));
|
|
203
203
|
}
|
|
204
204
|
}
|
|
205
205
|
});
|
|
@@ -301,7 +301,7 @@ registerAction2(class ResetMemento extends Action2 {
|
|
|
301
301
|
super({
|
|
302
302
|
id: 'files.participants.resetChoice',
|
|
303
303
|
title: {
|
|
304
|
-
value: ( localize(
|
|
304
|
+
value: ( localize(4858, "Reset choice for 'File operation needs preview'")),
|
|
305
305
|
original: `Reset choice for 'File operation needs preview'`
|
|
306
306
|
},
|
|
307
307
|
f1: true
|
|
@@ -129,7 +129,7 @@ let MainThreadLanguageModels = class MainThreadLanguageModels {
|
|
|
129
129
|
if (this._authenticationService.getProviderIds().includes(authProviderId)) {
|
|
130
130
|
return Disposable.None;
|
|
131
131
|
}
|
|
132
|
-
const accountLabel = auth.accountLabel ?? ( localize(
|
|
132
|
+
const accountLabel = auth.accountLabel ?? ( localize(4828, 'Language Models'));
|
|
133
133
|
const disposables = ( (new DisposableStore()));
|
|
134
134
|
this._authenticationService.registerAuthenticationProvider(authProviderId, ( (new LanguageModelAccessAuthProvider(authProviderId, auth.providerLabel, accountLabel))));
|
|
135
135
|
disposables.add(toDisposable(() => {
|
|
@@ -51,13 +51,13 @@ let MainThreadMessageService = class MainThreadMessageService {
|
|
|
51
51
|
};
|
|
52
52
|
}
|
|
53
53
|
if (!source) {
|
|
54
|
-
source = ( localize(
|
|
54
|
+
source = ( localize(4859, "Extension"));
|
|
55
55
|
}
|
|
56
56
|
const secondaryActions = [];
|
|
57
57
|
if (options.source) {
|
|
58
58
|
secondaryActions.push(toAction({
|
|
59
59
|
id: options.source.identifier.value,
|
|
60
|
-
label: ( localize(
|
|
60
|
+
label: ( localize(4860, "Manage Extension")),
|
|
61
61
|
run: () => {
|
|
62
62
|
return this._commandService.executeCommand('_extensions.manage', options.source.identifier.value);
|
|
63
63
|
}
|
|
@@ -93,13 +93,13 @@ let MainThreadMessageService = class MainThreadMessageService {
|
|
|
93
93
|
if (!cancelButton) {
|
|
94
94
|
if (buttons.length > 0) {
|
|
95
95
|
cancelButton = {
|
|
96
|
-
label: ( localize(
|
|
96
|
+
label: ( localize(4861, "Cancel")),
|
|
97
97
|
run: () => undefined
|
|
98
98
|
};
|
|
99
99
|
}
|
|
100
100
|
else {
|
|
101
101
|
cancelButton = {
|
|
102
|
-
label: ( localize(
|
|
102
|
+
label: ( localize(4862, "&&OK")),
|
|
103
103
|
run: () => undefined
|
|
104
104
|
};
|
|
105
105
|
}
|
|
@@ -17,7 +17,7 @@ class ExtHostNotebookDocumentSaveParticipant {
|
|
|
17
17
|
}
|
|
18
18
|
let _warningTimeout;
|
|
19
19
|
const p = ( (new Promise((resolve, reject) => {
|
|
20
|
-
_warningTimeout = setTimeout(() => reject(( (new Error(( localize(
|
|
20
|
+
_warningTimeout = setTimeout(() => reject(( (new Error(( localize(4874, "Aborted onWillSaveNotebookDocument-event after 1750ms")))))), 1750);
|
|
21
21
|
this._proxy.$participateInSave(workingCopy.resource, context.reason, token).then(_ => {
|
|
22
22
|
clearTimeout(_warningTimeout);
|
|
23
23
|
return undefined;
|
|
@@ -31,7 +31,7 @@ let MainThreadProgress = class MainThreadProgress {
|
|
|
31
31
|
const notificationOptions = {
|
|
32
32
|
...options,
|
|
33
33
|
location: ProgressLocation.Notification,
|
|
34
|
-
secondaryActions: [( (new ManageExtensionAction(extensionId, ( localize(
|
|
34
|
+
secondaryActions: [( (new ManageExtensionAction(extensionId, ( localize(4863, "Manage Extension")), this._commandService)))]
|
|
35
35
|
};
|
|
36
36
|
options = notificationOptions;
|
|
37
37
|
}
|
|
@@ -16,7 +16,7 @@ class ExtHostSaveParticipant {
|
|
|
16
16
|
return undefined;
|
|
17
17
|
}
|
|
18
18
|
const p = ( (new Promise((resolve, reject) => {
|
|
19
|
-
setTimeout(() => reject(( (new Error(( localize(
|
|
19
|
+
setTimeout(() => reject(( (new Error(( localize(4864, "Aborted onWillSaveTextDocument-event after 1750ms")))))), 1750);
|
|
20
20
|
this._proxy.$participateInSave(editorModel.resource, context.reason).then(values => {
|
|
21
21
|
if (!values.every(success => success)) {
|
|
22
22
|
return Promise.reject(( (new Error('listener failed'))));
|
|
@@ -377,7 +377,7 @@ var TaskDTO;
|
|
|
377
377
|
}
|
|
378
378
|
command.presentation = TaskPresentationOptionsDTO.to(task.presentationOptions);
|
|
379
379
|
const source = TaskSourceDTO.to(task.source, workspace);
|
|
380
|
-
const label = ( localize(
|
|
380
|
+
const label = ( localize(4875, '{0}: {1}', source.label, task.name));
|
|
381
381
|
const definition = TaskDefinitionDTO.to(task.definition, executeOnly);
|
|
382
382
|
const id = (CustomExecutionDTO.is(task.execution) && task._id) ? task._id : `${task.source.extensionId}.${definition._key}`;
|
|
383
383
|
const result = ( (new
|
|
@@ -109,13 +109,13 @@ let MainThreadTunnelService = class MainThreadTunnelService extends Disposable {
|
|
|
109
109
|
}
|
|
110
110
|
async elevationPrompt(tunnelOptions, tunnel, source) {
|
|
111
111
|
return this.notificationService.prompt(Severity$1.Info, ( localize(
|
|
112
|
-
|
|
112
|
+
4876,
|
|
113
113
|
"The extension {0} has forwarded port {1}. You'll need to run as superuser to use port {2} locally.",
|
|
114
114
|
source,
|
|
115
115
|
tunnelOptions.remoteAddress.port,
|
|
116
116
|
tunnelOptions.localAddressPort
|
|
117
117
|
)), [{
|
|
118
|
-
label: ( localize(
|
|
118
|
+
label: ( localize(4877, "Use Port {0} as Sudo...", tunnel.tunnelRemotePort)),
|
|
119
119
|
run: async () => {
|
|
120
120
|
this.elevateionRetry = true;
|
|
121
121
|
await this.remoteExplorerService.close({ host: tunnel.tunnelRemoteHost, port: tunnel.tunnelRemotePort }, TunnelCloseReason.Other);
|
|
@@ -51,7 +51,7 @@ let MainThreadUriOpeners = class MainThreadUriOpeners extends Disposable {
|
|
|
51
51
|
}
|
|
52
52
|
catch (e) {
|
|
53
53
|
if (!isCancellationError(e)) {
|
|
54
|
-
const openDefaultAction = ( (new Action('default', ( localize(
|
|
54
|
+
const openDefaultAction = ( (new Action('default', ( localize(4866, "Open using default opener")), undefined, undefined, async () => {
|
|
55
55
|
await this.openerService.open(uri, {
|
|
56
56
|
allowTunneling: false,
|
|
57
57
|
allowContributedOpeners: defaultExternalUriOpenerId,
|
|
@@ -61,7 +61,7 @@ let MainThreadUriOpeners = class MainThreadUriOpeners extends Disposable {
|
|
|
61
61
|
this.notificationService.notify({
|
|
62
62
|
severity: Severity$1.Error,
|
|
63
63
|
message: ( localize(
|
|
64
|
-
|
|
64
|
+
4867,
|
|
65
65
|
'Could not open uri with \'{0}\': {1}',
|
|
66
66
|
id,
|
|
67
67
|
(e.toString())
|
|
@@ -103,7 +103,7 @@ let MainThreadWebviews = class MainThreadWebviews extends Disposable {
|
|
|
103
103
|
<meta http-equiv="Content-type" content="text/html;charset=UTF-8">
|
|
104
104
|
<meta http-equiv="Content-Security-Policy" content="default-src 'none';">
|
|
105
105
|
</head>
|
|
106
|
-
<body>${( localize(
|
|
106
|
+
<body>${( localize(9792, "An error occurred while loading view: {0}", escape(viewType)))}</body>
|
|
107
107
|
</html>`;
|
|
108
108
|
}
|
|
109
109
|
};
|
|
@@ -75,11 +75,11 @@ let MainThreadWorkspace = class MainThreadWorkspace {
|
|
|
75
75
|
const wantsToDelete = removeCount > 0;
|
|
76
76
|
if (wantsToAdd && !wantsToDelete) {
|
|
77
77
|
if (addCount === 1) {
|
|
78
|
-
message = ( localize(
|
|
78
|
+
message = ( localize(4868, "Extension '{0}' added 1 folder to the workspace", extensionName));
|
|
79
79
|
}
|
|
80
80
|
else {
|
|
81
81
|
message = ( localize(
|
|
82
|
-
|
|
82
|
+
4869,
|
|
83
83
|
"Extension '{0}' added {1} folders to the workspace",
|
|
84
84
|
extensionName,
|
|
85
85
|
addCount
|
|
@@ -88,11 +88,11 @@ let MainThreadWorkspace = class MainThreadWorkspace {
|
|
|
88
88
|
}
|
|
89
89
|
else if (wantsToDelete && !wantsToAdd) {
|
|
90
90
|
if (removeCount === 1) {
|
|
91
|
-
message = ( localize(
|
|
91
|
+
message = ( localize(4870, "Extension '{0}' removed 1 folder from the workspace", extensionName));
|
|
92
92
|
}
|
|
93
93
|
else {
|
|
94
94
|
message = ( localize(
|
|
95
|
-
|
|
95
|
+
4871,
|
|
96
96
|
"Extension '{0}' removed {1} folders from the workspace",
|
|
97
97
|
extensionName,
|
|
98
98
|
removeCount
|
|
@@ -100,7 +100,7 @@ let MainThreadWorkspace = class MainThreadWorkspace {
|
|
|
100
100
|
}
|
|
101
101
|
}
|
|
102
102
|
else {
|
|
103
|
-
message = ( localize(
|
|
103
|
+
message = ( localize(4872, "Extension '{0}' changed folders of the workspace", extensionName));
|
|
104
104
|
}
|
|
105
105
|
return message;
|
|
106
106
|
}
|
|
@@ -141,11 +141,11 @@ let ExtensionBisectUi = class ExtensionBisectUi {
|
|
|
141
141
|
}
|
|
142
142
|
_showBisectPrompt() {
|
|
143
143
|
const goodPrompt = {
|
|
144
|
-
label: ( localize(
|
|
144
|
+
label: ( localize(1138, "I can't reproduce")),
|
|
145
145
|
run: () => this._commandService.executeCommand('extension.bisect.next', false)
|
|
146
146
|
};
|
|
147
147
|
const badPrompt = {
|
|
148
|
-
label: ( localize(
|
|
148
|
+
label: ( localize(1139, "I can reproduce")),
|
|
149
149
|
run: () => this._commandService.executeCommand('extension.bisect.next', true)
|
|
150
150
|
};
|
|
151
151
|
const stop = {
|
|
@@ -154,11 +154,11 @@ let ExtensionBisectUi = class ExtensionBisectUi {
|
|
|
154
154
|
};
|
|
155
155
|
const message = this._extensionBisectService.disabledCount === 1
|
|
156
156
|
? ( localize(
|
|
157
|
-
|
|
157
|
+
1140,
|
|
158
158
|
"Extension Bisect is active and has disabled 1 extension. Check if you can still reproduce the problem and proceed by selecting from these options."
|
|
159
159
|
))
|
|
160
160
|
: ( localize(
|
|
161
|
-
|
|
161
|
+
1141,
|
|
162
162
|
"Extension Bisect is active and has disabled {0} extensions. Check if you can still reproduce the problem and proceed by selecting from these options.",
|
|
163
163
|
this._extensionBisectService.disabledCount
|
|
164
164
|
));
|
|
@@ -176,7 +176,7 @@ registerAction2(class extends Action2 {
|
|
|
176
176
|
constructor() {
|
|
177
177
|
super({
|
|
178
178
|
id: 'extension.bisect.start',
|
|
179
|
-
title: ( localize2(
|
|
179
|
+
title: ( localize2(1142, 'Start Extension Bisect')),
|
|
180
180
|
category: Categories.Help,
|
|
181
181
|
f1: true,
|
|
182
182
|
precondition: ( (ExtensionBisectUi.ctxIsBisectActive.negate())),
|
|
@@ -196,13 +196,13 @@ registerAction2(class extends Action2 {
|
|
|
196
196
|
const extensionsBisect = accessor.get(IExtensionBisectService);
|
|
197
197
|
const extensions = (await extensionManagement.getInstalled(ExtensionType.User)).filter(ext => extensionEnablementService.isEnabled(ext));
|
|
198
198
|
const res = await dialogService.confirm({
|
|
199
|
-
message: ( localize(
|
|
199
|
+
message: ( localize(1143, "Extension Bisect")),
|
|
200
200
|
detail: ( localize(
|
|
201
|
-
|
|
201
|
+
1144,
|
|
202
202
|
"Extension Bisect will use binary search to find an extension that causes a problem. During the process the window reloads repeatedly (~{0} times). Each time you must confirm if you are still seeing problems.",
|
|
203
203
|
2 + Math.log2(extensions.length) | 0
|
|
204
204
|
)),
|
|
205
|
-
primaryButton: ( localize(
|
|
205
|
+
primaryButton: ( localize(1145, "&&Start Extension Bisect"))
|
|
206
206
|
});
|
|
207
207
|
if (res.confirmed) {
|
|
208
208
|
await extensionsBisect.start(extensions);
|
|
@@ -214,7 +214,7 @@ registerAction2(class extends Action2 {
|
|
|
214
214
|
constructor() {
|
|
215
215
|
super({
|
|
216
216
|
id: 'extension.bisect.next',
|
|
217
|
-
title: ( localize2(
|
|
217
|
+
title: ( localize2(1146, 'Continue Extension Bisect')),
|
|
218
218
|
category: Categories.Help,
|
|
219
219
|
f1: true,
|
|
220
220
|
precondition: ExtensionBisectUi.ctxIsBisectActive
|
|
@@ -248,8 +248,8 @@ registerAction2(class extends Action2 {
|
|
|
248
248
|
return;
|
|
249
249
|
}
|
|
250
250
|
if (done.bad) {
|
|
251
|
-
await dialogService.info(( localize(
|
|
252
|
-
|
|
251
|
+
await dialogService.info(( localize(1147, "Extension Bisect")), ( localize(
|
|
252
|
+
1148,
|
|
253
253
|
"Extension Bisect is done but no extension has been identified. This might be a problem with {0}.",
|
|
254
254
|
productService.nameShort
|
|
255
255
|
)));
|
|
@@ -257,15 +257,15 @@ registerAction2(class extends Action2 {
|
|
|
257
257
|
else {
|
|
258
258
|
const res = await dialogService.confirm({
|
|
259
259
|
type: Severity$1.Info,
|
|
260
|
-
message: ( localize(
|
|
261
|
-
primaryButton: ( localize(
|
|
262
|
-
cancelButton: ( localize(
|
|
260
|
+
message: ( localize(1147, "Extension Bisect")),
|
|
261
|
+
primaryButton: ( localize(1149, "&&Report Issue & Continue")),
|
|
262
|
+
cancelButton: ( localize(1150, "Continue")),
|
|
263
263
|
detail: ( localize(
|
|
264
|
-
|
|
264
|
+
1151,
|
|
265
265
|
"Extension Bisect is done and has identified {0} as the extension causing the problem.",
|
|
266
266
|
done.id
|
|
267
267
|
)),
|
|
268
|
-
checkbox: { label: ( localize(
|
|
268
|
+
checkbox: { label: ( localize(1152, "Keep this extension disabled")), checked: true }
|
|
269
269
|
});
|
|
270
270
|
if (res.checkboxChecked) {
|
|
271
271
|
await extensionEnablementService.disableExtension({ id: done.id }, undefined);
|
|
@@ -280,28 +280,28 @@ registerAction2(class extends Action2 {
|
|
|
280
280
|
async _checkForBad(dialogService, bisectService) {
|
|
281
281
|
const { result } = await dialogService.prompt({
|
|
282
282
|
type: Severity$1.Info,
|
|
283
|
-
message: ( localize(
|
|
283
|
+
message: ( localize(1153, "Extension Bisect")),
|
|
284
284
|
detail: ( localize(
|
|
285
|
-
|
|
285
|
+
1154,
|
|
286
286
|
"Extension Bisect is active and has disabled {0} extensions. Check if you can still reproduce the problem and proceed by selecting from these options.",
|
|
287
287
|
bisectService.disabledCount
|
|
288
288
|
)),
|
|
289
289
|
buttons: [
|
|
290
290
|
{
|
|
291
|
-
label: ( localize(
|
|
291
|
+
label: ( localize(1155, "I ca&&n't reproduce")),
|
|
292
292
|
run: () => false
|
|
293
293
|
},
|
|
294
294
|
{
|
|
295
|
-
label: ( localize(
|
|
295
|
+
label: ( localize(1156, "I can &&reproduce")),
|
|
296
296
|
run: () => true
|
|
297
297
|
},
|
|
298
298
|
{
|
|
299
|
-
label: ( localize(
|
|
299
|
+
label: ( localize(1157, "&&Stop Bisect")),
|
|
300
300
|
run: () => undefined
|
|
301
301
|
}
|
|
302
302
|
],
|
|
303
303
|
cancelButton: {
|
|
304
|
-
label: ( localize(
|
|
304
|
+
label: ( localize(1158, "&&Cancel Bisect")),
|
|
305
305
|
run: () => null
|
|
306
306
|
}
|
|
307
307
|
});
|
|
@@ -312,7 +312,7 @@ registerAction2(class extends Action2 {
|
|
|
312
312
|
constructor() {
|
|
313
313
|
super({
|
|
314
314
|
id: 'extension.bisect.stop',
|
|
315
|
-
title: ( localize2(
|
|
315
|
+
title: ( localize2(1159, 'Stop Extension Bisect')),
|
|
316
316
|
category: Categories.Help,
|
|
317
317
|
f1: true,
|
|
318
318
|
precondition: ExtensionBisectUi.ctxIsBisectActive
|
|
@@ -169,7 +169,7 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
169
169
|
if (this._remoteAgentService.getConnection()) {
|
|
170
170
|
event.join(() => this._remoteAgentService.endConnection(), {
|
|
171
171
|
id: 'join.disconnectRemote',
|
|
172
|
-
label: ( localize(
|
|
172
|
+
label: ( localize(1126, "Disconnect Remote Agent")),
|
|
173
173
|
order: WillShutdownJoinerOrder.Last
|
|
174
174
|
});
|
|
175
175
|
}
|
|
@@ -246,7 +246,7 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
246
246
|
this._notificationService.notify({
|
|
247
247
|
severity: Severity$1.Error,
|
|
248
248
|
message: ( localize(
|
|
249
|
-
|
|
249
|
+
1127,
|
|
250
250
|
"The following extensions contain dependency loops and have been disabled: {0}",
|
|
251
251
|
( (result.removedDueToLooping.map(e => `'${e.identifier.value}'`))).join(', ')
|
|
252
252
|
))
|
|
@@ -400,7 +400,7 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
400
400
|
this._notificationService.notify({
|
|
401
401
|
severity: Severity$1.Error,
|
|
402
402
|
message: ( localize(
|
|
403
|
-
|
|
403
|
+
1127,
|
|
404
404
|
"The following extensions contain dependency loops and have been disabled: {0}",
|
|
405
405
|
( (result.removedDueToLooping.map(e => `'${e.identifier.value}'`))).join(', ')
|
|
406
406
|
))
|
|
@@ -415,7 +415,7 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
415
415
|
const extensionHostManager = this.findTestExtensionHost(this._environmentService.extensionTestsLocationURI);
|
|
416
416
|
if (!extensionHostManager) {
|
|
417
417
|
const msg = ( localize(
|
|
418
|
-
|
|
418
|
+
1128,
|
|
419
419
|
"No extension host found that can launch the test runner at {0}.",
|
|
420
420
|
(this._environmentService.extensionTestsLocationURI.toString())
|
|
421
421
|
));
|
|
@@ -581,7 +581,7 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
581
581
|
vetoReasons.add(reason);
|
|
582
582
|
}
|
|
583
583
|
}).catch(error => {
|
|
584
|
-
vetoReasons.add(( localize(
|
|
584
|
+
vetoReasons.add(( localize(1129, "{0} (Error: {1})", reason, toErrorMessage(error))));
|
|
585
585
|
});
|
|
586
586
|
}
|
|
587
587
|
}
|
|
@@ -594,10 +594,10 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
594
594
|
if (!auto) {
|
|
595
595
|
const vetoReasonsArray = Array.from(vetoReasons);
|
|
596
596
|
this._logService.warn(`Extension host was not stopped because of veto (stop reason: ${reason}, veto reason: ${vetoReasonsArray.join(', ')})`);
|
|
597
|
-
await this._dialogService.warn(( localize(
|
|
598
|
-
( localize(
|
|
597
|
+
await this._dialogService.warn(( localize(1130, "The following operation was blocked: {0}", reason)), vetoReasonsArray.length === 1 ?
|
|
598
|
+
( localize(1131, "The reason for blocking the operation: {0}", vetoReasonsArray[0])) :
|
|
599
599
|
( localize(
|
|
600
|
-
|
|
600
|
+
1132,
|
|
601
601
|
"The reasons for blocking the operation:\n- {0}",
|
|
602
602
|
vetoReasonsArray.join('\n -')
|
|
603
603
|
)));
|
|
@@ -695,15 +695,15 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
695
695
|
this._remoteCrashTracker.registerCrash();
|
|
696
696
|
if (this._remoteCrashTracker.shouldAutomaticallyRestart()) {
|
|
697
697
|
this._logService.info(`Automatically restarting the remote extension host.`);
|
|
698
|
-
this._notificationService.status(( localize(
|
|
698
|
+
this._notificationService.status(( localize(1133, "The remote extension host terminated unexpectedly. Restarting...")), { hideAfter: 5000 });
|
|
699
699
|
this._startExtensionHostsIfNecessary(false, Array.from(( (this._allRequestedActivateEvents.keys()))));
|
|
700
700
|
}
|
|
701
701
|
else {
|
|
702
702
|
this._notificationService.prompt(Severity$1.Error, ( localize(
|
|
703
|
-
|
|
703
|
+
1134,
|
|
704
704
|
"Remote Extension host terminated unexpectedly 3 times within the last 5 minutes."
|
|
705
705
|
)), [{
|
|
706
|
-
label: ( localize(
|
|
706
|
+
label: ( localize(1135, "Restart Remote Extension Host")),
|
|
707
707
|
run: () => {
|
|
708
708
|
this._startExtensionHostsIfNecessary(false, Array.from(( (this._allRequestedActivateEvents.keys()))));
|
|
709
709
|
}
|
|
@@ -1180,7 +1180,7 @@ class ActivationFeatureMarkdowneRenderer extends Disposable {
|
|
|
1180
1180
|
}
|
|
1181
1181
|
( (Registry.as(Extensions.ExtensionFeaturesRegistry))).registerExtensionFeature({
|
|
1182
1182
|
id: 'activationEvents',
|
|
1183
|
-
label: ( localize(
|
|
1183
|
+
label: ( localize(1136, "Activation Events")),
|
|
1184
1184
|
access: {
|
|
1185
1185
|
canToggle: false
|
|
1186
1186
|
},
|
|
@@ -483,7 +483,7 @@ registerAction2(class MeasureExtHostLatencyAction extends Action2 {
|
|
|
483
483
|
constructor() {
|
|
484
484
|
super({
|
|
485
485
|
id: 'editor.action.measureExtHostLatency',
|
|
486
|
-
title: ( localize2(
|
|
486
|
+
title: ( localize2(4824, "Measure Extension Host Latency")),
|
|
487
487
|
category: Categories.Developer,
|
|
488
488
|
f1: true
|
|
489
489
|
});
|
|
@@ -107,7 +107,7 @@ class ApiProposalsMarkdowneRenderer extends Disposable {
|
|
|
107
107
|
}
|
|
108
108
|
( (Registry.as(Extensions.ExtensionFeaturesRegistry))).registerExtensionFeature({
|
|
109
109
|
id: 'enabledApiProposals',
|
|
110
|
-
label: ( localize(
|
|
110
|
+
label: ( localize(1137, "API Proposals")),
|
|
111
111
|
access: {
|
|
112
112
|
canToggle: false
|
|
113
113
|
},
|
|
@@ -8,7 +8,7 @@ function dedupExtensions(system, user, workspace, development, logService) {
|
|
|
8
8
|
const extension = result.get(systemExtension.identifier);
|
|
9
9
|
if (extension) {
|
|
10
10
|
logService.warn(( localize(
|
|
11
|
-
|
|
11
|
+
4825,
|
|
12
12
|
"Overwriting extension {0} with {1}.",
|
|
13
13
|
extension.extensionLocation.fsPath,
|
|
14
14
|
systemExtension.extensionLocation.fsPath
|
|
@@ -28,7 +28,7 @@ function dedupExtensions(system, user, workspace, development, logService) {
|
|
|
28
28
|
}
|
|
29
29
|
else {
|
|
30
30
|
logService.warn(( localize(
|
|
31
|
-
|
|
31
|
+
4825,
|
|
32
32
|
"Overwriting extension {0} with {1}.",
|
|
33
33
|
extension.extensionLocation.fsPath,
|
|
34
34
|
userExtension.extensionLocation.fsPath
|
|
@@ -45,7 +45,7 @@ function dedupExtensions(system, user, workspace, development, logService) {
|
|
|
45
45
|
const extension = result.get(workspaceExtension.identifier);
|
|
46
46
|
if (extension) {
|
|
47
47
|
logService.warn(( localize(
|
|
48
|
-
|
|
48
|
+
4826,
|
|
49
49
|
"Overwriting {0} with Workspace Extension {1}.",
|
|
50
50
|
extension.extensionLocation.fsPath,
|
|
51
51
|
workspaceExtension.extensionLocation.fsPath
|
|
@@ -55,7 +55,7 @@ function dedupExtensions(system, user, workspace, development, logService) {
|
|
|
55
55
|
});
|
|
56
56
|
development.forEach(developedExtension => {
|
|
57
57
|
logService.info(( localize(
|
|
58
|
-
|
|
58
|
+
4827,
|
|
59
59
|
"Loading development extension at {0}",
|
|
60
60
|
developedExtension.extensionLocation.fsPath
|
|
61
61
|
)));
|