@codingame/monaco-vscode-extensions-service-override 7.1.0 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/package.json +3 -3
  2. package/vscode/src/vs/platform/extensionManagement/common/extensionManagementCLI.js +44 -77
  3. package/vscode/src/vs/workbench/api/browser/mainThreadAuthentication.js +19 -33
  4. package/vscode/src/vs/workbench/api/browser/mainThreadCLICommands.js +3 -5
  5. package/vscode/src/vs/workbench/api/browser/mainThreadComments.js +17 -5
  6. package/vscode/src/vs/workbench/api/browser/mainThreadCustomEditors.js +3 -4
  7. package/vscode/src/vs/workbench/api/browser/mainThreadEditSessionIdentityParticipant.js +2 -7
  8. package/vscode/src/vs/workbench/api/browser/mainThreadEditorTabs.js +3 -3
  9. package/vscode/src/vs/workbench/api/browser/mainThreadExtensionService.js +19 -27
  10. package/vscode/src/vs/workbench/api/browser/mainThreadFileSystemEventService.js +29 -38
  11. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageFeatures.js +4 -3
  12. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModels.js +2 -3
  13. package/vscode/src/vs/workbench/api/browser/mainThreadMessageService.js +5 -6
  14. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookSaveParticipant.js +2 -3
  15. package/vscode/src/vs/workbench/api/browser/mainThreadProgress.js +2 -3
  16. package/vscode/src/vs/workbench/api/browser/mainThreadSCM.js +21 -36
  17. package/vscode/src/vs/workbench/api/browser/mainThreadSaveParticipant.js +2 -3
  18. package/vscode/src/vs/workbench/api/browser/mainThreadTask.js +2 -3
  19. package/vscode/src/vs/workbench/api/browser/mainThreadTesting.js +19 -13
  20. package/vscode/src/vs/workbench/api/browser/mainThreadTunnelService.js +4 -6
  21. package/vscode/src/vs/workbench/api/browser/mainThreadUriOpeners.js +4 -6
  22. package/vscode/src/vs/workbench/api/browser/mainThreadWebviews.js +2 -8
  23. package/vscode/src/vs/workbench/api/browser/mainThreadWorkspace.js +14 -26
  24. package/vscode/src/vs/workbench/services/extensionManagement/browser/extensionBisect.js +29 -36
  25. package/vscode/src/vs/workbench/services/extensions/browser/webWorkerExtensionHost.js +16 -0
  26. package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.js +27 -32
  27. package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.js +2 -3
  28. package/vscode/src/vs/workbench/services/extensions/common/extensionsProposedApi.js +4 -5
  29. package/vscode/src/vs/workbench/services/extensions/common/extensionsUtil.js +9 -14
@@ -1,5 +1,5 @@
1
1
  import { __decorate, __param } from 'vscode/external/tslib/tslib.es6.js';
2
- import { localizeWithPath } from 'vscode/vscode/vs/nls';
2
+ import { localize } from 'vscode/vscode/vs/nls';
3
3
  import { URI } from 'vscode/vscode/vs/base/common/uri';
4
4
  import { generateUuid } from 'vscode/vscode/vs/base/common/uuid';
5
5
  import { isString } from 'vscode/vscode/vs/base/common/types';
@@ -13,7 +13,6 @@ import { ExtHostContext, MainContext } from 'vscode/vscode/vs/workbench/api/comm
13
13
  import { IConfigurationResolverService } from 'vscode/vscode/vs/workbench/services/configurationResolver/common/configurationResolver.service';
14
14
  import { ErrorNoTelemetry } from 'vscode/vscode/vs/base/common/errors';
15
15
 
16
- const _moduleId = "vs/workbench/api/browser/mainThreadTask";
17
16
  var TaskExecutionDTO;
