@codingame/monaco-vscode-extensions-service-override 10.1.4 → 11.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/assets/{webWorkerExtensionHostIframe.esm.html → webWorkerExtensionHostIframe.html} +5 -12
- package/extensions.js +2 -2
- package/package.json +7 -3
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagementCLI.js +28 -28
- package/vscode/src/vs/workbench/api/browser/mainThreadAuthentication.js +11 -11
- package/vscode/src/vs/workbench/api/browser/mainThreadCLICommands.js +26 -20
- package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents2.js +26 -8
- package/vscode/src/vs/workbench/api/browser/mainThreadComments.js +35 -22
- 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/mainThreadEditor.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadEditorTabs.js +2 -2
- 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/mainThreadLanguageFeatures.js +10 -6
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModelTools.js +3 -3
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModels.js +21 -4
- 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/mainThreadSCM.js +5 -4
- package/vscode/src/vs/workbench/api/browser/mainThreadSaveParticipant.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadTask.js +6 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadTreeViews.js +13 -9
- 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/browser/webWorkerExtensionHost.js +2 -4
- package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.js +21 -16
- 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
|
@@ -206,11 +206,11 @@ class MainThreadSCMProvider {
|
|
|
206
206
|
get inputBoxTextModel() { return this._inputBoxTextModel; }
|
|
207
207
|
get contextValue() { return this._providerId; }
|
|
208
208
|
get acceptInputCommand() { return this.features.acceptInputCommand; }
|
|
209
|
-
get actionButton() { return this.features.actionButton ?? undefined; }
|
|
210
209
|
get count() { return this._count; }
|
|
211
210
|
get statusBarCommands() { return this._statusBarCommands; }
|
|
212
211
|
get name() { return this._name ?? this._label; }
|
|
213
212
|
get commitTemplate() { return this._commitTemplate; }
|
|
213
|
+
get actionButton() { return this._actionButton; }
|
|
214
214
|
get historyProvider() { return this._historyProvider; }
|
|
215
215
|
constructor(proxy, _handle, _providerId, _label, _rootUri, _inputBoxTextModel, _quickDiffService, _uriIdentService, _workspaceContextService) {
|
|
216
216
|
this.proxy = proxy;
|
|
@@ -233,8 +233,7 @@ class MainThreadSCMProvider {
|
|
|
233
233
|
this._count = observableValue(this, undefined);
|
|
234
234
|
this._statusBarCommands = observableValue(this, undefined);
|
|
235
235
|
this._commitTemplate = observableValue(this, '');
|
|
236
|
-
this.
|
|
237
|
-
this.onDidChange = this._onDidChange.event;
|
|
236
|
+
this._actionButton = observableValue(this, undefined);
|
|
238
237
|
this.isSCM = true;
|
|
239
238
|
this._historyProvider = observableValue(this, undefined);
|
|
240
239
|
if (_rootUri) {
|
|
@@ -249,10 +248,12 @@ class MainThreadSCMProvider {
|
|
|
249
248
|
}
|
|
250
249
|
$updateSourceControl(features) {
|
|
251
250
|
this.features = { ...this.features, ...features };
|
|
252
|
-
this._onDidChange.fire();
|
|
253
251
|
if (typeof features.commitTemplate !== 'undefined') {
|
|
254
252
|
this._commitTemplate.set(features.commitTemplate, undefined);
|
|
255
253
|
}
|
|
254
|
+
if (typeof features.actionButton !== 'undefined') {
|
|
255
|
+
this._actionButton.set(features.actionButton, undefined);
|
|
256
|
+
}
|
|
256
257
|
if (typeof features.count !== 'undefined') {
|
|
257
258
|
this._count.set(features.count, undefined);
|
|
258
259
|
}
|
|
@@ -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(4876, "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(4887, '{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
|
|
@@ -499,9 +499,13 @@ let MainThreadTask = class MainThreadTask extends Disposable {
|
|
|
499
499
|
console.error(`Task System: can not convert task: ${JSON.stringify(dto.definition, undefined, 0)}. Task will be dropped`);
|
|
500
500
|
}
|
|
501
501
|
}
|
|
502
|
+
const processedExtension = {
|
|
503
|
+
...value.extension,
|
|
504
|
+
extensionLocation: URI.revive(value.extension.extensionLocation)
|
|
505
|
+
};
|
|
502
506
|
return {
|
|
503
507
|
tasks,
|
|
504
|
-
extension:
|
|
508
|
+
extension: processedExtension
|
|
505
509
|
};
|
|
506
510
|
});
|
|
507
511
|
},
|
|
@@ -74,7 +74,7 @@ let MainThreadTreeViews = class MainThreadTreeViews extends Disposable {
|
|
|
74
74
|
const dataProvider = this._dataProviders.get(treeViewId);
|
|
75
75
|
if (viewer && dataProvider) {
|
|
76
76
|
const itemsToRefresh = dataProvider.dataProvider.getItemsToRefresh(itemsToRefreshByHandle);
|
|
77
|
-
return viewer.refresh(itemsToRefresh.length ? itemsToRefresh : undefined);
|
|
77
|
+
return viewer.refresh(itemsToRefresh.items.length ? itemsToRefresh.items : undefined, itemsToRefresh.checkboxes.length ? itemsToRefresh.checkboxes : undefined);
|
|
78
78
|
}
|
|
79
79
|
return Promise.resolve();
|
|
80
80
|
}
|
|
@@ -249,19 +249,23 @@ class TreeViewDataProvider {
|
|
|
249
249
|
}
|
|
250
250
|
getItemsToRefresh(itemsToRefreshByHandle) {
|
|
251
251
|
const itemsToRefresh = [];
|
|
252
|
+
const checkboxesToRefresh = [];
|
|
252
253
|
if (itemsToRefreshByHandle) {
|
|
253
|
-
for (const
|
|
254
|
-
const currentTreeItem = this.getItem(
|
|
254
|
+
for (const newTreeItemHandle of ( Object.keys(itemsToRefreshByHandle))) {
|
|
255
|
+
const currentTreeItem = this.getItem(newTreeItemHandle);
|
|
255
256
|
if (currentTreeItem) {
|
|
256
|
-
const
|
|
257
|
-
|
|
258
|
-
|
|
257
|
+
const newTreeItem = itemsToRefreshByHandle[newTreeItemHandle];
|
|
258
|
+
if (currentTreeItem.checkbox?.isChecked !== newTreeItem.checkbox?.isChecked) {
|
|
259
|
+
checkboxesToRefresh.push(currentTreeItem);
|
|
260
|
+
}
|
|
261
|
+
this.updateTreeItem(currentTreeItem, newTreeItem);
|
|
262
|
+
if (newTreeItemHandle === newTreeItem.handle) {
|
|
259
263
|
itemsToRefresh.push(currentTreeItem);
|
|
260
264
|
}
|
|
261
265
|
else {
|
|
262
|
-
this.itemsMap.delete(
|
|
266
|
+
this.itemsMap.delete(newTreeItemHandle);
|
|
263
267
|
this.itemsMap.set(currentTreeItem.handle, currentTreeItem);
|
|
264
|
-
const parent =
|
|
268
|
+
const parent = newTreeItem.parentHandle ? this.itemsMap.get(newTreeItem.parentHandle) : null;
|
|
265
269
|
if (parent) {
|
|
266
270
|
itemsToRefresh.push(parent);
|
|
267
271
|
}
|
|
@@ -269,7 +273,7 @@ class TreeViewDataProvider {
|
|
|
269
273
|
}
|
|
270
274
|
}
|
|
271
275
|
}
|
|
272
|
-
return itemsToRefresh;
|
|
276
|
+
return { items: itemsToRefresh, checkboxes: checkboxesToRefresh };
|
|
273
277
|
}
|
|
274
278
|
getItem(treeItemHandle) {
|
|
275
279
|
return this.itemsMap.get(treeItemHandle);
|
|
@@ -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
|
+
4888,
|
|
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(4889, "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(4878, "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
|
+
4879,
|
|
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(9985, "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(4880, "Extension '{0}' added 1 folder to the workspace", extensionName));
|
|
80
80
|
}
|
|
81
81
|
else {
|
|
82
82
|
message = ( localize(
|
|
83
|
-
|
|
83
|
+
4881,
|
|
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(4882, "Extension '{0}' removed 1 folder from the workspace", extensionName));
|
|
93
93
|
}
|
|
94
94
|
else {
|
|
95
95
|
message = ( localize(
|
|
96
|
-
|
|
96
|
+
4883,
|
|
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(4884, "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(11520, "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(1150, "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(1151, "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
|
+
1152,
|
|
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
|
+
1153,
|
|
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(1154, '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(1155, "Extension Bisect")),
|
|
197
197
|
detail: ( localize(
|
|
198
|
-
|
|
198
|
+
1156,
|
|
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(1157, "&&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(1158, '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(1159, "Extension Bisect")), ( localize(
|
|
249
|
+
1160,
|
|
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(1159, "Extension Bisect")),
|
|
258
|
+
primaryButton: ( localize(1161, "&&Report Issue & Continue")),
|
|
259
|
+
cancelButton: ( localize(1162, "Continue")),
|
|
260
260
|
detail: ( localize(
|
|
261
|
-
|
|
261
|
+
1163,
|
|
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(1164, "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(1165, "Extension Bisect")),
|
|
281
281
|
detail: ( localize(
|
|
282
|
-
|
|
282
|
+
1166,
|
|
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(1167, "I ca&&n't reproduce")),
|
|
289
289
|
run: () => false
|
|
290
290
|
},
|
|
291
291
|
{
|
|
292
|
-
label: ( localize(
|
|
292
|
+
label: ( localize(1168, "I can &&reproduce")),
|
|
293
293
|
run: () => true
|
|
294
294
|
},
|
|
295
295
|
{
|
|
296
|
-
label: ( localize(
|
|
296
|
+
label: ( localize(1169, "&&Stop Bisect")),
|
|
297
297
|
run: () => undefined
|
|
298
298
|
}
|
|
299
299
|
],
|
|
300
300
|
cancelButton: {
|
|
301
|
-
label: ( localize(
|
|
301
|
+
label: ( localize(1170, "&&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(1171, 'Stop Extension Bisect')),
|
|
313
313
|
category: Categories.Help,
|
|
314
314
|
f1: true,
|
|
315
315
|
precondition: ExtensionBisectUi.ctxIsBisectActive
|
|
@@ -59,7 +59,7 @@ let WebWorkerExtensionHost = class WebWorkerExtensionHost extends Disposable {
|
|
|
59
59
|
}
|
|
60
60
|
COI.addSearchParam(suffixSearchParams, true, true);
|
|
61
61
|
const suffix = `?${( suffixSearchParams.toString())}`;
|
|
62
|
-
const iframeModulePath = `vs/workbench/services/extensions/worker/webWorkerExtensionHostIframe
|
|
62
|
+
const iframeModulePath = `vs/workbench/services/extensions/worker/webWorkerExtensionHostIframe.html`;
|
|
63
63
|
if (isWeb) {
|
|
64
64
|
const webEndpointUrlTemplate = this._productService.webEndpointUrlTemplate;
|
|
65
65
|
const commit = this._productService.commit;
|
|
@@ -140,12 +140,10 @@ let WebWorkerExtensionHost = class WebWorkerExtensionHost extends Disposable {
|
|
|
140
140
|
return rejectBarrier(81 , err);
|
|
141
141
|
}
|
|
142
142
|
if (event.data.type === 'vscode.bootstrap.nls') {
|
|
143
|
-
const baseUrl = undefined ;
|
|
144
143
|
iframe.contentWindow.postMessage({
|
|
145
144
|
type: event.data.type,
|
|
146
145
|
data: {
|
|
147
|
-
|
|
148
|
-
workerUrl: ( ( FileAccess.asBrowserUri('vs/workbench/api/worker/extensionHostWorker.esm.js')).toString(true)) ,
|
|
146
|
+
workerUrl: ( ( FileAccess.asBrowserUri('vs/workbench/api/worker/extensionHostWorkerMain.js')).toString(true)),
|
|
149
147
|
fileRoot: globalThis._VSCODE_FILE_ROOT,
|
|
150
148
|
nls: {
|
|
151
149
|
messages: getNLSMessages(),
|
|
@@ -165,19 +165,24 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
165
165
|
this._register(this._lifecycleService.onWillShutdown(event => {
|
|
166
166
|
if (this._remoteAgentService.getConnection()) {
|
|
167
167
|
event.join(async () => {
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
168
|
+
try {
|
|
169
|
+
await this._remoteAgentService.endConnection();
|
|
170
|
+
await this._doStopExtensionHosts();
|
|
171
|
+
this._remoteAgentService.getConnection()?.dispose();
|
|
172
|
+
}
|
|
173
|
+
catch {
|
|
174
|
+
this._logService.warn('Error while disconnecting remote agent');
|
|
175
|
+
}
|
|
171
176
|
}, {
|
|
172
177
|
id: 'join.disconnectRemote',
|
|
173
|
-
label: ( localize(
|
|
178
|
+
label: ( localize(1137, "Disconnect Remote Agent")),
|
|
174
179
|
order: WillShutdownJoinerOrder.Last
|
|
175
180
|
});
|
|
176
181
|
}
|
|
177
182
|
else {
|
|
178
183
|
event.join(this._doStopExtensionHosts(), {
|
|
179
184
|
id: 'join.stopExtensionHosts',
|
|
180
|
-
label: ( localize(
|
|
185
|
+
label: ( localize(1138, "Stopping Extension Hosts")),
|
|
181
186
|
});
|
|
182
187
|
}
|
|
183
188
|
}));
|
|
@@ -248,7 +253,7 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
248
253
|
this._notificationService.notify({
|
|
249
254
|
severity: Severity$1.Error,
|
|
250
255
|
message: ( localize(
|
|
251
|
-
|
|
256
|
+
1139,
|
|
252
257
|
"The following extensions contain dependency loops and have been disabled: {0}",
|
|
253
258
|
( (result.removedDueToLooping.map(e => `'${e.identifier.value}'`))).join(', ')
|
|
254
259
|
))
|
|
@@ -402,7 +407,7 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
402
407
|
this._notificationService.notify({
|
|
403
408
|
severity: Severity$1.Error,
|
|
404
409
|
message: ( localize(
|
|
405
|
-
|
|
410
|
+
1139,
|
|
406
411
|
"The following extensions contain dependency loops and have been disabled: {0}",
|
|
407
412
|
( (result.removedDueToLooping.map(e => `'${e.identifier.value}'`))).join(', ')
|
|
408
413
|
))
|
|
@@ -417,7 +422,7 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
417
422
|
const extensionHostManager = this.findTestExtensionHost(this._environmentService.extensionTestsLocationURI);
|
|
418
423
|
if (!extensionHostManager) {
|
|
419
424
|
const msg = ( localize(
|
|
420
|
-
|
|
425
|
+
1140,
|
|
421
426
|
"No extension host found that can launch the test runner at {0}.",
|
|
422
427
|
(this._environmentService.extensionTestsLocationURI.toString())
|
|
423
428
|
));
|
|
@@ -587,7 +592,7 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
587
592
|
vetoReasons.add(reason);
|
|
588
593
|
}
|
|
589
594
|
}).catch(error => {
|
|
590
|
-
vetoReasons.add(( localize(
|
|
595
|
+
vetoReasons.add(( localize(1141, "{0} (Error: {1})", reason, toErrorMessage(error))));
|
|
591
596
|
});
|
|
592
597
|
}
|
|
593
598
|
}
|
|
@@ -600,10 +605,10 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
600
605
|
if (!auto) {
|
|
601
606
|
const vetoReasonsArray = Array.from(vetoReasons);
|
|
602
607
|
this._logService.warn(`Extension host was not stopped because of veto (stop reason: ${reason}, veto reason: ${vetoReasonsArray.join(', ')})`);
|
|
603
|
-
await this._dialogService.warn(( localize(
|
|
604
|
-
( localize(
|
|
608
|
+
await this._dialogService.warn(( localize(1142, "The following operation was blocked: {0}", reason)), vetoReasonsArray.length === 1 ?
|
|
609
|
+
( localize(1143, "The reason for blocking the operation: {0}", vetoReasonsArray[0])) :
|
|
605
610
|
( localize(
|
|
606
|
-
|
|
611
|
+
1144,
|
|
607
612
|
"The reasons for blocking the operation:\n- {0}",
|
|
608
613
|
vetoReasonsArray.join('\n -')
|
|
609
614
|
)));
|
|
@@ -701,15 +706,15 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
701
706
|
this._remoteCrashTracker.registerCrash();
|
|
702
707
|
if (this._remoteCrashTracker.shouldAutomaticallyRestart()) {
|
|
703
708
|
this._logService.info(`Automatically restarting the remote extension host.`);
|
|
704
|
-
this._notificationService.status(( localize(
|
|
709
|
+
this._notificationService.status(( localize(1145, "The remote extension host terminated unexpectedly. Restarting...")), { hideAfter: 5000 });
|
|
705
710
|
this._startExtensionHostsIfNecessary(false, Array.from(( (this._allRequestedActivateEvents.keys()))));
|
|
706
711
|
}
|
|
707
712
|
else {
|
|
708
713
|
this._notificationService.prompt(Severity$1.Error, ( localize(
|
|
709
|
-
|
|
714
|
+
1146,
|
|
710
715
|
"Remote Extension host terminated unexpectedly 3 times within the last 5 minutes."
|
|
711
716
|
)), [{
|
|
712
|
-
label: ( localize(
|
|
717
|
+
label: ( localize(1147, "Restart Remote Extension Host")),
|
|
713
718
|
run: () => {
|
|
714
719
|
this._startExtensionHostsIfNecessary(false, Array.from(( (this._allRequestedActivateEvents.keys()))));
|
|
715
720
|
}
|
|
@@ -1194,7 +1199,7 @@ class ActivationFeatureMarkdowneRenderer extends Disposable {
|
|
|
1194
1199
|
}
|
|
1195
1200
|
( (Registry.as(Extensions.ExtensionFeaturesRegistry))).registerExtensionFeature({
|
|
1196
1201
|
id: 'activationEvents',
|
|
1197
|
-
label: ( localize(
|
|
1202
|
+
label: ( localize(1148, "Activation Events")),
|
|
1198
1203
|
access: {
|
|
1199
1204
|
canToggle: false
|
|
1200
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(4836, "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(1149, "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
|
+
4837,
|
|
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
|
+
4837,
|
|
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
|
+
4838,
|
|
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
|
+
4839,
|
|
59
59
|
"Loading development extension at {0}",
|
|
60
60
|
developedExtension.extensionLocation.fsPath
|
|
61
61
|
)));
|