@codingame/monaco-vscode-extensions-service-override 19.1.4 → 20.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.
Files changed (73) hide show
  1. package/index.js +3 -0
  2. package/package.json +27 -27
  3. package/vscode/src/vs/platform/extensionManagement/common/extensionManagementCLI.js +28 -28
  4. package/vscode/src/vs/workbench/api/browser/mainThreadAuthentication.d.ts +10 -3
  5. package/vscode/src/vs/workbench/api/browser/mainThreadAuthentication.js +85 -22
  6. package/vscode/src/vs/workbench/api/browser/mainThreadBulkEdits.js +1 -1
  7. package/vscode/src/vs/workbench/api/browser/mainThreadCLICommands.js +1 -1
  8. package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents2.js +9 -6
  9. package/vscode/src/vs/workbench/api/browser/mainThreadChatOutputRenderer.d.ts +18 -0
  10. package/vscode/src/vs/workbench/api/browser/mainThreadChatOutputRenderer.js +44 -0
  11. package/vscode/src/vs/workbench/api/browser/mainThreadChatSessions.d.ts +42 -0
  12. package/vscode/src/vs/workbench/api/browser/mainThreadChatSessions.js +247 -0
  13. package/vscode/src/vs/workbench/api/browser/mainThreadClipboard.d.ts +3 -1
  14. package/vscode/src/vs/workbench/api/browser/mainThreadClipboard.js +9 -3
  15. package/vscode/src/vs/workbench/api/browser/mainThreadComments.d.ts +1 -1
  16. package/vscode/src/vs/workbench/api/browser/mainThreadComments.js +1 -1
  17. package/vscode/src/vs/workbench/api/browser/mainThreadCustomEditors.js +6 -6
  18. package/vscode/src/vs/workbench/api/browser/mainThreadDataChannels.d.ts +9 -0
  19. package/vscode/src/vs/workbench/api/browser/mainThreadDataChannels.js +23 -0
  20. package/vscode/src/vs/workbench/api/browser/mainThreadDocumentsAndEditors.js +1 -1
  21. package/vscode/src/vs/workbench/api/browser/mainThreadEditSessionIdentityParticipant.js +1 -1
  22. package/vscode/src/vs/workbench/api/browser/mainThreadEditorTabs.d.ts +1 -1
  23. package/vscode/src/vs/workbench/api/browser/mainThreadEditorTabs.js +10 -10
  24. package/vscode/src/vs/workbench/api/browser/mainThreadEditors.d.ts +1 -1
  25. package/vscode/src/vs/workbench/api/browser/mainThreadEditors.js +1 -1
  26. package/vscode/src/vs/workbench/api/browser/mainThreadExtensionService.js +11 -11
  27. package/vscode/src/vs/workbench/api/browser/mainThreadFileSystemEventService.js +20 -20
  28. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageFeatures.d.ts +3 -3
  29. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageFeatures.js +12 -6
  30. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModelTools.js +1 -0
  31. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModels.d.ts +8 -9
  32. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModels.js +38 -37
  33. package/vscode/src/vs/workbench/api/browser/mainThreadMcp.js +11 -8
  34. package/vscode/src/vs/workbench/api/browser/mainThreadMessageService.js +4 -4
  35. package/vscode/src/vs/workbench/api/browser/mainThreadNotebook.js +1 -1
  36. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocumentsAndEditors.js +2 -2
  37. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookEditors.d.ts +2 -2
  38. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookEditors.js +2 -2
  39. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookSaveParticipant.js +1 -1
  40. package/vscode/src/vs/workbench/api/browser/mainThreadOutputService.js +3 -3
  41. package/vscode/src/vs/workbench/api/browser/mainThreadProgress.js +1 -1
  42. package/vscode/src/vs/workbench/api/browser/mainThreadSCM.d.ts +5 -1
  43. package/vscode/src/vs/workbench/api/browser/mainThreadSCM.js +21 -8
  44. package/vscode/src/vs/workbench/api/browser/mainThreadSaveParticipant.js +1 -1
  45. package/vscode/src/vs/workbench/api/browser/mainThreadSecretState.d.ts +2 -0
  46. package/vscode/src/vs/workbench/api/browser/mainThreadSecretState.js +25 -8
  47. package/vscode/src/vs/workbench/api/browser/mainThreadTask.js +1 -1
  48. package/vscode/src/vs/workbench/api/browser/mainThreadTerminalService.d.ts +1 -1
  49. package/vscode/src/vs/workbench/api/browser/mainThreadTerminalService.js +5 -2
  50. package/vscode/src/vs/workbench/api/browser/mainThreadTerminalShellIntegration.d.ts +3 -1
  51. package/vscode/src/vs/workbench/api/browser/mainThreadTerminalShellIntegration.js +9 -2
  52. package/vscode/src/vs/workbench/api/browser/mainThreadTunnelService.js +2 -2
  53. package/vscode/src/vs/workbench/api/browser/mainThreadUriOpeners.js +2 -2
  54. package/vscode/src/vs/workbench/api/browser/mainThreadWebviewManager.js +3 -0
  55. package/vscode/src/vs/workbench/api/browser/mainThreadWebviewPanels.d.ts +1 -1
  56. package/vscode/src/vs/workbench/api/browser/mainThreadWebviewPanels.js +4 -4
  57. package/vscode/src/vs/workbench/api/browser/mainThreadWebviews.d.ts +3 -3
  58. package/vscode/src/vs/workbench/api/browser/mainThreadWebviews.js +2 -2
  59. package/vscode/src/vs/workbench/api/browser/mainThreadWorkspace.js +5 -5
  60. package/vscode/src/vs/workbench/contrib/customEditor/common/customTextEditorModel.js +1 -1
  61. package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/forwardingTelemetryService.d.ts +30 -0
  62. package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/forwardingTelemetryService.js +67 -0
  63. package/vscode/src/vs/workbench/services/extensionManagement/browser/extensionBisect.js +23 -23
  64. package/vscode/src/vs/workbench/services/extensions/browser/webWorkerExtensionHost.js +1 -1
  65. package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.d.ts +3 -5
  66. package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.js +32 -22
  67. package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.d.ts +2 -5
  68. package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.js +1 -1
  69. package/vscode/src/vs/workbench/services/extensions/common/extensionHostManagers.d.ts +2 -5
  70. package/vscode/src/vs/workbench/services/extensions/common/extensionsProposedApi.js +1 -1
  71. package/vscode/src/vs/workbench/services/extensions/common/extensionsUtil.js +4 -4
  72. package/vscode/src/vs/workbench/services/extensions/common/lazyCreateExtensionHostManager.d.ts +4 -7
  73. package/vscode/src/vs/workbench/services/extensions/common/lazyCreateExtensionHostManager.js +9 -11
