@codingame/monaco-vscode-extensions-service-override 11.1.1 → 11.1.2
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/assets/webWorkerExtensionHostIframe.html +2 -2
- package/package.json +6 -6
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagementCLI.js +28 -28
- package/vscode/src/vs/workbench/api/browser/mainThreadAuthentication.js +10 -10
- 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/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/extensions/common/abstractExtensionService.js +13 -13
- 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
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
<meta http-equiv="Content-Security-Policy" content="
|
|
5
5
|
default-src 'none';
|
|
6
6
|
child-src 'self' data: blob:;
|
|
7
|
-
script-src 'self' 'unsafe-eval' 'sha256-xM2KVDKIoeb8vVxk4ezEUsxdTZh5wFnKO3YmFhy9tkk=' https: http://localhost:* blob:;
|
|
8
|
-
connect-src 'self' data: https: wss: http://localhost:* http://127.0.0.1:* ws://localhost:* ws://127.0.0.1:*;"/>
|
|
7
|
+
script-src 'self' 'unsafe-eval' 'sha256-xM2KVDKIoeb8vVxk4ezEUsxdTZh5wFnKO3YmFhy9tkk=' data: extension-file: https: http://localhost:* blob:;
|
|
8
|
+
connect-src 'self' data: extension-file: https: wss: http://localhost:* http://127.0.0.1:* ws://localhost:* ws://127.0.0.1:*;"/>
|
|
9
9
|
</head>
|
|
10
10
|
<body>
|
|
11
11
|
<script>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codingame/monaco-vscode-extensions-service-override",
|
|
3
|
-
"version": "11.1.
|
|
3
|
+
"version": "11.1.2",
|
|
4
4
|
"keywords": [],
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "CodinGame",
|
|
@@ -26,10 +26,10 @@
|
|
|
26
26
|
}
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"vscode": "npm:@codingame/monaco-vscode-api@11.1.
|
|
30
|
-
"@codingame/monaco-vscode-files-service-override": "11.1.
|
|
31
|
-
"@codingame/monaco-vscode-chat-extensions-notebook-common": "11.1.
|
|
32
|
-
"@codingame/monaco-vscode-chat-extensions-interactive-notebook-search-terminal-common": "11.1.
|
|
33
|
-
"@codingame/monaco-vscode-comments-extensions-common": "11.1.
|
|
29
|
+
"vscode": "npm:@codingame/monaco-vscode-api@11.1.2",
|
|
30
|
+
"@codingame/monaco-vscode-files-service-override": "11.1.2",
|
|
31
|
+
"@codingame/monaco-vscode-chat-extensions-notebook-common": "11.1.2",
|
|
32
|
+
"@codingame/monaco-vscode-chat-extensions-interactive-notebook-search-terminal-common": "11.1.2",
|
|
33
|
+
"@codingame/monaco-vscode-comments-extensions-common": "11.1.2"
|
|
34
34
|
}
|
|
35
35
|
}
|
|
@@ -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 { EXTENSION_CATEGORIES } from 'vscode/vscode/vs/platform/extensions/common/extensions';
|
|
13
13
|
|
|
14
|
-
const notFound = (id) => ( localize(
|
|
14
|
+
const notFound = (id) => ( localize(9985, "Extension '{0}' not found.", id));
|
|
15
15
|
const useId = ( localize(
|
|
16
|
-
|
|
16
|
+
9986,
|
|
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(9987, "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(9988, "Installing extensions on {0}...", this.location)) : ( localize(9989, "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(9990, "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(9991, "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
|
+
9992,
|
|
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(9993, "No extension to update")));
|
|
145
145
|
return;
|
|
146
146
|
}
|
|
147
147
|
this.logger.info(( localize(
|
|
148
|
-
|
|
148
|
+
9994,
|
|
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
|
+
9995,
|
|
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
|
+
9996,
|
|
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
|
+
9997,
|
|
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(9998, "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
|
+
9998,
|
|
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
|
+
9999,
|
|
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(10000, "Installing builtin extension '{0}' v{1}...", id, version)) : ( localize(10001, "Installing builtin extension '{0}'...", id)));
|
|
236
236
|
}
|
|
237
237
|
else {
|
|
238
|
-
this.logger.info(version ? ( localize(
|
|
238
|
+
this.logger.info(version ? ( localize(10002, "Installing extension '{0}' v{1}...", id, version)) : ( localize(10003, "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
|
+
10004,
|
|
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
|
+
10005,
|
|
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(10006, "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(10007, "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
|
+
10008,
|
|
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 === 0 )))) {
|
|
344
344
|
this.logger.info(( localize(
|
|
345
|
-
|
|
345
|
+
10009,
|
|
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
|
+
10010,
|
|
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(10011, "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
|
+
10012,
|
|
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(10013, "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(10014, "Extension '{0}' is not installed on {1}.", id, this.location)) : ( localize(10015, "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(4558, "Successfully signed out.")));
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
42
|
let MainThreadAuthentication = class MainThreadAuthentication extends Disposable {
|
|
@@ -96,7 +96,7 @@ let MainThreadAuthentication = class MainThreadAuthentication extends Disposable
|
|
|
96
96
|
let message;
|
|
97
97
|
if (provider.id.startsWith(INTERNAL_AUTH_PROVIDER_PREFIX)) {
|
|
98
98
|
message = ( localize(
|
|
99
|
-
|
|
99
|
+
4559,
|
|
100
100
|
"The extension '{0}' wants to access the language models provided by {1}.",
|
|
101
101
|
extensionName,
|
|
102
102
|
provider.label
|
|
@@ -105,13 +105,13 @@ let MainThreadAuthentication = class MainThreadAuthentication extends Disposable
|
|
|
105
105
|
else {
|
|
106
106
|
message = recreatingSession
|
|
107
107
|
? ( localize(
|
|
108
|
-
|
|
108
|
+
4560,
|
|
109
109
|
"The extension '{0}' wants you to sign in again using {1}.",
|
|
110
110
|
extensionName,
|
|
111
111
|
provider.label
|
|
112
112
|
))
|
|
113
113
|
: ( localize(
|
|
114
|
-
|
|
114
|
+
4561,
|
|
115
115
|
"The extension '{0}' wants to sign in using {1}.",
|
|
116
116
|
extensionName,
|
|
117
117
|
provider.label
|
|
@@ -119,7 +119,7 @@ let MainThreadAuthentication = class MainThreadAuthentication extends Disposable
|
|
|
119
119
|
}
|
|
120
120
|
const buttons = [
|
|
121
121
|
{
|
|
122
|
-
label: ( localize(
|
|
122
|
+
label: ( localize(4562, "&&Allow")),
|
|
123
123
|
run() {
|
|
124
124
|
return true;
|
|
125
125
|
},
|
|
@@ -127,7 +127,7 @@ let MainThreadAuthentication = class MainThreadAuthentication extends Disposable
|
|
|
127
127
|
];
|
|
128
128
|
if (options?.learnMore) {
|
|
129
129
|
buttons.push({
|
|
130
|
-
label: ( localize(
|
|
130
|
+
label: ( localize(4563, "Learn more")),
|
|
131
131
|
run: async () => {
|
|
132
132
|
const result = this.loginPrompt(provider, extensionName, recreatingSession, options);
|
|
133
133
|
await this.openerService.open(URI.revive(options.learnMore), { allowCommands: true });
|
|
@@ -146,9 +146,9 @@ let MainThreadAuthentication = class MainThreadAuthentication extends Disposable
|
|
|
146
146
|
}
|
|
147
147
|
async continueWithIncorrectAccountPrompt(chosenAccountLabel, requestedAccountLabel) {
|
|
148
148
|
const result = await this.dialogService.prompt({
|
|
149
|
-
message: ( localize(
|
|
149
|
+
message: ( localize(4564, "Incorrect account detected")),
|
|
150
150
|
detail: ( localize(
|
|
151
|
-
|
|
151
|
+
4565,
|
|
152
152
|
"The chosen account, {0}, does not match the requested account, {1}.",
|
|
153
153
|
chosenAccountLabel,
|
|
154
154
|
requestedAccountLabel
|
|
@@ -157,11 +157,11 @@ let MainThreadAuthentication = class MainThreadAuthentication extends Disposable
|
|
|
157
157
|
cancelButton: true,
|
|
158
158
|
buttons: [
|
|
159
159
|
{
|
|
160
|
-
label: ( localize(
|
|
160
|
+
label: ( localize(4566, 'Keep {0}', chosenAccountLabel)),
|
|
161
161
|
run: () => chosenAccountLabel
|
|
162
162
|
},
|
|
163
163
|
{
|
|
164
|
-
label: ( localize(
|
|
164
|
+
label: ( localize(4567, 'Login with {0}', requestedAccountLabel)),
|
|
165
165
|
run: () => requestedAccountLabel
|
|
166
166
|
}
|
|
167
167
|
],
|
|
@@ -91,7 +91,7 @@ let RemoteExtensionManagementCLI = class RemoteExtensionManagementCLI extends Ex
|
|
|
91
91
|
if (!this._extensionManifestPropertiesService.canExecuteOnWorkspace(manifest)
|
|
92
92
|
&& !(isWeb && this._extensionManifestPropertiesService.canExecuteOnWeb(manifest))) {
|
|
93
93
|
this.logger.info(( localize(
|
|
94
|
-
|
|
94
|
+
4509,
|
|
95
95
|
"Cannot install the '{0}' extension because it is declared to not run in this setup.",
|
|
96
96
|
getExtensionId(manifest.publisher, manifest.name)
|
|
97
97
|
)));
|
|
@@ -431,7 +431,7 @@ class MainThreadCommentController {
|
|
|
431
431
|
};
|
|
432
432
|
}
|
|
433
433
|
}
|
|
434
|
-
const commentsViewIcon = registerIcon('comments-view-icon', Codicon.commentDiscussion, ( localize(
|
|
434
|
+
const commentsViewIcon = registerIcon('comments-view-icon', Codicon.commentDiscussion, ( localize(4553, 'View icon of the comments view.')));
|
|
435
435
|
let MainThreadComments = class MainThreadComments extends Disposable {
|
|
436
436
|
constructor(extHostContext, _commentService, _viewsService, _viewDescriptorService, _uriIdentityService, _editorService) {
|
|
437
437
|
super();
|
|
@@ -288,7 +288,7 @@ let MainThreadCustomEditorModel = MainThreadCustomEditorModel_1 = class MainThre
|
|
|
288
288
|
if (_editable) {
|
|
289
289
|
this._register(workingCopyService.registerWorkingCopy(this));
|
|
290
290
|
this._register(extensionService.onWillStop(e => {
|
|
291
|
-
e.veto(true, ( localize(
|
|
291
|
+
e.veto(true, ( localize(10029, "A custom editor for '{0}' is open.", this.name)));
|
|
292
292
|
}));
|
|
293
293
|
}
|
|
294
294
|
if (startDirty) {
|
|
@@ -355,7 +355,7 @@ let MainThreadCustomEditorModel = MainThreadCustomEditorModel_1 = class MainThre
|
|
|
355
355
|
this._undoService.pushElement({
|
|
356
356
|
type: 0 ,
|
|
357
357
|
resource: this._editorResource,
|
|
358
|
-
label: label ?? ( localize(
|
|
358
|
+
label: label ?? ( localize(10030, "Edit")),
|
|
359
359
|
code: 'undoredo.customEditorEdit',
|
|
360
360
|
undo: () => this.undo(),
|
|
361
361
|
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(4545, "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);
|
|
@@ -88,13 +88,13 @@ let MainThreadExtensionService = class MainThreadExtensionService {
|
|
|
88
88
|
this._notificationService.notify({
|
|
89
89
|
severity: Severity$1.Error,
|
|
90
90
|
message: ( localize(
|
|
91
|
-
|
|
91
|
+
4510,
|
|
92
92
|
"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?",
|
|
93
93
|
extName,
|
|
94
94
|
missingInstalledDependency.manifest.displayName || missingInstalledDependency.manifest.name
|
|
95
95
|
)),
|
|
96
96
|
actions: {
|
|
97
|
-
primary: [( (new Action('reload', ( localize(
|
|
97
|
+
primary: [( (new Action('reload', ( localize(4511, "Reload Window")), '', true, () => this._hostService.reload())))]
|
|
98
98
|
}
|
|
99
99
|
});
|
|
100
100
|
}
|
|
@@ -104,7 +104,7 @@ let MainThreadExtensionService = class MainThreadExtensionService {
|
|
|
104
104
|
this._notificationService.notify({
|
|
105
105
|
severity: Severity$1.Error,
|
|
106
106
|
message: ( localize(
|
|
107
|
-
|
|
107
|
+
4512,
|
|
108
108
|
"Cannot activate the '{0}' extension because it depends on the '{1}' extension which is not supported in the current workspace",
|
|
109
109
|
extName,
|
|
110
110
|
missingInstalledDependency.manifest.displayName || missingInstalledDependency.manifest.name
|
|
@@ -115,13 +115,13 @@ let MainThreadExtensionService = class MainThreadExtensionService {
|
|
|
115
115
|
this._notificationService.notify({
|
|
116
116
|
severity: Severity$1.Error,
|
|
117
117
|
message: ( localize(
|
|
118
|
-
|
|
118
|
+
4513,
|
|
119
119
|
"Cannot activate the '{0}' extension because it depends on the '{1}' extension which is not supported in Restricted Mode",
|
|
120
120
|
extName,
|
|
121
121
|
missingInstalledDependency.manifest.displayName || missingInstalledDependency.manifest.name
|
|
122
122
|
)),
|
|
123
123
|
actions: {
|
|
124
|
-
primary: [( (new Action('manageWorkspaceTrust', ( localize(
|
|
124
|
+
primary: [( (new Action('manageWorkspaceTrust', ( localize(4514, "Manage Workspace Trust")), '', true, () => this._commandService.executeCommand('workbench.trust.manage'))))]
|
|
125
125
|
}
|
|
126
126
|
});
|
|
127
127
|
}
|
|
@@ -129,13 +129,13 @@ let MainThreadExtensionService = class MainThreadExtensionService {
|
|
|
129
129
|
this._notificationService.notify({
|
|
130
130
|
severity: Severity$1.Error,
|
|
131
131
|
message: ( localize(
|
|
132
|
-
|
|
132
|
+
4515,
|
|
133
133
|
"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?",
|
|
134
134
|
extName,
|
|
135
135
|
missingInstalledDependency.manifest.displayName || missingInstalledDependency.manifest.name
|
|
136
136
|
)),
|
|
137
137
|
actions: {
|
|
138
|
-
primary: [( (new Action('enable', ( localize(
|
|
138
|
+
primary: [( (new Action('enable', ( localize(4516, "Enable and Reload")), '', true, () => this._extensionEnablementService.setEnablement([missingInstalledDependency], enablementState === 7 ? 9 : 10 )
|
|
139
139
|
.then(() => this._hostService.reload(), e => this._notificationService.error(e)))))]
|
|
140
140
|
}
|
|
141
141
|
});
|
|
@@ -144,7 +144,7 @@ let MainThreadExtensionService = class MainThreadExtensionService {
|
|
|
144
144
|
this._notificationService.notify({
|
|
145
145
|
severity: Severity$1.Error,
|
|
146
146
|
message: ( localize(
|
|
147
|
-
|
|
147
|
+
4517,
|
|
148
148
|
"Cannot activate the '{0}' extension because it depends on the '{1}' extension which is disabled.",
|
|
149
149
|
extName,
|
|
150
150
|
missingInstalledDependency.manifest.displayName || missingInstalledDependency.manifest.name
|
|
@@ -165,21 +165,21 @@ let MainThreadExtensionService = class MainThreadExtensionService {
|
|
|
165
165
|
this._notificationService.notify({
|
|
166
166
|
severity: Severity$1.Error,
|
|
167
167
|
message: ( localize(
|
|
168
|
-
|
|
168
|
+
4518,
|
|
169
169
|
"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?",
|
|
170
170
|
extName,
|
|
171
171
|
dependencyExtension.displayName,
|
|
172
172
|
dependencyExtension.publisherDisplayName
|
|
173
173
|
)),
|
|
174
174
|
actions: {
|
|
175
|
-
primary: [( (new Action('install', ( localize(
|
|
175
|
+
primary: [( (new Action('install', ( localize(4519, "Install and Reload")), '', true, () => this._extensionsWorkbenchService.install(dependencyExtension)
|
|
176
176
|
.then(() => this._hostService.reload(), e => this._notificationService.error(e)))))]
|
|
177
177
|
}
|
|
178
178
|
});
|
|
179
179
|
}
|
|
180
180
|
else {
|
|
181
181
|
this._notificationService.error(( localize(
|
|
182
|
-
|
|
182
|
+
4520,
|
|
183
183
|
"Cannot activate the '{0}' extension because it depends on an unknown '{1}' extension.",
|
|
184
184
|
extName,
|
|
185
185
|
missingDependency
|
|
@@ -71,28 +71,28 @@ let MainThreadFileSystemEventService = class MainThreadFileSystemEventService {
|
|
|
71
71
|
if (data.extensionNames.length === 1) {
|
|
72
72
|
if (operation === 0 ) {
|
|
73
73
|
message = ( localize(
|
|
74
|
-
|
|
74
|
+
4521,
|
|
75
75
|
"Extension '{0}' wants to make refactoring changes with this file creation",
|
|
76
76
|
data.extensionNames[0]
|
|
77
77
|
));
|
|
78
78
|
}
|
|
79
79
|
else if (operation === 3 ) {
|
|
80
80
|
message = ( localize(
|
|
81
|
-
|
|
81
|
+
4522,
|
|
82
82
|
"Extension '{0}' wants to make refactoring changes with this file copy",
|
|
83
83
|
data.extensionNames[0]
|
|
84
84
|
));
|
|
85
85
|
}
|
|
86
86
|
else if (operation === 2 ) {
|
|
87
87
|
message = ( localize(
|
|
88
|
-
|
|
88
|
+
4523,
|
|
89
89
|
"Extension '{0}' wants to make refactoring changes with this file move",
|
|
90
90
|
data.extensionNames[0]
|
|
91
91
|
));
|
|
92
92
|
}
|
|
93
93
|
else {
|
|
94
94
|
message = ( localize(
|
|
95
|
-
|
|
95
|
+
4524,
|
|
96
96
|
"Extension '{0}' wants to make refactoring changes with this file deletion",
|
|
97
97
|
data.extensionNames[0]
|
|
98
98
|
));
|
|
@@ -101,28 +101,28 @@ let MainThreadFileSystemEventService = class MainThreadFileSystemEventService {
|
|
|
101
101
|
else {
|
|
102
102
|
if (operation === 0 ) {
|
|
103
103
|
message = ( localize(
|
|
104
|
-
|
|
104
|
+
4525,
|
|
105
105
|
"{0} extensions want to make refactoring changes with this file creation",
|
|
106
106
|
data.extensionNames.length
|
|
107
107
|
));
|
|
108
108
|
}
|
|
109
109
|
else if (operation === 3 ) {
|
|
110
110
|
message = ( localize(
|
|
111
|
-
|
|
111
|
+
4526,
|
|
112
112
|
"{0} extensions want to make refactoring changes with this file copy",
|
|
113
113
|
data.extensionNames.length
|
|
114
114
|
));
|
|
115
115
|
}
|
|
116
116
|
else if (operation === 2 ) {
|
|
117
117
|
message = ( localize(
|
|
118
|
-
|
|
118
|
+
4527,
|
|
119
119
|
"{0} extensions want to make refactoring changes with this file move",
|
|
120
120
|
data.extensionNames.length
|
|
121
121
|
));
|
|
122
122
|
}
|
|
123
123
|
else {
|
|
124
124
|
message = ( localize(
|
|
125
|
-
|
|
125
|
+
4528,
|
|
126
126
|
"{0} extensions want to make refactoring changes with this file deletion",
|
|
127
127
|
data.extensionNames.length
|
|
128
128
|
));
|
|
@@ -132,8 +132,8 @@ let MainThreadFileSystemEventService = class MainThreadFileSystemEventService {
|
|
|
132
132
|
const { confirmed } = await dialogService.confirm({
|
|
133
133
|
type: Severity$1.Info,
|
|
134
134
|
message,
|
|
135
|
-
primaryButton: ( localize(
|
|
136
|
-
cancelButton: ( localize(
|
|
135
|
+
primaryButton: ( localize(4529, "Show &&Preview")),
|
|
136
|
+
cancelButton: ( localize(4530, "Skip Changes"))
|
|
137
137
|
});
|
|
138
138
|
showPreview = true;
|
|
139
139
|
if (!confirmed) {
|
|
@@ -152,19 +152,19 @@ let MainThreadFileSystemEventService = class MainThreadFileSystemEventService {
|
|
|
152
152
|
message,
|
|
153
153
|
buttons: [
|
|
154
154
|
{
|
|
155
|
-
label: ( localize(
|
|
155
|
+
label: ( localize(4531, "&&OK")),
|
|
156
156
|
run: () => Choice.OK
|
|
157
157
|
},
|
|
158
158
|
{
|
|
159
|
-
label: ( localize(
|
|
159
|
+
label: ( localize(4529, "Show &&Preview")),
|
|
160
160
|
run: () => Choice.Preview
|
|
161
161
|
}
|
|
162
162
|
],
|
|
163
163
|
cancelButton: {
|
|
164
|
-
label: ( localize(
|
|
164
|
+
label: ( localize(4530, "Skip Changes")),
|
|
165
165
|
run: () => Choice.Cancel
|
|
166
166
|
},
|
|
167
|
-
checkbox: { label: ( localize(
|
|
167
|
+
checkbox: { label: ( localize(4532, "Do not ask me again")) }
|
|
168
168
|
});
|
|
169
169
|
if (result === Choice.Cancel) {
|
|
170
170
|
return;
|
|
@@ -181,15 +181,15 @@ let MainThreadFileSystemEventService = class MainThreadFileSystemEventService {
|
|
|
181
181
|
_progressLabel(operation) {
|
|
182
182
|
switch (operation) {
|
|
183
183
|
case 0 :
|
|
184
|
-
return ( localize(
|
|
184
|
+
return ( localize(4533, "Running 'File Create' participants..."));
|
|
185
185
|
case 2 :
|
|
186
|
-
return ( localize(
|
|
186
|
+
return ( localize(4534, "Running 'File Rename' participants..."));
|
|
187
187
|
case 3 :
|
|
188
|
-
return ( localize(
|
|
188
|
+
return ( localize(4535, "Running 'File Copy' participants..."));
|
|
189
189
|
case 1 :
|
|
190
|
-
return ( localize(
|
|
190
|
+
return ( localize(4536, "Running 'File Delete' participants..."));
|
|
191
191
|
case 4 :
|
|
192
|
-
return ( localize(
|
|
192
|
+
return ( localize(4537, "Running 'File Write' participants..."));
|
|
193
193
|
}
|
|
194
194
|
}
|
|
195
195
|
});
|
|
@@ -260,7 +260,7 @@ registerAction2(class ResetMemento extends Action2 {
|
|
|
260
260
|
super({
|
|
261
261
|
id: 'files.participants.resetChoice',
|
|
262
262
|
title: {
|
|
263
|
-
value: ( localize(
|
|
263
|
+
value: ( localize(4538, "Reset choice for 'File operation needs preview'")),
|
|
264
264
|
original: `Reset choice for 'File operation needs preview'`
|
|
265
265
|
},
|
|
266
266
|
f1: true
|
|
@@ -134,7 +134,7 @@ let MainThreadLanguageModels = class MainThreadLanguageModels {
|
|
|
134
134
|
if (this._authenticationService.getProviderIds().includes(authProviderId)) {
|
|
135
135
|
return Disposable.None;
|
|
136
136
|
}
|
|
137
|
-
const accountLabel = auth.accountLabel ?? ( localize(
|
|
137
|
+
const accountLabel = auth.accountLabel ?? ( localize(4508, 'Language Models'));
|
|
138
138
|
const disposables = ( (new DisposableStore()));
|
|
139
139
|
this._authenticationService.registerAuthenticationProvider(authProviderId, ( (new LanguageModelAccessAuthProvider(authProviderId, auth.providerLabel, accountLabel))));
|
|
140
140
|
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(4539, "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(4540, "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(4541, "Cancel")),
|
|
97
97
|
run: () => undefined
|
|
98
98
|
};
|
|
99
99
|
}
|
|
100
100
|
else {
|
|
101
101
|
cancelButton = {
|
|
102
|
-
label: ( localize(
|
|
102
|
+
label: ( localize(4542, "&&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(4554, "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;
|
|
@@ -30,7 +30,7 @@ let MainThreadProgress = class MainThreadProgress {
|
|
|
30
30
|
const notificationOptions = {
|
|
31
31
|
...options,
|
|
32
32
|
location: 15 ,
|
|
33
|
-
secondaryActions: [( (new ManageExtensionAction(extensionId, ( localize(
|
|
33
|
+
secondaryActions: [( (new ManageExtensionAction(extensionId, ( localize(4543, "Manage Extension")), this._commandService)))]
|
|
34
34
|
};
|
|
35
35
|
options = notificationOptions;
|
|
36
36
|
}
|
|
@@ -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(4544, "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(4555, '{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
|
|
@@ -111,13 +111,13 @@ let MainThreadTunnelService = class MainThreadTunnelService extends Disposable {
|
|
|
111
111
|
}
|
|
112
112
|
async elevationPrompt(tunnelOptions, tunnel, source) {
|
|
113
113
|
return this.notificationService.prompt(Severity$1.Info, ( localize(
|
|
114
|
-
|
|
114
|
+
4556,
|
|
115
115
|
"The extension {0} has forwarded port {1}. You'll need to run as superuser to use port {2} locally.",
|
|
116
116
|
source,
|
|
117
117
|
tunnelOptions.remoteAddress.port,
|
|
118
118
|
tunnelOptions.localAddressPort
|
|
119
119
|
)), [{
|
|
120
|
-
label: ( localize(
|
|
120
|
+
label: ( localize(4557, "Use Port {0} as Sudo...", tunnel.tunnelRemotePort)),
|
|
121
121
|
run: async () => {
|
|
122
122
|
this.elevateionRetry = true;
|
|
123
123
|
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(4546, "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
|
+
4547,
|
|
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(9984, "An error occurred while loading view: {0}", escape(viewType)))}</body>
|
|
107
107
|
</html>`;
|
|
108
108
|
}
|
|
109
109
|
};
|
|
@@ -76,11 +76,11 @@ let MainThreadWorkspace = class MainThreadWorkspace {
|
|
|
76
76
|
const wantsToDelete = removeCount > 0;
|
|
77
77
|
if (wantsToAdd && !wantsToDelete) {
|
|
78
78
|
if (addCount === 1) {
|
|
79
|
-
message = ( localize(
|
|
79
|
+
message = ( localize(4548, "Extension '{0}' added 1 folder to the workspace", extensionName));
|
|
80
80
|
}
|
|
81
81
|
else {
|
|
82
82
|
message = ( localize(
|
|
83
|
-
|
|
83
|
+
4549,
|
|
84
84
|
"Extension '{0}' added {1} folders to the workspace",
|
|
85
85
|
extensionName,
|
|
86
86
|
addCount
|
|
@@ -89,11 +89,11 @@ let MainThreadWorkspace = class MainThreadWorkspace {
|
|
|
89
89
|
}
|
|
90
90
|
else if (wantsToDelete && !wantsToAdd) {
|
|
91
91
|
if (removeCount === 1) {
|
|
92
|
-
message = ( localize(
|
|
92
|
+
message = ( localize(4550, "Extension '{0}' removed 1 folder from the workspace", extensionName));
|
|
93
93
|
}
|
|
94
94
|
else {
|
|
95
95
|
message = ( localize(
|
|
96
|
-
|
|
96
|
+
4551,
|
|
97
97
|
"Extension '{0}' removed {1} folders from the workspace",
|
|
98
98
|
extensionName,
|
|
99
99
|
removeCount
|
|
@@ -101,7 +101,7 @@ let MainThreadWorkspace = class MainThreadWorkspace {
|
|
|
101
101
|
}
|
|
102
102
|
}
|
|
103
103
|
else {
|
|
104
|
-
message = ( localize(
|
|
104
|
+
message = ( localize(4552, "Extension '{0}' changed folders of the workspace", extensionName));
|
|
105
105
|
}
|
|
106
106
|
return message;
|
|
107
107
|
}
|
|
@@ -46,7 +46,7 @@ let CustomTextEditorModel = CustomTextEditorModel_1 = class CustomTextEditorMode
|
|
|
46
46
|
}
|
|
47
47
|
}));
|
|
48
48
|
this._register(extensionService.onWillStop(e => {
|
|
49
|
-
e.veto(true, ( localize(
|
|
49
|
+
e.veto(true, ( localize(11515, "A custom text editor for '{0}' is open.", this.resource.path)));
|
|
50
50
|
}));
|
|
51
51
|
}
|
|
52
52
|
get resource() {
|
|
@@ -138,11 +138,11 @@ let ExtensionBisectUi = class ExtensionBisectUi {
|
|
|
138
138
|
}
|
|
139
139
|
_showBisectPrompt() {
|
|
140
140
|
const goodPrompt = {
|
|
141
|
-
label: ( localize(
|
|
141
|
+
label: ( localize(692, "I can't reproduce")),
|
|
142
142
|
run: () => this._commandService.executeCommand('extension.bisect.next', false)
|
|
143
143
|
};
|
|
144
144
|
const badPrompt = {
|
|
145
|
-
label: ( localize(
|
|
145
|
+
label: ( localize(693, "I can reproduce")),
|
|
146
146
|
run: () => this._commandService.executeCommand('extension.bisect.next', true)
|
|
147
147
|
};
|
|
148
148
|
const stop = {
|
|
@@ -151,11 +151,11 @@ let ExtensionBisectUi = class ExtensionBisectUi {
|
|
|
151
151
|
};
|
|
152
152
|
const message = this._extensionBisectService.disabledCount === 1
|
|
153
153
|
? ( localize(
|
|
154
|
-
|
|
154
|
+
694,
|
|
155
155
|
"Extension Bisect is active and has disabled 1 extension. Check if you can still reproduce the problem and proceed by selecting from these options."
|
|
156
156
|
))
|
|
157
157
|
: ( localize(
|
|
158
|
-
|
|
158
|
+
695,
|
|
159
159
|
"Extension Bisect is active and has disabled {0} extensions. Check if you can still reproduce the problem and proceed by selecting from these options.",
|
|
160
160
|
this._extensionBisectService.disabledCount
|
|
161
161
|
));
|
|
@@ -173,7 +173,7 @@ registerAction2(class extends Action2 {
|
|
|
173
173
|
constructor() {
|
|
174
174
|
super({
|
|
175
175
|
id: 'extension.bisect.start',
|
|
176
|
-
title: ( localize2(
|
|
176
|
+
title: ( localize2(696, 'Start Extension Bisect')),
|
|
177
177
|
category: Categories.Help,
|
|
178
178
|
f1: true,
|
|
179
179
|
precondition: ( (ExtensionBisectUi.ctxIsBisectActive.negate())),
|
|
@@ -193,13 +193,13 @@ registerAction2(class extends Action2 {
|
|
|
193
193
|
const extensionsBisect = accessor.get(IExtensionBisectService);
|
|
194
194
|
const extensions = (await extensionManagement.getInstalled(1 )).filter(ext => extensionEnablementService.isEnabled(ext));
|
|
195
195
|
const res = await dialogService.confirm({
|
|
196
|
-
message: ( localize(
|
|
196
|
+
message: ( localize(697, "Extension Bisect")),
|
|
197
197
|
detail: ( localize(
|
|
198
|
-
|
|
198
|
+
698,
|
|
199
199
|
"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.",
|
|
200
200
|
2 + Math.log2(extensions.length) | 0
|
|
201
201
|
)),
|
|
202
|
-
primaryButton: ( localize(
|
|
202
|
+
primaryButton: ( localize(699, "&&Start Extension Bisect"))
|
|
203
203
|
});
|
|
204
204
|
if (res.confirmed) {
|
|
205
205
|
await extensionsBisect.start(extensions);
|
|
@@ -211,7 +211,7 @@ registerAction2(class extends Action2 {
|
|
|
211
211
|
constructor() {
|
|
212
212
|
super({
|
|
213
213
|
id: 'extension.bisect.next',
|
|
214
|
-
title: ( localize2(
|
|
214
|
+
title: ( localize2(700, 'Continue Extension Bisect')),
|
|
215
215
|
category: Categories.Help,
|
|
216
216
|
f1: true,
|
|
217
217
|
precondition: ExtensionBisectUi.ctxIsBisectActive
|
|
@@ -245,8 +245,8 @@ registerAction2(class extends Action2 {
|
|
|
245
245
|
return;
|
|
246
246
|
}
|
|
247
247
|
if (done.bad) {
|
|
248
|
-
await dialogService.info(( localize(
|
|
249
|
-
|
|
248
|
+
await dialogService.info(( localize(701, "Extension Bisect")), ( localize(
|
|
249
|
+
702,
|
|
250
250
|
"Extension Bisect is done but no extension has been identified. This might be a problem with {0}.",
|
|
251
251
|
productService.nameShort
|
|
252
252
|
)));
|
|
@@ -254,15 +254,15 @@ registerAction2(class extends Action2 {
|
|
|
254
254
|
else {
|
|
255
255
|
const res = await dialogService.confirm({
|
|
256
256
|
type: Severity$1.Info,
|
|
257
|
-
message: ( localize(
|
|
258
|
-
primaryButton: ( localize(
|
|
259
|
-
cancelButton: ( localize(
|
|
257
|
+
message: ( localize(701, "Extension Bisect")),
|
|
258
|
+
primaryButton: ( localize(703, "&&Report Issue & Continue")),
|
|
259
|
+
cancelButton: ( localize(704, "Continue")),
|
|
260
260
|
detail: ( localize(
|
|
261
|
-
|
|
261
|
+
705,
|
|
262
262
|
"Extension Bisect is done and has identified {0} as the extension causing the problem.",
|
|
263
263
|
done.id
|
|
264
264
|
)),
|
|
265
|
-
checkbox: { label: ( localize(
|
|
265
|
+
checkbox: { label: ( localize(706, "Keep this extension disabled")), checked: true }
|
|
266
266
|
});
|
|
267
267
|
if (res.checkboxChecked) {
|
|
268
268
|
await extensionEnablementService.disableExtension({ id: done.id }, undefined);
|
|
@@ -277,28 +277,28 @@ registerAction2(class extends Action2 {
|
|
|
277
277
|
async _checkForBad(dialogService, bisectService) {
|
|
278
278
|
const { result } = await dialogService.prompt({
|
|
279
279
|
type: Severity$1.Info,
|
|
280
|
-
message: ( localize(
|
|
280
|
+
message: ( localize(707, "Extension Bisect")),
|
|
281
281
|
detail: ( localize(
|
|
282
|
-
|
|
282
|
+
708,
|
|
283
283
|
"Extension Bisect is active and has disabled {0} extensions. Check if you can still reproduce the problem and proceed by selecting from these options.",
|
|
284
284
|
bisectService.disabledCount
|
|
285
285
|
)),
|
|
286
286
|
buttons: [
|
|
287
287
|
{
|
|
288
|
-
label: ( localize(
|
|
288
|
+
label: ( localize(709, "I ca&&n't reproduce")),
|
|
289
289
|
run: () => false
|
|
290
290
|
},
|
|
291
291
|
{
|
|
292
|
-
label: ( localize(
|
|
292
|
+
label: ( localize(710, "I can &&reproduce")),
|
|
293
293
|
run: () => true
|
|
294
294
|
},
|
|
295
295
|
{
|
|
296
|
-
label: ( localize(
|
|
296
|
+
label: ( localize(711, "&&Stop Bisect")),
|
|
297
297
|
run: () => undefined
|
|
298
298
|
}
|
|
299
299
|
],
|
|
300
300
|
cancelButton: {
|
|
301
|
-
label: ( localize(
|
|
301
|
+
label: ( localize(712, "&&Cancel Bisect")),
|
|
302
302
|
run: () => null
|
|
303
303
|
}
|
|
304
304
|
});
|
|
@@ -309,7 +309,7 @@ registerAction2(class extends Action2 {
|
|
|
309
309
|
constructor() {
|
|
310
310
|
super({
|
|
311
311
|
id: 'extension.bisect.stop',
|
|
312
|
-
title: ( localize2(
|
|
312
|
+
title: ( localize2(713, 'Stop Extension Bisect')),
|
|
313
313
|
category: Categories.Help,
|
|
314
314
|
f1: true,
|
|
315
315
|
precondition: ExtensionBisectUi.ctxIsBisectActive
|
|
@@ -175,14 +175,14 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
175
175
|
}
|
|
176
176
|
}, {
|
|
177
177
|
id: 'join.disconnectRemote',
|
|
178
|
-
label: ( localize(
|
|
178
|
+
label: ( localize(679, "Disconnect Remote Agent")),
|
|
179
179
|
order: WillShutdownJoinerOrder.Last
|
|
180
180
|
});
|
|
181
181
|
}
|
|
182
182
|
else {
|
|
183
183
|
event.join(this._doStopExtensionHosts(), {
|
|
184
184
|
id: 'join.stopExtensionHosts',
|
|
185
|
-
label: ( localize(
|
|
185
|
+
label: ( localize(680, "Stopping Extension Hosts")),
|
|
186
186
|
});
|
|
187
187
|
}
|
|
188
188
|
}));
|
|
@@ -253,7 +253,7 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
253
253
|
this._notificationService.notify({
|
|
254
254
|
severity: Severity$1.Error,
|
|
255
255
|
message: ( localize(
|
|
256
|
-
|
|
256
|
+
681,
|
|
257
257
|
"The following extensions contain dependency loops and have been disabled: {0}",
|
|
258
258
|
( (result.removedDueToLooping.map(e => `'${e.identifier.value}'`))).join(', ')
|
|
259
259
|
))
|
|
@@ -407,7 +407,7 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
407
407
|
this._notificationService.notify({
|
|
408
408
|
severity: Severity$1.Error,
|
|
409
409
|
message: ( localize(
|
|
410
|
-
|
|
410
|
+
681,
|
|
411
411
|
"The following extensions contain dependency loops and have been disabled: {0}",
|
|
412
412
|
( (result.removedDueToLooping.map(e => `'${e.identifier.value}'`))).join(', ')
|
|
413
413
|
))
|
|
@@ -422,7 +422,7 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
422
422
|
const extensionHostManager = this.findTestExtensionHost(this._environmentService.extensionTestsLocationURI);
|
|
423
423
|
if (!extensionHostManager) {
|
|
424
424
|
const msg = ( localize(
|
|
425
|
-
|
|
425
|
+
682,
|
|
426
426
|
"No extension host found that can launch the test runner at {0}.",
|
|
427
427
|
(this._environmentService.extensionTestsLocationURI.toString())
|
|
428
428
|
));
|
|
@@ -592,7 +592,7 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
592
592
|
vetoReasons.add(reason);
|
|
593
593
|
}
|
|
594
594
|
}).catch(error => {
|
|
595
|
-
vetoReasons.add(( localize(
|
|
595
|
+
vetoReasons.add(( localize(683, "{0} (Error: {1})", reason, toErrorMessage(error))));
|
|
596
596
|
});
|
|
597
597
|
}
|
|
598
598
|
}
|
|
@@ -605,10 +605,10 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
605
605
|
if (!auto) {
|
|
606
606
|
const vetoReasonsArray = Array.from(vetoReasons);
|
|
607
607
|
this._logService.warn(`Extension host was not stopped because of veto (stop reason: ${reason}, veto reason: ${vetoReasonsArray.join(', ')})`);
|
|
608
|
-
await this._dialogService.warn(( localize(
|
|
609
|
-
( localize(
|
|
608
|
+
await this._dialogService.warn(( localize(684, "The following operation was blocked: {0}", reason)), vetoReasonsArray.length === 1 ?
|
|
609
|
+
( localize(685, "The reason for blocking the operation: {0}", vetoReasonsArray[0])) :
|
|
610
610
|
( localize(
|
|
611
|
-
|
|
611
|
+
686,
|
|
612
612
|
"The reasons for blocking the operation:\n- {0}",
|
|
613
613
|
vetoReasonsArray.join('\n -')
|
|
614
614
|
)));
|
|
@@ -706,15 +706,15 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
706
706
|
this._remoteCrashTracker.registerCrash();
|
|
707
707
|
if (this._remoteCrashTracker.shouldAutomaticallyRestart()) {
|
|
708
708
|
this._logService.info(`Automatically restarting the remote extension host.`);
|
|
709
|
-
this._notificationService.status(( localize(
|
|
709
|
+
this._notificationService.status(( localize(687, "The remote extension host terminated unexpectedly. Restarting...")), { hideAfter: 5000 });
|
|
710
710
|
this._startExtensionHostsIfNecessary(false, Array.from(( (this._allRequestedActivateEvents.keys()))));
|
|
711
711
|
}
|
|
712
712
|
else {
|
|
713
713
|
this._notificationService.prompt(Severity$1.Error, ( localize(
|
|
714
|
-
|
|
714
|
+
688,
|
|
715
715
|
"Remote Extension host terminated unexpectedly 3 times within the last 5 minutes."
|
|
716
716
|
)), [{
|
|
717
|
-
label: ( localize(
|
|
717
|
+
label: ( localize(689, "Restart Remote Extension Host")),
|
|
718
718
|
run: () => {
|
|
719
719
|
this._startExtensionHostsIfNecessary(false, Array.from(( (this._allRequestedActivateEvents.keys()))));
|
|
720
720
|
}
|
|
@@ -1199,7 +1199,7 @@ class ActivationFeatureMarkdowneRenderer extends Disposable {
|
|
|
1199
1199
|
}
|
|
1200
1200
|
( (Registry.as(Extensions.ExtensionFeaturesRegistry))).registerExtensionFeature({
|
|
1201
1201
|
id: 'activationEvents',
|
|
1202
|
-
label: ( localize(
|
|
1202
|
+
label: ( localize(690, "Activation Events")),
|
|
1203
1203
|
access: {
|
|
1204
1204
|
canToggle: false
|
|
1205
1205
|
},
|
|
@@ -481,7 +481,7 @@ registerAction2(class MeasureExtHostLatencyAction extends Action2 {
|
|
|
481
481
|
constructor() {
|
|
482
482
|
super({
|
|
483
483
|
id: 'editor.action.measureExtHostLatency',
|
|
484
|
-
title: ( localize2(
|
|
484
|
+
title: ( localize2(4498, "Measure Extension Host Latency")),
|
|
485
485
|
category: Categories.Developer,
|
|
486
486
|
f1: true
|
|
487
487
|
});
|
|
@@ -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(691, "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
|
+
4499,
|
|
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
|
+
4499,
|
|
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
|
+
4500,
|
|
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
|
+
4501,
|
|
59
59
|
"Loading development extension at {0}",
|
|
60
60
|
developedExtension.extensionLocation.fsPath
|
|
61
61
|
)));
|