18
17
  ( ((function(TaskExecutionDTO) {
19
18
  function from(value) {
@@ -378,7 +377,7 @@ var TaskDTO;
378
377
  }
379
378
  command.presentation = TaskPresentationOptionsDTO.to(task.presentationOptions);
380
379
  const source = TaskSourceDTO.to(task.source, workspace);
381
- const label = ( localizeWithPath(_moduleId, 0, '{0}: {1}', source.label, task.name));
380
+ const label = ( localize(5202, '{0}: {1}', source.label, task.name));
382
381
  const definition = TaskDefinitionDTO.to(task.definition, executeOnly);
383
382
  const id = (CustomExecutionDTO.is(task.execution) && task._id) ? task._id : `${task.source.extensionId}.${definition._key}`;
384
383
  const result = ( (new
@@ -1,7 +1,7 @@
1
1
  import { __decorate, __param } from 'vscode/external/tslib/tslib.es6.js';
2
2
  import { Event } from 'vscode/vscode/vs/base/common/event';
3
3
  import { Disposable, MutableDisposable, DisposableStore, toDisposable } from 'vscode/vscode/vs/base/common/lifecycle';
4
- import { transaction } from 'vscode/vscode/vs/base/common/observableInternal/base';
4
+ import { transaction, observableValue } from 'vscode/vscode/vs/base/common/observableInternal/base';
5
5
  import 'vscode/vscode/vs/base/common/observableInternal/derived';
6
6
  import 'vscode/vscode/vs/base/common/observableInternal/autorun';
7
7
  import 'vscode/vscode/vs/base/common/observableInternal/utils';
@@ -11,7 +11,6 @@ import { WellDefinedPrefixTree } from 'vscode/vscode/vs/base/common/prefixTree';
11
11
  import { URI } from 'vscode/vscode/vs/base/common/uri';
12
12
  import { Range } from 'vscode/vscode/vs/editor/common/core/range';
13
13
  import { IUriIdentityService } from 'vscode/vscode/vs/platform/uriIdentity/common/uriIdentity.service';
14
- import { MutableObservableValue } from 'vscode/vscode/vs/workbench/contrib/testing/common/observableValue';
15
14
  import { TestCoverage } from 'vscode/vscode/vs/workbench/contrib/testing/common/testCoverage';
16
15
  import { TestId } from 'vscode/vscode/vs/workbench/contrib/testing/common/testId';
17
16
  import { ITestProfileService } from 'vscode/vscode/vs/workbench/contrib/testing/common/testProfileService.service';
@@ -36,6 +35,7 @@ let MainThreadTesting = class MainThreadTesting extends Disposable {
36
35
  provideTestFollowups: (req, token) => this.proxy.$provideTestFollowups(req, token),
37
36
  executeTestFollowup: id => this.proxy.$executeTestFollowup(id),
38
37
  disposeTestFollowups: ids => this.proxy.$disposeTestFollowups(ids),
38
+ getTestsRelatedToCode: (uri, position, token) => this.proxy.$getTestsRelatedToCode(uri, position, token),
39
39
  }));
40
40
  this._register(this.testService.onDidCancelTestRun(({ runId }) => {
41
41
  this.proxy.$cancelExtensionTestRun(runId);
@@ -148,27 +148,31 @@ let MainThreadTesting = class MainThreadTesting extends Disposable {
148
148
  }
149
149
  }
150
150
  }
151
- $registerTestController(controllerId, labelStr, canRefreshValue) {
151
+ $registerTestController(controllerId, _label, _capabilities) {
152
152
  const disposable = ( new DisposableStore());
153
- const label = disposable.add(( new MutableObservableValue(labelStr)));
154
- const canRefresh = disposable.add(( new MutableObservableValue(canRefreshValue)));
153
+ const label = observableValue(`${controllerId}.label`, _label);
154
+ const capabilities = observableValue(`${controllerId}.cap`, _capabilities);
155
155
  const controller = {
156
156
  id: controllerId,
157
157
  label,
158
- canRefresh,
158
+ capabilities,
159
159
  syncTests: () => this.proxy.$syncTests(),
160
160
  refreshTests: token => this.proxy.$refreshTests(controllerId, token),
161
161
  configureRunProfile: id => this.proxy.$configureRunProfile(controllerId, id),
162
162
  runTests: (reqs, token) => this.proxy.$runControllerTests(reqs, token),
163
163
  startContinuousRun: (reqs, token) => this.proxy.$startContinuousRun(reqs, token),
164
164
  expandTest: (testId, levels) => this.proxy.$expandTest(testId, isFinite(levels) ? levels : -1),
165
+ getRelatedCode: (testId, token) => this.proxy.$getCodeRelatedToTest(testId, token).then(locations => ( locations.map(l => ({
166
+ uri: URI.revive(l.uri),
167
+ range: Range.lift(l.range)
168
+ })))),
165
169
  };
166
170
  disposable.add(toDisposable(() => this.testProfiles.removeProfile(controllerId)));
167
171
  disposable.add(this.testService.registerTestController(controllerId, controller));
168
172
  this.testProviderRegistrations.set(controllerId, {
169
173
  instance: controller,
170
174
  label,
171
- canRefresh,
175
+ capabilities,
172
176
  disposable
173
177
  });
174
178
  }
@@ -177,12 +181,14 @@ let MainThreadTesting = class MainThreadTesting extends Disposable {
177
181
  if (!controller) {
178
182
  return;
179
183
  }
180
- if (patch.label !== undefined) {
181
- controller.label.value = patch.label;
182
- }
183
- if (patch.canRefresh !== undefined) {
184
- controller.canRefresh.value = patch.canRefresh;
185
- }
184
+ transaction(tx => {
185
+ if (patch.label !== undefined) {
186
+ controller.label.set(patch.label, tx);
187
+ }
188
+ if (patch.capabilities !== undefined) {
189
+ controller.capabilities.set(patch.capabilities, tx);
190
+ }
191
+ });
186
192
  }
187
193
  $unregisterTestController(controllerId) {
188
194
  this.testProviderRegistrations.get(controllerId)?.disposable.dispose();
@@ -1,5 +1,5 @@
1
1
  import { __decorate, __param } from 'vscode/external/tslib/tslib.es6.js';
2
- import { localizeWithPath } from 'vscode/vscode/vs/nls';
2
+ import { localize } from 'vscode/vscode/vs/nls';
3
3
  import { ExtHostContext, CandidatePortSource, MainContext } from 'vscode/vscode/vs/workbench/api/common/extHost.protocol';
4
4
  import { TunnelDtoConverter } from 'vscode/vscode/vs/workbench/api/common/extHostTunnelService';
5
5
  import { extHostNamedCustomer } from '../../services/extensions/common/extHostCustomers.js';
@@ -19,7 +19,6 @@ import { IContextKeyService } from 'vscode/vscode/vs/platform/contextkey/common/
19
19
  import { TunnelSource, TunnelCloseReason, makeAddress, forwardedPortsViewEnabled } from 'vscode/vscode/vs/workbench/services/remote/common/tunnelModel';
20
20
  import Severity$1 from 'vscode/vscode/vs/base/common/severity';
21
21
 
22
- const _moduleId = "vs/workbench/api/browser/mainThreadTunnelService";
23
22
  let MainThreadTunnelService = class MainThreadTunnelService extends Disposable {
24
23
  constructor(extHostContext, remoteExplorerService, tunnelService, notificationService, configurationService, logService, remoteAgentService, contextKeyService) {
25
24
  super();
@@ -109,15 +108,14 @@ let MainThreadTunnelService = class MainThreadTunnelService extends Disposable {
109
108
  return TunnelDtoConverter.fromServiceTunnel(tunnel);
110
109
  }
111
110
  async elevationPrompt(tunnelOptions, tunnel, source) {
112
- return this.notificationService.prompt(Severity$1.Info, ( localizeWithPath(
113
- _moduleId,
114
- 0,
111
+ return this.notificationService.prompt(Severity$1.Info, ( localize(
112
+ 5203,
115
113
  "The extension {0} has forwarded port {1}. You'll need to run as superuser to use port {2} locally.",
116
114
  source,
117
115
  tunnelOptions.remoteAddress.port,
118
116
  tunnelOptions.localAddressPort
119
117
  )), [{
120
- label: ( localizeWithPath(_moduleId, 1, "Use Port {0} as Sudo...", tunnel.tunnelRemotePort)),
118
+ label: ( localize(5204, "Use Port {0} as Sudo...", tunnel.tunnelRemotePort)),
121
119
  run: async () => {
122
120
  this.elevateionRetry = true;
123
121
  await this.remoteExplorerService.close({ host: tunnel.tunnelRemoteHost, port: tunnel.tunnelRemotePort }, TunnelCloseReason.Other);
@@ -3,7 +3,7 @@ import { Action } from 'vscode/vscode/vs/base/common/actions';
3
3
  import { isCancellationError } from 'vscode/vscode/vs/base/common/errors';
4
4
  import { Disposable } from 'vscode/vscode/vs/base/common/lifecycle';
5
5
  import { Schemas } from 'vscode/vscode/vs/base/common/network';
6
- import { localizeWithPath } from 'vscode/vscode/vs/nls';
6
+ import { localize } from 'vscode/vscode/vs/nls';
7
7
  import 'vscode/vscode/vs/platform/notification/common/notification';
8
8
  import { INotificationService } from 'vscode/vscode/vs/platform/notification/common/notification.service';
9
9
  import { IOpenerService } from 'vscode/vscode/vs/platform/opener/common/opener.service';
@@ -16,7 +16,6 @@ import { IExtensionService } from 'vscode/vscode/vs/workbench/services/extension
16
16
  import { extHostNamedCustomer } from '../../services/extensions/common/extHostCustomers.js';
17
17
  import Severity$1 from 'vscode/vscode/vs/base/common/severity';
18
18
 
19
- const _moduleId = "vs/workbench/api/browser/mainThreadUriOpeners";
20
19
  let MainThreadUriOpeners = class MainThreadUriOpeners extends Disposable {
21
20
  constructor(context, storageService, externalUriOpenerService, extensionService, openerService, notificationService) {
22
21
  super();
@@ -52,7 +51,7 @@ let MainThreadUriOpeners = class MainThreadUriOpeners extends Disposable {
52
51
  }
53
52
  catch (e) {
54
53
  if (!isCancellationError(e)) {
55
- const openDefaultAction = ( (new Action('default', ( localizeWithPath(_moduleId, 0, "Open using default opener")), undefined, undefined, async () => {
54
+ const openDefaultAction = ( (new Action('default', ( localize(5193, "Open using default opener")), undefined, undefined, async () => {
56
55
  await this.openerService.open(uri, {
57
56
  allowTunneling: false,
58
57
  allowContributedOpeners: defaultExternalUriOpenerId,
@@ -61,9 +60,8 @@ let MainThreadUriOpeners = class MainThreadUriOpeners extends Disposable {
61
60
  openDefaultAction.tooltip = ( (uri.toString()));
62
61
  this.notificationService.notify({
63
62
  severity: Severity$1.Error,
64
- message: ( localizeWithPath(
65
- _moduleId,
66
- 1,
63
+ message: ( localize(
64
+ 5194,
67
65
  'Could not open uri with \'{0}\': {1}',
68
66
  id,
69
67
  (e.toString())
@@ -4,7 +4,7 @@ import { Schemas } from 'vscode/vscode/vs/base/common/network';
4
4
  import { isWeb } from 'vscode/vscode/vs/base/common/platform';
5
5
  import { escape } from 'vscode/vscode/vs/base/common/strings';
6
6
  import { URI } from 'vscode/vscode/vs/base/common/uri';
7
- import { localizeWithPath } from 'vscode/vscode/vs/nls';
7
+ import { localize } from 'vscode/vscode/vs/nls';
8
8
  import { IOpenerService } from 'vscode/vscode/vs/platform/opener/common/opener.service';
9
9
  import { IProductService } from 'vscode/vscode/vs/platform/product/common/productService.service';
10
10
  import { ExtHostContext } from 'vscode/vscode/vs/workbench/api/common/extHost.protocol';
@@ -12,7 +12,6 @@ import { deserializeWebviewMessage, serializeWebviewMessage } from 'vscode/vscod
12
12
  import { SerializableObjectWithBuffers } from 'vscode/vscode/vs/workbench/services/extensions/common/proxyIdentifier';
13
13
 
14
14
  var MainThreadWebviews_1;
15
- const _moduleId = "vs/workbench/api/browser/mainThreadWebviews";
16
15
  let MainThreadWebviews = class MainThreadWebviews extends Disposable {
17
16
  static { MainThreadWebviews_1 = this; }
18
17
  static { this.standardSupportedLinkSchemes = ( (new Set([
@@ -104,12 +103,7 @@ let MainThreadWebviews = class MainThreadWebviews extends Disposable {
104
103
  <meta http-equiv="Content-type" content="text/html;charset=UTF-8">
105
104
  <meta http-equiv="Content-Security-Policy" content="default-src 'none';">
106
105
  </head>
107
- <body>${( localizeWithPath(
108
- _moduleId,
109
- 0,
110
- "An error occurred while loading view: {0}",
111
- escape(viewType)
112
- ))}</body>
106
+ <body>${( localize(9922, "An error occurred while loading view: {0}", escape(viewType)))}</body>
113
107
  </html>`;
114
108
  }
115
109
  };
@@ -3,7 +3,7 @@ import { isCancellationError } from 'vscode/vscode/vs/base/common/errors';
3
3
  import { DisposableStore } from 'vscode/vscode/vs/base/common/lifecycle';
4
4
  import { isNative } from 'vscode/vscode/vs/base/common/platform';
5
5
  import { URI } from 'vscode/vscode/vs/base/common/uri';
6
- import { localizeWithPath } from 'vscode/vscode/vs/nls';
6
+ import { localize } from 'vscode/vscode/vs/nls';
7
7
  import { IEnvironmentService } from 'vscode/vscode/vs/platform/environment/common/environment.service';
8
8
  import { IFileService } from 'vscode/vscode/vs/platform/files/common/files.service';
9
9
  import { IInstantiationService } from 'vscode/vscode/vs/platform/instantiation/common/instantiation';
@@ -25,7 +25,6 @@ import { SideBySideEditor, SaveReason, EditorResourceAccessor } from 'vscode/vsc
25
25
  import { firstOrDefault, coalesce } from 'vscode/vscode/vs/base/common/arrays';
26
26
  import { ICanonicalUriService } from 'vscode/vscode/vs/platform/workspace/common/canonicalUri.service';
27
27
 
28
- const _moduleId = "vs/workbench/api/browser/mainThreadWorkspace";
29
28
  let MainThreadWorkspace = class MainThreadWorkspace {
30
29
  constructor(extHostContext, _searchService, _contextService, _editSessionIdentityService, _canonicalUriService, _editorService, _workspaceEditingService, _notificationService, _requestService, _instantiationService, _labelService, _environmentService, fileService, _workspaceTrustManagementService, _workspaceTrustRequestService) {
31
30
  this._searchService = _searchService;
@@ -76,17 +75,11 @@ let MainThreadWorkspace = class MainThreadWorkspace {
76
75
  const wantsToDelete = removeCount > 0;
77
76
  if (wantsToAdd && !wantsToDelete) {
78
77
  if (addCount === 1) {
79
- message = ( localizeWithPath(
80
- _moduleId,
81
- 0,
82
- "Extension '{0}' added 1 folder to the workspace",
83
- extensionName
84
- ));
78
+ message = ( localize(5195, "Extension '{0}' added 1 folder to the workspace", extensionName));
85
79
  }
86
80
  else {
87
- message = ( localizeWithPath(
88
- _moduleId,
89
- 1,
81
+ message = ( localize(
82
+ 5196,
90
83
  "Extension '{0}' added {1} folders to the workspace",
91
84
  extensionName,
92
85
  addCount
@@ -95,17 +88,11 @@ let MainThreadWorkspace = class MainThreadWorkspace {
95
88
  }
96
89
  else if (wantsToDelete && !wantsToAdd) {
97
90
  if (removeCount === 1) {
98
- message = ( localizeWithPath(
99
- _moduleId,
100
- 2,
101
- "Extension '{0}' removed 1 folder from the workspace",
102
- extensionName
103
- ));
91
+ message = ( localize(5197, "Extension '{0}' removed 1 folder from the workspace", extensionName));
104
92
  }
105
93
  else {
106
- message = ( localizeWithPath(
107
- _moduleId,
108
- 3,
94
+ message = ( localize(
95
+ 5198,
109
96
  "Extension '{0}' removed {1} folders from the workspace",
110
97
  extensionName,
111
98
  removeCount
@@ -113,12 +100,7 @@ let MainThreadWorkspace = class MainThreadWorkspace {
113
100
  }
114
101
  }
115
102
  else {
116
- message = ( localizeWithPath(
117
- _moduleId,
118
- 4,
119
- "Extension '{0}' changed folders of the workspace",
120
- extensionName
121
- ));
103
+ message = ( localize(5199, "Extension '{0}' changed folders of the workspace", extensionName));
122
104
  }
123
105
  return message;
124
106
  }
@@ -201,6 +183,12 @@ let MainThreadWorkspace = class MainThreadWorkspace {
201
183
  $resolveProxy(url) {
202
184
  return this._requestService.resolveProxy(url);
203
185
  }
186
+ $lookupAuthorization(authInfo) {
187
+ return this._requestService.lookupAuthorization(authInfo);
188
+ }
189
+ $lookupKerberosAuthorization(url) {
190
+ return this._requestService.lookupKerberosAuthorization(url);
191
+ }
204
192
  $loadCertificates() {
205
193
  return this._requestService.loadCertificates();
206
194
  }
@@ -1,5 +1,5 @@
1
1
  import { __decorate, __param } from 'vscode/external/tslib/tslib.es6.js';
2
- import { localizeWithPath, localize2WithPath } from 'vscode/vscode/vs/nls';
2
+ import { localize, localize2 } from 'vscode/vscode/vs/nls';
3
3
  import { IExtensionManagementService, IGlobalExtensionEnablementService } from 'vscode/vscode/vs/platform/extensionManagement/common/extensionManagement.service';
4
4
  import { StorageScope, StorageTarget } from 'vscode/vscode/vs/platform/storage/common/storage';
5
5
  import { IStorageService } from 'vscode/vscode/vs/platform/storage/common/storage.service';
@@ -26,7 +26,6 @@ import { IExtensionBisectService } from 'vscode/vscode/vs/workbench/services/ext
26
26
  import Severity$1 from 'vscode/vscode/vs/base/common/severity';
27
27
 
28
28
  var ExtensionBisectService_1, ExtensionBisectUi_1;
29
- const _moduleId = "vs/workbench/services/extensionManagement/browser/extensionBisect";
30
29
  class BisectState {
31
30
  static fromJSON(raw) {
32
31
  if (!raw) {
@@ -142,11 +141,11 @@ let ExtensionBisectUi = class ExtensionBisectUi {
142
141
  }
143
142
  _showBisectPrompt() {
144
143
  const goodPrompt = {
145
- label: ( localizeWithPath(_moduleId, 0, "I can't reproduce")),
144
+ label: ( localize(1578, "I can't reproduce")),
146
145
  run: () => this._commandService.executeCommand('extension.bisect.next', false)
147
146
  };
148
147
  const badPrompt = {
149
- label: ( localizeWithPath(_moduleId, 1, "I can reproduce")),
148
+ label: ( localize(1579, "I can reproduce")),
150
149
  run: () => this._commandService.executeCommand('extension.bisect.next', true)
151
150
  };
152
151
  const stop = {
@@ -154,14 +153,12 @@ let ExtensionBisectUi = class ExtensionBisectUi {
154
153
  run: () => this._commandService.executeCommand('extension.bisect.stop')
155
154
  };
156
155
  const message = this._extensionBisectService.disabledCount === 1
157
- ? ( localizeWithPath(
158
- _moduleId,
159
- 2,
156
+ ? ( localize(
157
+ 1580,
160
158
  "Extension Bisect is active and has disabled 1 extension. Check if you can still reproduce the problem and proceed by selecting from these options."
161
159
  ))
162
- : ( localizeWithPath(
163
- _moduleId,
164
- 3,
160
+ : ( localize(
161
+ 1581,
165
162
  "Extension Bisect is active and has disabled {0} extensions. Check if you can still reproduce the problem and proceed by selecting from these options.",
166
163
  this._extensionBisectService.disabledCount
167
164
  ));
@@ -179,7 +176,7 @@ registerAction2(class extends Action2 {
179
176
  constructor() {
180
177
  super({
181
178
  id: 'extension.bisect.start',
182
- title: ( localize2WithPath(_moduleId, 4, 'Start Extension Bisect')),
179
+ title: ( localize2(1582, 'Start Extension Bisect')),
183
180
  category: Categories.Help,
184
181
  f1: true,
185
182
  precondition: ( (ExtensionBisectUi.ctxIsBisectActive.negate())),
@@ -199,14 +196,13 @@ registerAction2(class extends Action2 {
199
196
  const extensionsBisect = accessor.get(IExtensionBisectService);
200
197
  const extensions = (await extensionManagement.getInstalled(ExtensionType.User)).filter(ext => extensionEnablementService.isEnabled(ext));
201
198
  const res = await dialogService.confirm({
202
- message: ( localizeWithPath(_moduleId, 5, "Extension Bisect")),
203
- detail: ( localizeWithPath(
204
- _moduleId,
205
- 6,
199
+ message: ( localize(1583, "Extension Bisect")),
200
+ detail: ( localize(
201
+ 1584,
206
202
  "Extension Bisect will use binary search to find an extension that causes a problem. During the process the window reloads repeatedly (~{0} times). Each time you must confirm if you are still seeing problems.",
207
203
  2 + Math.log2(extensions.length) | 0
208
204
  )),
209
- primaryButton: ( localizeWithPath(_moduleId, 7, "&&Start Extension Bisect"))
205
+ primaryButton: ( localize(1585, "&&Start Extension Bisect"))
210
206
  });
211
207
  if (res.confirmed) {
212
208
  await extensionsBisect.start(extensions);
@@ -218,7 +214,7 @@ registerAction2(class extends Action2 {
218
214
  constructor() {
219
215
  super({
220
216
  id: 'extension.bisect.next',
221
- title: ( localize2WithPath(_moduleId, 8, 'Continue Extension Bisect')),
217
+ title: ( localize2(1586, 'Continue Extension Bisect')),
222
218
  category: Categories.Help,
223
219
  f1: true,
224
220
  precondition: ExtensionBisectUi.ctxIsBisectActive
@@ -252,9 +248,8 @@ registerAction2(class extends Action2 {
252
248
  return;
253
249
  }
254
250
  if (done.bad) {
255
- await dialogService.info(( localizeWithPath(_moduleId, 9, "Extension Bisect")), ( localizeWithPath(
256
- _moduleId,
257
- 10,
251
+ await dialogService.info(( localize(1587, "Extension Bisect")), ( localize(
252
+ 1588,
258
253
  "Extension Bisect is done but no extension has been identified. This might be a problem with {0}.",
259
254
  productService.nameShort
260
255
  )));
@@ -262,16 +257,15 @@ registerAction2(class extends Action2 {
262
257
  else {
263
258
  const res = await dialogService.confirm({
264
259
  type: Severity$1.Info,
265
- message: ( localizeWithPath(_moduleId, 9, "Extension Bisect")),
266
- primaryButton: ( localizeWithPath(_moduleId, 11, "&&Report Issue & Continue")),
267
- cancelButton: ( localizeWithPath(_moduleId, 12, "Continue")),
268
- detail: ( localizeWithPath(
269
- _moduleId,
270
- 13,
260
+ message: ( localize(1588, "Extension Bisect")),
261
+ primaryButton: ( localize(1589, "&&Report Issue & Continue")),
262
+ cancelButton: ( localize(1590, "Continue")),
263
+ detail: ( localize(
264
+ 1591,
271
265
  "Extension Bisect is done and has identified {0} as the extension causing the problem.",
272
266
  done.id
273
267
  )),
274
- checkbox: { label: ( localizeWithPath(_moduleId, 14, "Keep this extension disabled")), checked: true }
268
+ checkbox: { label: ( localize(1592, "Keep this extension disabled")), checked: true }
275
269
  });
276
270
  if (res.checkboxChecked) {
277
271
  await extensionEnablementService.disableExtension({ id: done.id }, undefined);
@@ -286,29 +280,28 @@ registerAction2(class extends Action2 {
286
280
  async _checkForBad(dialogService, bisectService) {
287
281
  const { result } = await dialogService.prompt({
288
282
  type: Severity$1.Info,
289
- message: ( localizeWithPath(_moduleId, 15, "Extension Bisect")),
290
- detail: ( localizeWithPath(
291
- _moduleId,
292
- 16,
283
+ message: ( localize(1593, "Extension Bisect")),
284
+ detail: ( localize(
285
+ 1594,
293
286
  "Extension Bisect is active and has disabled {0} extensions. Check if you can still reproduce the problem and proceed by selecting from these options.",
294
287
  bisectService.disabledCount
295
288
  )),
296
289
  buttons: [
297
290
  {
298
- label: ( localizeWithPath(_moduleId, 17, "I ca&&n't reproduce")),
291
+ label: ( localize(1595, "I ca&&n't reproduce")),
299
292
  run: () => false
300
293
  },
301
294
  {
302
- label: ( localizeWithPath(_moduleId, 18, "I can &&reproduce")),
295
+ label: ( localize(1596, "I can &&reproduce")),
303
296
  run: () => true
304
297
  },
305
298
  {
306
- label: ( localizeWithPath(_moduleId, 19, "&&Stop Bisect")),
299
+ label: ( localize(1597, "&&Stop Bisect")),
307
300
  run: () => undefined
308
301
  }
309
302
  ],
310
303
  cancelButton: {
311
- label: ( localizeWithPath(_moduleId, 20, "&&Cancel Bisect")),
304
+ label: ( localize(1598, "&&Cancel Bisect")),
312
305
  run: () => null
313
306
  }
314
307
  });
@@ -319,7 +312,7 @@ registerAction2(class extends Action2 {
319
312
  constructor() {
320
313
  super({
321
314
  id: 'extension.bisect.stop',
322
- title: ( localize2WithPath(_moduleId, 21, 'Stop Extension Bisect')),
315
+ title: ( localize2(1599, 'Stop Extension Bisect')),
323
316
  category: Categories.Help,
324
317
  f1: true,
325
318
  precondition: ExtensionBisectUi.ctxIsBisectActive
@@ -140,6 +140,22 @@ let WebWorkerExtensionHost = class WebWorkerExtensionHost extends Disposable {
140
140
  err.stack = stack;
141
141
  return rejectBarrier(ExtensionHostExitCode.UnexpectedError, err);
142
142
  }
143
+ if (event.data.type === 'vscode.bootstrap.nls') {
144
+ const factoryModuleId = 'vs/base/worker/workerMain.js';
145
+ const baseUrl = require.toUrl(factoryModuleId).slice(0, -factoryModuleId.length);
146
+ iframe.contentWindow.postMessage({
147
+ type: event.data.type,
148
+ data: {
149
+ baseUrl,
150
+ workerUrl: require.toUrl(factoryModuleId),
151
+ nls: {
152
+ messages: globalThis._VSCODE_NLS_MESSAGES,
153
+ language: globalThis._VSCODE_NLS_LANGUAGE
154
+ }
155
+ }
156
+ }, '*');
157
+ return;
158
+ }
143
159
  const { data } = event.data;
144
160
  if (barrier.isOpen() || !(data instanceof MessagePort)) {
145
161
  console.warn('UNEXPECTED message', event);
@@ -10,7 +10,7 @@ import { isCI } from 'vscode/vscode/vs/base/common/platform';
10
10
  import { isEqualOrParent } from 'vscode/vscode/vs/base/common/resources';
11
11
  import { StopWatch } from 'vscode/vscode/vs/base/common/stopwatch';
12
12
  import { isDefined } from 'vscode/vscode/vs/base/common/types';
13
- import { localizeWithPath } from 'vscode/vscode/vs/nls';
13
+ import { localize } from 'vscode/vscode/vs/nls';
14
14
  import { IConfigurationService } from 'vscode/vscode/vs/platform/configuration/common/configuration.service';
15
15
  import { IDialogService } from 'vscode/vscode/vs/platform/dialogs/common/dialogs.service';
16
16
  import { InstallOperation } from 'vscode/vscode/vs/platform/extensionManagement/common/extensionManagement';
@@ -45,12 +45,12 @@ import { ExtensionsRegistry, ExtensionMessageCollector } from 'vscode/vscode/vs/
45
45
  import { LazyCreateExtensionHostManager } from './lazyCreateExtensionHostManager.js';
46
46
  import { ResponsiveState } from 'vscode/vscode/vs/workbench/services/extensions/common/rpcProtocol';
47
47
  import { checkGlobFileExists, checkActivateWorkspaceContainsExtension } from 'vscode/vscode/vs/workbench/services/extensions/common/workspaceContains';
48
+ import { WillShutdownJoinerOrder } from 'vscode/vscode/vs/workbench/services/lifecycle/common/lifecycle';
48
49
  import { ILifecycleService } from 'vscode/vscode/vs/workbench/services/lifecycle/common/lifecycle.service';
49
50
  import { IRemoteAgentService } from 'vscode/vscode/vs/workbench/services/remote/common/remoteAgentService.service';
50
51
  import Severity$1 from 'vscode/vscode/vs/base/common/severity';
51
52
 
52
53
  var AbstractExtensionService_1;
53
- const _moduleId = "vs/workbench/services/extensions/common/abstractExtensionService";
54
54
  const hasOwnProperty = Object.hasOwnProperty;
55
55
  const NO_OP_VOID_PROMISE = Promise.resolve(undefined);
56
56
  let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtensionService extends Disposable {
@@ -165,6 +165,15 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
165
165
  this._handleDeltaExtensions(( (new DeltaExtensionsQueueItem([], [event.identifier.id]))));
166
166
  }
167
167
  }));
168
+ this._register(this._lifecycleService.onWillShutdown(event => {
169
+ if (this._remoteAgentService.getConnection()) {
170
+ event.join(() => this._remoteAgentService.endConnection(), {
171
+ id: 'join.disconnectRemote',
172
+ label: ( localize(1566, "Disconnect Remote Agent")),
173
+ order: WillShutdownJoinerOrder.Last
174
+ });
175
+ }
176
+ }));
168
177
  this._register(this._lifecycleService.onDidShutdown(() => {
169
178
  const connection = this._remoteAgentService.getConnection();
170
179
  connection?.dispose();
@@ -236,9 +245,8 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
236
245
  if (result.removedDueToLooping.length > 0) {
237
246
  this._notificationService.notify({
238
247
  severity: Severity$1.Error,
239
- message: ( localizeWithPath(
240
- _moduleId,
241
- 0,
248
+ message: ( localize(
249
+ 1567,
242
250
  "The following extensions contain dependency loops and have been disabled: {0}",
243
251
  ( (result.removedDueToLooping.map(e => `'${e.identifier.value}'`))).join(', ')
244
252
  ))
@@ -391,9 +399,8 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
391
399
  if (result.removedDueToLooping.length > 0) {
392
400
  this._notificationService.notify({
393
401
  severity: Severity$1.Error,
394
- message: ( localizeWithPath(
395
- _moduleId,
396
- 0,
402
+ message: ( localize(
403
+ 1567,
397
404
  "The following extensions contain dependency loops and have been disabled: {0}",
398
405
  ( (result.removedDueToLooping.map(e => `'${e.identifier.value}'`))).join(', ')
399
406
  ))
@@ -407,9 +414,8 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
407
414
  }
408
415
  const extensionHostManager = this.findTestExtensionHost(this._environmentService.extensionTestsLocationURI);
409
416
  if (!extensionHostManager) {
410
- const msg = ( localizeWithPath(
411
- _moduleId,
412
- 1,
417
+ const msg = ( localize(
418
+ 1568,
413
419
  "No extension host found that can launch the test runner at {0}.",
414
420
  (this._environmentService.extensionTestsLocationURI.toString())
415
421
  ));
@@ -575,7 +581,7 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
575
581
  vetoReasons.add(reason);
576
582
  }
577
583
  }).catch(error => {
578
- vetoReasons.add(( localizeWithPath(_moduleId, 2, "{0} (Error: {1})", reason, toErrorMessage(error))));
584
+ vetoReasons.add(( localize(1569, "{0} (Error: {1})", reason, toErrorMessage(error))));
579
585
  });
580
586
  }
581
587
  }
@@ -588,16 +594,10 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
588
594
  if (!auto) {
589
595
  const vetoReasonsArray = Array.from(vetoReasons);
590
596
  this._logService.warn(`Extension host was not stopped because of veto (stop reason: ${reason}, veto reason: ${vetoReasonsArray.join(', ')})`);
591
- await this._dialogService.warn(( localizeWithPath(_moduleId, 3, "The following operation was blocked: {0}", reason)), vetoReasonsArray.length === 1 ?
592
- ( localizeWithPath(
593
- _moduleId,
594
- 4,
595
- "The reason for blocking the operation: {0}",
596
- vetoReasonsArray[0]
597
- )) :
598
- ( localizeWithPath(
599
- _moduleId,
600
- 5,
597
+ await this._dialogService.warn(( localize(1570, "The following operation was blocked: {0}", reason)), vetoReasonsArray.length === 1 ?
598
+ ( localize(1571, "The reason for blocking the operation: {0}", vetoReasonsArray[0])) :
599
+ ( localize(
600
+ 1572,
601
601
  "The reasons for blocking the operation:\n- {0}",
602
602
  vetoReasonsArray.join('\n -')
603
603
  )));
@@ -695,20 +695,15 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
695
695
  this._remoteCrashTracker.registerCrash();
696
696
  if (this._remoteCrashTracker.shouldAutomaticallyRestart()) {
697
697
  this._logService.info(`Automatically restarting the remote extension host.`);
698
- this._notificationService.status(( localizeWithPath(
699
- _moduleId,
700
- 6,
701
- "The remote extension host terminated unexpectedly. Restarting..."
702
- )), { hideAfter: 5000 });
698
+ this._notificationService.status(( localize(1573, "The remote extension host terminated unexpectedly. Restarting...")), { hideAfter: 5000 });
703
699
  this._startExtensionHostsIfNecessary(false, Array.from(( (this._allRequestedActivateEvents.keys()))));
704
700
  }
705
701
  else {
706
- this._notificationService.prompt(Severity$1.Error, ( localizeWithPath(
707
- _moduleId,
708
- 7,
702
+ this._notificationService.prompt(Severity$1.Error, ( localize(
703
+ 1574,
709
704
  "Remote Extension host terminated unexpectedly 3 times within the last 5 minutes."
710
705
  )), [{
711
- label: ( localizeWithPath(_moduleId, 8, "Restart Remote Extension Host")),
706
+ label: ( localize(1575, "Restart Remote Extension Host")),
712
707
  run: () => {
713
708
  this._startExtensionHostsIfNecessary(false, Array.from(( (this._allRequestedActivateEvents.keys()))));
714
709
  }
@@ -1185,7 +1180,7 @@ class ActivationFeatureMarkdowneRenderer extends Disposable {
1185
1180
  }
1186
1181
  ( (Registry.as(Extensions.ExtensionFeaturesRegistry))).registerExtensionFeature({
1187
1182
  id: 'activationEvents',
1188
- label: ( localizeWithPath(_moduleId, 9, "Activation Events")),
1183
+ label: ( localize(1576, "Activation Events")),
1189
1184
  access: {
1190
1185
  canToggle: false
1191
1186
  },