@@ -8,9 +8,9 @@ import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
8
8
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
9
9
  import { IOpenerService } from '@codingame/monaco-vscode-api/vscode/vs/platform/opener/common/opener.service';
10
10
  import { IProductService } from '@codingame/monaco-vscode-api/vscode/vs/platform/product/common/productService.service';
11
+ import { SerializableObjectWithBuffers } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/proxyIdentifier';
11
12
  import { ExtHostContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/api/common/extHost.protocol';
12
13
  import { deserializeWebviewMessage, serializeWebviewMessage } from '@codingame/monaco-vscode-api/vscode/vs/workbench/api/common/extHostWebviewMessaging';
13
- import { SerializableObjectWithBuffers } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/proxyIdentifier';
14
14
 
15
15
  var MainThreadWebviews_1;
16
16
  let MainThreadWebviews = class MainThreadWebviews extends Disposable {
@@ -104,7 +104,7 @@ let MainThreadWebviews = class MainThreadWebviews extends Disposable {
104
104
  <meta http-equiv="Content-type" content="text/html;charset=UTF-8">
105
105
  <meta http-equiv="Content-Security-Policy" content="default-src 'none';">
106
106
  </head>
107
- <body>${( localize(2476, "An error occurred while loading view: {0}", escape(viewType)))}</body>
107
+ <body>${( localize(2503, "An error occurred while loading view: {0}", escape(viewType)))}</body>
108
108
  </html>`;
109
109
  }
110
110
  };
@@ -79,11 +79,11 @@ let MainThreadWorkspace = class MainThreadWorkspace {
79
79
  const wantsToDelete = removeCount > 0;
80
80
  if (wantsToAdd && !wantsToDelete) {
81
81
  if (addCount === 1) {
82
- message = ( localize(2477, "Extension '{0}' added 1 folder to the workspace", extensionName));
82
+ message = ( localize(2504, "Extension '{0}' added 1 folder to the workspace", extensionName));
83
83
  }
84
84
  else {
85
85
  message = ( localize(
86
- 2478,
86
+ 2505,
87
87
  "Extension '{0}' added {1} folders to the workspace",
88
88
  extensionName,
89
89
  addCount
@@ -92,11 +92,11 @@ let MainThreadWorkspace = class MainThreadWorkspace {
92
92
  }
93
93
  else if (wantsToDelete && !wantsToAdd) {
94
94
  if (removeCount === 1) {
95
- message = ( localize(2479, "Extension '{0}' removed 1 folder from the workspace", extensionName));
95
+ message = ( localize(2506, "Extension '{0}' removed 1 folder from the workspace", extensionName));
96
96
  }
97
97
  else {
98
98
  message = ( localize(
99
- 2480,
99
+ 2507,
100
100
  "Extension '{0}' removed {1} folders from the workspace",
101
101
  extensionName,
102
102
  removeCount
@@ -104,7 +104,7 @@ let MainThreadWorkspace = class MainThreadWorkspace {
104
104
  }
105
105
  }
106
106
  else {
107
- message = ( localize(2481, "Extension '{0}' changed folders of the workspace", extensionName));
107
+ message = ( localize(2508, "Extension '{0}' changed folders of the workspace", extensionName));
108
108
  }
109
109
  return message;
110
110
  }
@@ -49,7 +49,7 @@ let CustomTextEditorModel = CustomTextEditorModel_1 = class CustomTextEditorMode
49
49
  }));
50
50
  this._register(extensionService.onWillStop(e => {
51
51
  e.veto(true, ( localize(
52
- 5686,
52
+ 5803,
53
53
  "An extension provided text editor for '{0}' is still open that would close otherwise.",
54
54
  this.name
55
55
  )));
@@ -0,0 +1,30 @@
1
+ import { ClassifiedEvent, OmitMetadata, IGDPRProperty, StrictPropertyCheck } from "@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/gdprTypings";
2
+ import { ITelemetryData, TelemetryLevel } from "@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry";
3
+ import { ITelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service";
4
+ import { IDataChannelService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/dataChannel/common/dataChannel.service";
5
+ export declare class InterceptingTelemetryService implements ITelemetryService {
6
+ private readonly _baseService;
7
+ private readonly _intercept;
8
+ _serviceBrand: undefined;
9
+ constructor(_baseService: ITelemetryService, _intercept: (eventName: string, data?: ITelemetryData) => void);
10
+ get telemetryLevel(): TelemetryLevel;
11
+ get sessionId(): string;
12
+ get machineId(): string;
13
+ get sqmId(): string;
14
+ get devDeviceId(): string;
15
+ get firstSessionDate(): string;
16
+ get msftInternal(): boolean | undefined;
17
+ get sendErrorTelemetry(): boolean;
18
+ publicLog(eventName: string, data?: ITelemetryData): void;
19
+ publicLog2<E extends ClassifiedEvent<OmitMetadata<T>> = never, T extends IGDPRProperty = never>(eventName: string, data?: StrictPropertyCheck<T, E>): void;
20
+ publicLogError(errorEventName: string, data?: ITelemetryData): void;
21
+ publicLogError2<E extends ClassifiedEvent<OmitMetadata<T>> = never, T extends IGDPRProperty = never>(eventName: string, data?: StrictPropertyCheck<T, E>): void;
22
+ setExperimentProperty(name: string, value: string): void;
23
+ }
24
+ export interface IEditTelemetryData {
25
+ eventName: string;
26
+ data: Record<string, unknown>;
27
+ }
28
+ export declare class DataChannelForwardingTelemetryService extends InterceptingTelemetryService {
29
+ constructor(telemetryService: ITelemetryService, dataChannelService: IDataChannelService);
30
+ }
@@ -0,0 +1,67 @@
1
+
2
+ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
+ import { ITelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service';
4
+ import { IDataChannelService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/dataChannel/common/dataChannel.service';
5
+
6
+ class InterceptingTelemetryService {
7
+ constructor(_baseService, _intercept) {
8
+ this._baseService = _baseService;
9
+ this._intercept = _intercept;
10
+ }
11
+ get telemetryLevel() {
12
+ return this._baseService.telemetryLevel;
13
+ }
14
+ get sessionId() {
15
+ return this._baseService.sessionId;
16
+ }
17
+ get machineId() {
18
+ return this._baseService.machineId;
19
+ }
20
+ get sqmId() {
21
+ return this._baseService.sqmId;
22
+ }
23
+ get devDeviceId() {
24
+ return this._baseService.devDeviceId;
25
+ }
26
+ get firstSessionDate() {
27
+ return this._baseService.firstSessionDate;
28
+ }
29
+ get msftInternal() {
30
+ return this._baseService.msftInternal;
31
+ }
32
+ get sendErrorTelemetry() {
33
+ return this._baseService.sendErrorTelemetry;
34
+ }
35
+ publicLog(eventName, data) {
36
+ this._intercept(eventName, data);
37
+ this._baseService.publicLog(eventName, data);
38
+ }
39
+ publicLog2(eventName, data) {
40
+ this._intercept(eventName, data);
41
+ this._baseService.publicLog2(eventName, data);
42
+ }
43
+ publicLogError(errorEventName, data) {
44
+ this._intercept(errorEventName, data);
45
+ this._baseService.publicLogError(errorEventName, data);
46
+ }
47
+ publicLogError2(eventName, data) {
48
+ this._intercept(eventName, data);
49
+ this._baseService.publicLogError2(eventName, data);
50
+ }
51
+ setExperimentProperty(name, value) {
52
+ this._baseService.setExperimentProperty(name, value);
53
+ }
54
+ }
55
+ let DataChannelForwardingTelemetryService = class DataChannelForwardingTelemetryService extends InterceptingTelemetryService {
56
+ constructor(telemetryService, dataChannelService) {
57
+ super(telemetryService, (eventName, data) => {
58
+ dataChannelService.getDataChannel('editTelemetry').sendData({ eventName, data: data });
59
+ });
60
+ }
61
+ };
62
+ DataChannelForwardingTelemetryService = ( __decorate([
63
+ ( __param(0, ITelemetryService)),
64
+ ( __param(1, IDataChannelService))
65
+ ], DataChannelForwardingTelemetryService));
66
+
67
+ export { DataChannelForwardingTelemetryService, InterceptingTelemetryService };
@@ -140,11 +140,11 @@ let ExtensionBisectUi = class ExtensionBisectUi {
140
140
  }
141
141
  _showBisectPrompt() {
142
142
  const goodPrompt = {
143
- label: ( localize(12762, "I can't reproduce")),
143
+ label: ( localize(13012, "I can't reproduce")),
144
144
  run: () => this._commandService.executeCommand('extension.bisect.next', false)
145
145
  };
146
146
  const badPrompt = {
147
- label: ( localize(12763, "I can reproduce")),
147
+ label: ( localize(13013, "I can reproduce")),
148
148
  run: () => this._commandService.executeCommand('extension.bisect.next', true)
149
149
  };
150
150
  const stop = {
@@ -153,11 +153,11 @@ let ExtensionBisectUi = class ExtensionBisectUi {
153
153
  };
154
154
  const message = this._extensionBisectService.disabledCount === 1
155
155
  ? ( localize(
156
- 12764,
156
+ 13014,
157
157
  "Extension Bisect is active and has disabled 1 extension. Check if you can still reproduce the problem and proceed by selecting from these options."
158
158
  ))
159
159
  : ( localize(
160
- 12765,
160
+ 13015,
161
161
  "Extension Bisect is active and has disabled {0} extensions. Check if you can still reproduce the problem and proceed by selecting from these options.",
162
162
  this._extensionBisectService.disabledCount
163
163
  ));
@@ -175,7 +175,7 @@ registerAction2(class extends Action2 {
175
175
  constructor() {
176
176
  super({
177
177
  id: 'extension.bisect.start',
178
- title: ( localize2(12766, 'Start Extension Bisect')),
178
+ title: ( localize2(13016, 'Start Extension Bisect')),
179
179
  category: Categories.Help,
180
180
  f1: true,
181
181
  precondition: ( ExtensionBisectUi.ctxIsBisectActive.negate()),
@@ -195,13 +195,13 @@ registerAction2(class extends Action2 {
195
195
  const extensionsBisect = accessor.get(IExtensionBisectService);
196
196
  const extensions = (await extensionManagement.getInstalled(ExtensionType.User)).filter(ext => extensionEnablementService.isEnabled(ext));
197
197
  const res = await dialogService.confirm({
198
- message: ( localize(12767, "Extension Bisect")),
198
+ message: ( localize(13017, "Extension Bisect")),
199
199
  detail: ( localize(
200
- 12768,
200
+ 13018,
201
201
  "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.",
202
202
  2 + Math.log2(extensions.length) | 0
203
203
  )),
204
- primaryButton: ( localize(12769, "&&Start Extension Bisect"))
204
+ primaryButton: ( localize(13019, "&&Start Extension Bisect"))
205
205
  });
206
206
  if (res.confirmed) {
207
207
  await extensionsBisect.start(extensions);
@@ -213,7 +213,7 @@ registerAction2(class extends Action2 {
213
213
  constructor() {
214
214
  super({
215
215
  id: 'extension.bisect.next',
216
- title: ( localize2(12770, 'Continue Extension Bisect')),
216
+ title: ( localize2(13020, 'Continue Extension Bisect')),
217
217
  category: Categories.Help,
218
218
  f1: true,
219
219
  precondition: ExtensionBisectUi.ctxIsBisectActive
@@ -247,8 +247,8 @@ registerAction2(class extends Action2 {
247
247
  return;
248
248
  }
249
249
  if (done.bad) {
250
- await dialogService.info(( localize(12771, "Extension Bisect")), ( localize(
251
- 12772,
250
+ await dialogService.info(( localize(13021, "Extension Bisect")), ( localize(
251
+ 13022,
252
252
  "Extension Bisect is done but no extension has been identified. This might be a problem with {0}.",
253
253
  productService.nameShort
254
254
  )));
@@ -256,15 +256,15 @@ registerAction2(class extends Action2 {
256
256
  else {
257
257
  const res = await dialogService.confirm({
258
258
  type: Severity.Info,
259
- message: ( localize(12771, "Extension Bisect")),
260
- primaryButton: ( localize(12773, "&&Report Issue & Continue")),
261
- cancelButton: ( localize(12774, "Continue")),
259
+ message: ( localize(13021, "Extension Bisect")),
260
+ primaryButton: ( localize(13023, "&&Report Issue & Continue")),
261
+ cancelButton: ( localize(13024, "Continue")),
262
262
  detail: ( localize(
263
- 12775,
263
+ 13025,
264
264
  "Extension Bisect is done and has identified {0} as the extension causing the problem.",
265
265
  done.id
266
266
  )),
267
- checkbox: { label: ( localize(12776, "Keep this extension disabled")), checked: true }
267
+ checkbox: { label: ( localize(13026, "Keep this extension disabled")), checked: true }
268
268
  });
269
269
  if (res.checkboxChecked) {
270
270
  await extensionEnablementService.disableExtension({ id: done.id }, undefined);
@@ -279,28 +279,28 @@ registerAction2(class extends Action2 {
279
279
  async _checkForBad(dialogService, bisectService) {
280
280
  const { result } = await dialogService.prompt({
281
281
  type: Severity.Info,
282
- message: ( localize(12777, "Extension Bisect")),
282
+ message: ( localize(13027, "Extension Bisect")),
283
283
  detail: ( localize(
284
- 12778,
284
+ 13028,
285
285
  "Extension Bisect is active and has disabled {0} extensions. Check if you can still reproduce the problem and proceed by selecting from these options.",
286
286
  bisectService.disabledCount
287
287
  )),
288
288
  buttons: [
289
289
  {
290
- label: ( localize(12779, "I ca&&n't reproduce")),
290
+ label: ( localize(13029, "I ca&&n't reproduce")),
291
291
  run: () => false
292
292
  },
293
293
  {
294
- label: ( localize(12780, "I can &&reproduce")),
294
+ label: ( localize(13030, "I can &&reproduce")),
295
295
  run: () => true
296
296
  },
297
297
  {
298
- label: ( localize(12781, "&&Stop Bisect")),
298
+ label: ( localize(13031, "&&Stop Bisect")),
299
299
  run: () => undefined
300
300
  }
301
301
  ],
302
302
  cancelButton: {
303
- label: ( localize(12782, "&&Cancel Bisect")),
303
+ label: ( localize(13032, "&&Cancel Bisect")),
304
304
  run: () => null
305
305
  }
306
306
  });
@@ -311,7 +311,7 @@ registerAction2(class extends Action2 {
311
311
  constructor() {
312
312
  super({
313
313
  id: 'extension.bisect.stop',
314
- title: ( localize2(12783, 'Stop Extension Bisect')),
314
+ title: ( localize2(13033, 'Stop Extension Bisect')),
315
315
  category: Categories.Help,
316
316
  f1: true,
317
317
  precondition: ExtensionBisectUi.ctxIsBisectActive
@@ -274,7 +274,7 @@ let WebWorkerExtensionHost = class WebWorkerExtensionHost extends Disposable {
274
274
  logLevel: this._logService.getLevel(),
275
275
  loggers: [...this._loggerService.getRegisteredLoggers()],
276
276
  logsLocation: this._extensionHostLogsLocation,
277
- autoStart: (this.startup === ExtensionHostStartup.EagerAutoStart),
277
+ autoStart: (this.startup === ExtensionHostStartup.EagerAutoStart || this.startup === ExtensionHostStartup.LazyAutoStart),
278
278
  remote: {
279
279
  authority: this._environmentService.remoteAuthority,
280
280
  connectionData: null,
@@ -21,7 +21,7 @@ import { IExtensionHostManager } from "./extensionHostManagers.js";
21
21
  import { IExtensionManifestPropertiesService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensionManifestPropertiesService.service";
22
22
  import { ExtensionRunningLocation } from "@codingame/monaco-vscode-571c8352-7953-5038-9f09-e03bb6219a0e-common/vscode/vs/workbench/services/extensions/common/extensionRunningLocation";
23
23
  import { ExtensionRunningLocationTracker } from "./extensionRunningLocationTracker.js";
24
- import { ActivationKind, ActivationTimes, ExtensionActivationReason, ExtensionPointContribution, IExtensionHost, IExtensionsStatus, IMessage, IResponsiveStateChangeEvent, IWillActivateEvent, WillStopExtensionHostsEvent } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions";
24
+ import { ActivationKind, ActivationTimes, ExtensionActivationReason, ExtensionPointContribution, IExtensionHost, IExtensionInspectInfo, IExtensionsStatus, IMessage, IResponsiveStateChangeEvent, IWillActivateEvent, WillStopExtensionHostsEvent } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions";
25
25
  import { IExtensionService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions.service";
26
26
  import { ExtensionsProposedApi } from "./extensionsProposedApi.js";
27
27
  import { IExtensionPoint } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensionsRegistry";
@@ -114,6 +114,7 @@ export declare abstract class AbstractExtensionService extends Disposable implem
114
114
  toAdd: IExtension[];
115
115
  toRemove: string[];
116
116
  }): Promise<void>;
117
+ private _startOnDemandExtensionHosts;
117
118
  activateByEvent(activationEvent: string, activationKind?: ActivationKind): Promise<void>;
118
119
  private _activateByEvent;
119
120
  activateById(extensionId: ExtensionIdentifier, reason: ExtensionActivationReason): Promise<void>;
@@ -126,10 +127,7 @@ export declare abstract class AbstractExtensionService extends Disposable implem
126
127
  getExtensionsStatus(): {
127
128
  [id: string]: IExtensionsStatus;
128
129
  };
129
- getInspectPorts(extensionHostKind: ExtensionHostKind, tryEnableInspector: boolean): Promise<{
130
- port: number;
131
- host: string;
132
- }[]>;
130
+ getInspectPorts(extensionHostKind: ExtensionHostKind, tryEnableInspector: boolean): Promise<IExtensionInspectInfo[]>;
133
131
  setRemoteEnvironment(env: {
134
132
  [key: string]: string | null;
135
133
  }): Promise<void>;
@@ -181,14 +181,14 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
181
181
  }
182
182
  }, {
183
183
  id: 'join.disconnectRemote',
184
- label: ( localize(12865, "Disconnect Remote Agent")),
184
+ label: ( localize(13115, "Disconnect Remote Agent")),
185
185
  order: WillShutdownJoinerOrder.Last
186
186
  });
187
187
  }
188
188
  else {
189
189
  event.join(this._doStopExtensionHosts(), {
190
190
  id: 'join.stopExtensionHosts',
191
- label: ( localize(12866, "Stopping Extension Hosts")),
191
+ label: ( localize(13116, "Stopping Extension Hosts")),
192
192
  });
193
193
  }
194
194
  }));
@@ -259,7 +259,7 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
259
259
  this._notificationService.notify({
260
260
  severity: Severity.Error,
261
261
  message: ( localize(
262
- 12867,
262
+ 13117,
263
263
  "The following extensions contain dependency loops and have been disabled: {0}",
264
264
  ( result.removedDueToLooping.map(e => `'${e.identifier.value}'`)).join(', ')
265
265
  ))
@@ -376,13 +376,7 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
376
376
  const lock = await this._registry.acquireLock('_initialize');
377
377
  try {
378
378
  await this._resolveAndProcessExtensions(lock);
379
- const snapshot = this._registry.getSnapshot();
380
- for (const extHostManager of this._extensionHostManagers) {
381
- if (extHostManager.startup !== ExtensionHostStartup.EagerAutoStart) {
382
- const extensions = this._runningLocations.filterByExtensionHostManager(snapshot.extensions, extHostManager);
383
- extHostManager.start(snapshot.versionId, snapshot.extensions, ( extensions.map(extension => extension.identifier)));
384
- }
385
- }
379
+ this._startOnDemandExtensionHosts();
386
380
  }
387
381
  finally {
388
382
  lock.dispose();
@@ -440,7 +434,7 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
440
434
  this._notificationService.notify({
441
435
  severity: Severity.Error,
442
436
  message: ( localize(
443
- 12867,
437
+ 13117,
444
438
  "The following extensions contain dependency loops and have been disabled: {0}",
445
439
  ( result.removedDueToLooping.map(e => `'${e.identifier.value}'`)).join(', ')
446
440
  ))
@@ -455,7 +449,7 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
455
449
  const extensionHostManager = this.findTestExtensionHost(this._environmentService.extensionTestsLocationURI);
456
450
  if (!extensionHostManager) {
457
451
  const msg = ( localize(
458
- 12868,
452
+ 13118,
459
453
  "No extension host found that can launch the test runner at {0}.",
460
454
  (this._environmentService.extensionTestsLocationURI.toString())
461
455
  ));
@@ -625,7 +619,7 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
625
619
  vetoReasons.add(reason);
626
620
  }
627
621
  }).catch(error => {
628
- vetoReasons.add(( localize(12869, "{0} (Error: {1})", reason, toErrorMessage(error))));
622
+ vetoReasons.add(( localize(13119, "{0} (Error: {1})", reason, toErrorMessage(error))));
629
623
  });
630
624
  }
631
625
  }
@@ -640,11 +634,11 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
640
634
  this._logService.warn(`Extension host was not stopped because of veto (stop reason: ${reason}, veto reason: ${vetoReasonsArray.join(', ')})`);
641
635
  const { confirmed } = await this._dialogService.confirm({
642
636
  type: Severity.Warning,
643
- message: ( localize(12870, "Please confirm restart of extensions.")),
637
+ message: ( localize(13120, "Please confirm restart of extensions.")),
644
638
  detail: vetoReasonsArray.length === 1 ?
645
639
  vetoReasonsArray[0] :
646
640
  vetoReasonsArray.join('\n -'),
647
- primaryButton: ( localize(12871, "Restart Anyway"))
641
+ primaryButton: ( localize(13121, "Restart Anyway"))
648
642
  });
649
643
  if (confirmed) {
650
644
  return true;
@@ -695,8 +689,8 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
695
689
  }
696
690
  _doCreateExtensionHostManager(extensionHost, initialActivationEvents) {
697
691
  const internalExtensionService = this._acquireInternalAPI(extensionHost);
698
- if (extensionHost.startup === ExtensionHostStartup.Lazy && initialActivationEvents.length === 0) {
699
- return this._instantiationService.createInstance(LazyCreateExtensionHostManager, extensionHost, internalExtensionService);
692
+ if (extensionHost.startup === ExtensionHostStartup.LazyAutoStart) {
693
+ return this._instantiationService.createInstance(LazyCreateExtensionHostManager, extensionHost, initialActivationEvents, internalExtensionService);
700
694
  }
701
695
  return this._instantiationService.createInstance(ExtensionHostManager, extensionHost, initialActivationEvents, internalExtensionService);
702
696
  }
@@ -741,15 +735,15 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
741
735
  this._remoteCrashTracker.registerCrash();
742
736
  if (this._remoteCrashTracker.shouldAutomaticallyRestart()) {
743
737
  this._logService.info(`Automatically restarting the remote extension host.`);
744
- this._notificationService.status(( localize(12872, "The remote extension host terminated unexpectedly. Restarting...")), { hideAfter: 5000 });
738
+ this._notificationService.status(( localize(13122, "The remote extension host terminated unexpectedly. Restarting...")), { hideAfter: 5000 });
745
739
  this._startExtensionHostsIfNecessary(false, Array.from(( this._allRequestedActivateEvents.keys())));
746
740
  }
747
741
  else {
748
742
  this._notificationService.prompt(Severity.Error, ( localize(
749
- 12873,
743
+ 13123,
750
744
  "Remote Extension host terminated unexpectedly 3 times within the last 5 minutes."
751
745
  )), [{
752
- label: ( localize(12874, "Restart Remote Extension Host")),
746
+ label: ( localize(13124, "Restart Remote Extension Host")),
753
747
  run: () => {
754
748
  this._startExtensionHostsIfNecessary(false, Array.from(( this._allRequestedActivateEvents.keys())));
755
749
  }
@@ -781,6 +775,7 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
781
775
  const lock = await this._registry.acquireLock('startExtensionHosts');
782
776
  try {
783
777
  this._startExtensionHostsIfNecessary(false, Array.from(( this._allRequestedActivateEvents.keys())));
778
+ this._startOnDemandExtensionHosts();
784
779
  const localProcessExtensionHosts = this._getExtensionHostManagers(ExtensionHostKind.LocalProcess);
785
780
  await Promise.all(( localProcessExtensionHosts.map(extHost => extHost.ready())));
786
781
  }
@@ -788,6 +783,15 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
788
783
  lock.dispose();
789
784
  }
790
785
  }
786
+ _startOnDemandExtensionHosts() {
787
+ const snapshot = this._registry.getSnapshot();
788
+ for (const extHostManager of this._extensionHostManagers) {
789
+ if (extHostManager.startup !== ExtensionHostStartup.EagerAutoStart) {
790
+ const extensions = this._runningLocations.filterByExtensionHostManager(snapshot.extensions, extHostManager);
791
+ extHostManager.start(snapshot.versionId, snapshot.extensions, ( extensions.map(extension => extension.identifier)));
792
+ }
793
+ }
794
+ }
791
795
  activateByEvent(activationEvent, activationKind = ActivationKind.Normal) {
792
796
  if (this._installedExtensionsReady.isOpen()) {
793
797
  this._allRequestedActivateEvents.add(activationEvent);
@@ -871,7 +875,13 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
871
875
  return result;
872
876
  }
873
877
  async getInspectPorts(extensionHostKind, tryEnableInspector) {
874
- const result = await Promise.all(( this._getExtensionHostManagers(extensionHostKind).map(extHost => extHost.getInspectPort(tryEnableInspector))));
878
+ const result = await Promise.all(( this._getExtensionHostManagers(extensionHostKind).map(async (extHost) => {
879
+ let portInfo = await extHost.getInspectPort(tryEnableInspector);
880
+ if (portInfo !== undefined) {
881
+ portInfo = { ...portInfo, devtoolsLabel: extHost.friendyName };
882
+ }
883
+ return portInfo;
884
+ })));
875
885
  return result.filter(isDefined);
876
886
  }
877
887
  async setRemoteEnvironment(env) {
@@ -1240,7 +1250,7 @@ class ActivationFeatureMarkdowneRenderer extends Disposable {
1240
1250
  }
1241
1251
  ( Registry.as(Extensions.ExtensionFeaturesRegistry)).registerExtensionFeature({
1242
1252
  id: 'activationEvents',
1243
- label: ( localize(12875, "Activation Events")),
1253
+ label: ( localize(13125, "Activation Events")),
1244
1254
  access: {
1245
1255
  canToggle: false
1246
1256
  },
@@ -11,7 +11,7 @@ import { IExtensionHostManager } from "./extensionHostManagers.js";
11
11
  import { IExtensionDescriptionDelta } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensionHostProtocol";
12
12
  import { IResolveAuthorityResult } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensionHostProxy";
13
13
  import { ExtensionRunningLocation } from "@codingame/monaco-vscode-571c8352-7953-5038-9f09-e03bb6219a0e-common/vscode/vs/workbench/services/extensions/common/extensionRunningLocation";
14
- import { ActivationKind, ExtensionActivationReason, ExtensionHostStartup, IExtensionHost, IInternalExtensionService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions";
14
+ import { ActivationKind, ExtensionActivationReason, ExtensionHostStartup, IExtensionHost, IExtensionInspectInfo, IInternalExtensionService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions";
15
15
  import { ResponsiveState } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/rpcProtocol";
16
16
  export declare class ExtensionHostManager extends Disposable implements IExtensionHostManager {
17
17
  private readonly _internalExtensionService;
@@ -50,10 +50,7 @@ export declare class ExtensionHostManager extends Disposable implements IExtensi
50
50
  activateByEvent(activationEvent: string, activationKind: ActivationKind): Promise<void>;
51
51
  activationEventIsDone(activationEvent: string): boolean;
52
52
  private _activateByEvent;
53
- getInspectPort(tryEnableInspector: boolean): Promise<{
54
- port: number;
55
- host: string;
56
- } | undefined>;
53
+ getInspectPort(tryEnableInspector: boolean): Promise<IExtensionInspectInfo | undefined>;
57
54
  resolveAuthority(remoteAuthority: string, resolveAttempt: number): Promise<IResolveAuthorityResult>;
58
55
  getCanonicalURI(remoteAuthority: string, uri: URI): Promise<URI | null>;
59
56
  start(extensionRegistryVersionId: number, allExtensions: IExtensionDescription[], myExtensions: ExtensionIdentifier[]): Promise<void>;
@@ -479,7 +479,7 @@ registerAction2(class MeasureExtHostLatencyAction extends Action2 {
479
479
  constructor() {
480
480
  super({
481
481
  id: 'editor.action.measureExtHostLatency',
482
- title: ( localize2(12876, "Measure Extension Host Latency")),
482
+ title: ( localize2(13126, "Measure Extension Host Latency")),
483
483
  category: Categories.Developer,
484
484
  f1: true
485
485
  });
@@ -5,7 +5,7 @@ import { ExtensionHostKind } from "@codingame/monaco-vscode-api/vscode/vs/workbe
5
5
  import { IExtensionDescriptionDelta } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensionHostProtocol";
6
6
  import { IResolveAuthorityResult } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensionHostProxy";
7
7
  import { ExtensionRunningLocation } from "@codingame/monaco-vscode-571c8352-7953-5038-9f09-e03bb6219a0e-common/vscode/vs/workbench/services/extensions/common/extensionRunningLocation";
8
- import { ActivationKind, ExtensionActivationReason, ExtensionHostStartup } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions";
8
+ import { ActivationKind, ExtensionActivationReason, ExtensionHostStartup, IExtensionInspectInfo } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions";
9
9
  import { ResponsiveState } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/rpcProtocol";
10
10
  export interface IExtensionHostManager {
11
11
  readonly pid: number | null;
@@ -26,10 +26,7 @@ export interface IExtensionHostManager {
26
26
  activate(extension: ExtensionIdentifier, reason: ExtensionActivationReason): Promise<boolean>;
27
27
  activateByEvent(activationEvent: string, activationKind: ActivationKind): Promise<void>;
28
28
  activationEventIsDone(activationEvent: string): boolean;
29
- getInspectPort(tryEnableInspector: boolean): Promise<{
30
- port: number;
31
- host: string;
32
- } | undefined>;
29
+ getInspectPort(tryEnableInspector: boolean): Promise<IExtensionInspectInfo | undefined>;
33
30
  resolveAuthority(remoteAuthority: string, resolveAttempt: number): Promise<IResolveAuthorityResult>;
34
31
  getCanonicalURI(remoteAuthority: string, uri: URI): Promise<URI | null>;
35
32
  start(extensionRegistryVersionId: number, allExtensions: readonly IExtensionDescription[], myExtensions: ExtensionIdentifier[]): Promise<void>;
@@ -106,7 +106,7 @@ class ApiProposalsMarkdowneRenderer extends Disposable {
106
106
  }
107
107
  ( Registry.as(Extensions.ExtensionFeaturesRegistry)).registerExtensionFeature({
108
108
  id: 'enabledApiProposals',
109
- label: ( localize(12877, "API Proposals")),
109
+ label: ( localize(13127, "API Proposals")),
110
110
  access: {
111
111
  canToggle: false
112
112
  },
@@ -9,7 +9,7 @@ function dedupExtensions(system, user, workspace, development, logService) {
9
9
  const extension = result.get(systemExtension.identifier);
10
10
  if (extension) {
11
11
  logService.warn(( localize(
12
- 12962,
12
+ 13214,
13
13
  "Overwriting extension {0} with {1}.",
14
14
  extension.extensionLocation.fsPath,
15
15
  systemExtension.extensionLocation.fsPath
@@ -29,7 +29,7 @@ function dedupExtensions(system, user, workspace, development, logService) {
29
29
  }
30
30
  else {
31
31
  logService.warn(( localize(
32
- 12962,
32
+ 13214,
33
33
  "Overwriting extension {0} with {1}.",
34
34
  extension.extensionLocation.fsPath,
35
35
  userExtension.extensionLocation.fsPath
@@ -46,7 +46,7 @@ function dedupExtensions(system, user, workspace, development, logService) {
46
46
  const extension = result.get(workspaceExtension.identifier);
47
47
  if (extension) {
48
48
  logService.warn(( localize(
49
- 12963,
49
+ 13215,
50
50
  "Overwriting {0} with Workspace Extension {1}.",
51
51
  extension.extensionLocation.fsPath,
52
52
  workspaceExtension.extensionLocation.fsPath
@@ -56,7 +56,7 @@ function dedupExtensions(system, user, workspace, development, logService) {
56
56
  });
57
57
  development.forEach(developedExtension => {
58
58
  logService.info(( localize(
59
- 12964,
59
+ 13216,
60
60
  "Loading development extension at {0}",
61
61
  developedExtension.extensionLocation.fsPath
62
62
  )));