@codingame/monaco-vscode-extensions-service-override 24.3.0 → 25.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.
- package/package.json +3 -3
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagementCLI.js +28 -28
- package/vscode/src/vs/workbench/api/browser/mainThreadAuthentication.js +29 -29
- package/vscode/src/vs/workbench/api/browser/mainThreadCLICommands.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents2.d.ts +6 -6
- package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents2.js +14 -10
- package/vscode/src/vs/workbench/api/browser/mainThreadChatCodeMapper.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadChatCodeMapper.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadChatContext.d.ts +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadChatContext.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadChatSessions.d.ts +5 -4
- package/vscode/src/vs/workbench/api/browser/mainThreadChatSessions.js +28 -31
- package/vscode/src/vs/workbench/api/browser/mainThreadComments.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadCustomEditors.js +3 -6
- package/vscode/src/vs/workbench/api/browser/mainThreadDocumentContentProviders.js +3 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadEditSessionIdentityParticipant.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadEditorTabs.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadEditors.js +10 -29
- 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 +1 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModelTools.d.ts +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModelTools.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModels.js +3 -3
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguages.d.ts +2 -3
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguages.js +6 -11
- package/vscode/src/vs/workbench/api/browser/mainThreadMcp.d.ts +5 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadMcp.js +16 -10
- 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/mainThreadOutputService.js +3 -3
- package/vscode/src/vs/workbench/api/browser/mainThreadProgress.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadQuickOpen.d.ts +0 -5
- package/vscode/src/vs/workbench/api/browser/mainThreadQuickOpen.js +7 -65
- package/vscode/src/vs/workbench/api/browser/mainThreadSCM.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadSCM.js +5 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadSaveParticipant.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadSearch.d.ts +1 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadSearch.js +7 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadStatusBar.d.ts +3 -3
- package/vscode/src/vs/workbench/api/browser/mainThreadStatusBar.js +8 -9
- package/vscode/src/vs/workbench/api/browser/mainThreadTask.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadTerminalShellIntegration.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadTunnelService.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadUriOpeners.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadWebviewPanels.js +4 -0
- 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/extensionManagement/browser/webExtensionsScannerService.js +2 -2
- package/vscode/src/vs/workbench/services/extensions/browser/extensionService.d.ts +1 -0
- package/vscode/src/vs/workbench/services/extensions/browser/extensionService.js +8 -5
- package/vscode/src/vs/workbench/services/extensions/browser/webWorkerExtensionHost.d.ts +3 -1
- package/vscode/src/vs/workbench/services/extensions/browser/webWorkerExtensionHost.js +8 -3
- package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.d.ts +2 -0
- package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.js +25 -13
- package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.js +1 -1
- package/vscode/src/vs/workbench/services/extensions/common/extensionsProposedApi.js +1 -1
- package/vscode/src/vs/workbench/services/extensions/common/extensionsUtil.js +4 -4
- package/vscode/src/vs/workbench/services/extensions/common/remoteExtensionHost.d.ts +3 -1
- package/vscode/src/vs/workbench/services/extensions/common/remoteExtensionHost.js +8 -3
|
@@ -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(
|
|
82
|
+
message = ( localize(2559, "Extension '{0}' added 1 folder to the workspace", extensionName));
|
|
83
83
|
}
|
|
84
84
|
else {
|
|
85
85
|
message = ( localize(
|
|
86
|
-
|
|
86
|
+
2560,
|
|
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(
|
|
95
|
+
message = ( localize(2561, "Extension '{0}' removed 1 folder from the workspace", extensionName));
|
|
96
96
|
}
|
|
97
97
|
else {
|
|
98
98
|
message = ( localize(
|
|
99
|
-
|
|
99
|
+
2562,
|
|
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(
|
|
107
|
+
message = ( localize(2563, "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
|
-
|
|
52
|
+
6431,
|
|
53
53
|
"An extension provided text editor for '{0}' is still open that would close otherwise.",
|
|
54
54
|
this.name
|
|
55
55
|
)));
|
|
@@ -140,11 +140,11 @@ let ExtensionBisectUi = class ExtensionBisectUi {
|
|
|
140
140
|
}
|
|
141
141
|
_showBisectPrompt() {
|
|
142
142
|
const goodPrompt = {
|
|
143
|
-
label: ( localize(
|
|
143
|
+
label: ( localize(13892, "I can't reproduce")),
|
|
144
144
|
run: () => this._commandService.executeCommand('extension.bisect.next', false)
|
|
145
145
|
};
|
|
146
146
|
const badPrompt = {
|
|
147
|
-
label: ( localize(
|
|
147
|
+
label: ( localize(13893, "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
|
-
|
|
156
|
+
13894,
|
|
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
|
-
|
|
160
|
+
13895,
|
|
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(
|
|
178
|
+
title: ( localize2(13896, '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(
|
|
198
|
+
message: ( localize(13897, "Extension Bisect")),
|
|
199
199
|
detail: ( localize(
|
|
200
|
-
|
|
200
|
+
13898,
|
|
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(
|
|
204
|
+
primaryButton: ( localize(13899, "&&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(
|
|
216
|
+
title: ( localize2(13900, '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(
|
|
251
|
-
|
|
250
|
+
await dialogService.info(( localize(13901, "Extension Bisect")), ( localize(
|
|
251
|
+
13902,
|
|
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(
|
|
260
|
-
primaryButton: ( localize(
|
|
261
|
-
cancelButton: ( localize(
|
|
259
|
+
message: ( localize(13901, "Extension Bisect")),
|
|
260
|
+
primaryButton: ( localize(13903, "&&Report Issue & Continue")),
|
|
261
|
+
cancelButton: ( localize(13904, "Continue")),
|
|
262
262
|
detail: ( localize(
|
|
263
|
-
|
|
263
|
+
13905,
|
|
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(
|
|
267
|
+
checkbox: { label: ( localize(13906, "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(
|
|
282
|
+
message: ( localize(13907, "Extension Bisect")),
|
|
283
283
|
detail: ( localize(
|
|
284
|
-
|
|
284
|
+
13908,
|
|
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(
|
|
290
|
+
label: ( localize(13909, "I ca&&n't reproduce")),
|
|
291
291
|
run: () => false
|
|
292
292
|
},
|
|
293
293
|
{
|
|
294
|
-
label: ( localize(
|
|
294
|
+
label: ( localize(13910, "I can &&reproduce")),
|
|
295
295
|
run: () => true
|
|
296
296
|
},
|
|
297
297
|
{
|
|
298
|
-
label: ( localize(
|
|
298
|
+
label: ( localize(13911, "&&Stop Bisect")),
|
|
299
299
|
run: () => undefined
|
|
300
300
|
}
|
|
301
301
|
],
|
|
302
302
|
cancelButton: {
|
|
303
|
-
label: ( localize(
|
|
303
|
+
label: ( localize(13912, "&&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(
|
|
314
|
+
title: ( localize2(13913, 'Stop Extension Bisect')),
|
|
315
315
|
category: Categories.Help,
|
|
316
316
|
f1: true,
|
|
317
317
|
precondition: ExtensionBisectUi.ctxIsBisectActive
|
package/vscode/src/vs/workbench/services/extensionManagement/browser/webExtensionsScannerService.js
CHANGED
|
@@ -606,7 +606,7 @@ let WebExtensionsScannerService = class WebExtensionsScannerService extends Disp
|
|
|
606
606
|
}
|
|
607
607
|
if (!this.extensionManifestPropertiesService.canExecuteOnWeb(manifest)) {
|
|
608
608
|
throw ( new Error(( localize(
|
|
609
|
-
|
|
609
|
+
13928,
|
|
610
610
|
"Cannot add '{0}' because this extension is not a web extension.",
|
|
611
611
|
manifest.displayName || manifest.name
|
|
612
612
|
))));
|
|
@@ -890,7 +890,7 @@ if (isWeb) {
|
|
|
890
890
|
constructor() {
|
|
891
891
|
super({
|
|
892
892
|
id: 'workbench.extensions.action.openInstalledWebExtensionsResource',
|
|
893
|
-
title: ( localize2(
|
|
893
|
+
title: ( localize2(13929, 'Open Installed Web Extensions Resource')),
|
|
894
894
|
category: Categories.Developer,
|
|
895
895
|
f1: true,
|
|
896
896
|
precondition: IsWebContext
|
|
@@ -44,6 +44,7 @@ export declare class ExtensionService extends AbstractExtensionService implement
|
|
|
44
44
|
allowRemoteExtensionsInLocalWebWorker: boolean;
|
|
45
45
|
}, extensionsProposedApi: ExtensionsProposedApi, extensionHostFactory: IExtensionHostFactory, extensionHostKindPicker: IExtensionHostKindPicker, instantiationService: IInstantiationService, notificationService: INotificationService, _browserEnvironmentService: IBrowserWorkbenchEnvironmentService, telemetryService: ITelemetryService, extensionEnablementService: IWorkbenchExtensionEnablementService, fileService: IFileService, productService: IProductService, extensionManagementService: IWorkbenchExtensionManagementService, contextService: IWorkspaceContextService, configurationService: IConfigurationService, extensionManifestPropertiesService: IExtensionManifestPropertiesService, _webExtensionsScannerService: IWebExtensionsScannerService, logService: ILogService, remoteAgentService: IRemoteAgentService, remoteExtensionsScannerService: IRemoteExtensionsScannerService, lifecycleService: ILifecycleService, remoteAuthorityResolverService: IRemoteAuthorityResolverService, _userDataInitializationService: IUserDataInitializationService, _userDataProfileService: IUserDataProfileService, _workspaceTrustManagementService: IWorkspaceTrustManagementService, _remoteExplorerService: IRemoteExplorerService, dialogService: IDialogService);
|
|
46
46
|
private _initFetchFileSystem;
|
|
47
|
+
protected _initialize(): Promise<void>;
|
|
47
48
|
private _scanWebExtensionsPromise;
|
|
48
49
|
protected _scanWebExtensions(): Promise<IExtensionDescription[]>;
|
|
49
50
|
private _resolveExtensionsDefault;
|
|
@@ -49,8 +49,7 @@ let ExtensionService = class ExtensionService extends AbstractExtensionService {
|
|
|
49
49
|
this._workspaceTrustManagementService = _workspaceTrustManagementService;
|
|
50
50
|
this._remoteExplorerService = _remoteExplorerService;
|
|
51
51
|
lifecycleService.when(LifecyclePhase.Ready).then(async () => {
|
|
52
|
-
await this.
|
|
53
|
-
this._initialize();
|
|
52
|
+
await this._initializeIfNeeded();
|
|
54
53
|
});
|
|
55
54
|
this._initFetchFileSystem();
|
|
56
55
|
}
|
|
@@ -59,6 +58,10 @@ let ExtensionService = class ExtensionService extends AbstractExtensionService {
|
|
|
59
58
|
this._register(this._fileService.registerProvider(Schemas.http, provider));
|
|
60
59
|
this._register(this._fileService.registerProvider(Schemas.https, provider));
|
|
61
60
|
}
|
|
61
|
+
async _initialize() {
|
|
62
|
+
await this._userDataInitializationService.initializeInstalledExtensions(this._instantiationService);
|
|
63
|
+
await super._initialize();
|
|
64
|
+
}
|
|
62
65
|
async _scanWebExtensions() {
|
|
63
66
|
if (!this._scanWebExtensionsPromise) {
|
|
64
67
|
this._scanWebExtensionsPromise = (async () => {
|
|
@@ -117,12 +120,12 @@ let ExtensionService = class ExtensionService extends AbstractExtensionService {
|
|
|
117
120
|
this._remoteExplorerService.setTunnelInformation(resolverResult.tunnelInformation);
|
|
118
121
|
const connection = this._remoteAgentService.getConnection();
|
|
119
122
|
if (connection) {
|
|
120
|
-
connection.onDidStateChange(async (e) => {
|
|
123
|
+
this._register(connection.onDidStateChange(async (e) => {
|
|
121
124
|
if (e.type === PersistentConnectionEventType.ConnectionLost) {
|
|
122
125
|
this._remoteAuthorityResolverService._clearResolvedAuthority(remoteAuthority);
|
|
123
126
|
}
|
|
124
|
-
});
|
|
125
|
-
connection.onReconnecting(() => this._resolveAuthorityAgain());
|
|
127
|
+
}));
|
|
128
|
+
this._register(connection.onReconnecting(() => this._resolveAuthorityAgain()));
|
|
126
129
|
}
|
|
127
130
|
return this._resolveExtensionsDefault(emitter);
|
|
128
131
|
}
|
|
@@ -12,6 +12,7 @@ import { IUserDataProfilesService } from "@codingame/monaco-vscode-api/vscode/vs
|
|
|
12
12
|
import { IWebWorkerService } from "@codingame/monaco-vscode-api/vscode/vs/platform/webWorker/browser/webWorkerService.service";
|
|
13
13
|
import { IWorkspaceContextService } from "@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service";
|
|
14
14
|
import { IBrowserWorkbenchEnvironmentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/environment/browser/environmentService.service";
|
|
15
|
+
import { IDefaultLogLevelsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/log/common/defaultLogLevels.service";
|
|
15
16
|
import { LocalWebWorkerRunningLocation } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensionRunningLocation";
|
|
16
17
|
import { ExtensionHostExtensions, ExtensionHostStartup, IExtensionHost } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions";
|
|
17
18
|
export interface IWebWorkerExtensionHostInitData {
|
|
@@ -35,6 +36,7 @@ export declare class WebWorkerExtensionHost extends Disposable implements IExten
|
|
|
35
36
|
private readonly _layoutService;
|
|
36
37
|
private readonly _storageService;
|
|
37
38
|
private readonly _webWorkerService;
|
|
39
|
+
private readonly _defaultLogLevelsService;
|
|
38
40
|
readonly pid: null;
|
|
39
41
|
readonly remoteAuthority: null;
|
|
40
42
|
extensions: ExtensionHostExtensions | null;
|
|
@@ -47,7 +49,7 @@ export declare class WebWorkerExtensionHost extends Disposable implements IExten
|
|
|
47
49
|
private _protocolPromise;
|
|
48
50
|
private _protocol;
|
|
49
51
|
private readonly _extensionHostLogsLocation;
|
|
50
|
-
constructor(runningLocation: LocalWebWorkerRunningLocation, startup: ExtensionHostStartup, _initDataProvider: IWebWorkerExtensionHostDataProvider, _telemetryService: ITelemetryService, _contextService: IWorkspaceContextService, _labelService: ILabelService, _logService: ILogService, _loggerService: ILoggerService, _environmentService: IBrowserWorkbenchEnvironmentService, _userDataProfilesService: IUserDataProfilesService, _productService: IProductService, _layoutService: ILayoutService, _storageService: IStorageService, _webWorkerService: IWebWorkerService);
|
|
52
|
+
constructor(runningLocation: LocalWebWorkerRunningLocation, startup: ExtensionHostStartup, _initDataProvider: IWebWorkerExtensionHostDataProvider, _telemetryService: ITelemetryService, _contextService: IWorkspaceContextService, _labelService: ILabelService, _logService: ILogService, _loggerService: ILoggerService, _environmentService: IBrowserWorkbenchEnvironmentService, _userDataProfilesService: IUserDataProfilesService, _productService: IProductService, _layoutService: ILayoutService, _storageService: IStorageService, _webWorkerService: IWebWorkerService, _defaultLogLevelsService: IDefaultLogLevelsService);
|
|
51
53
|
protected _getWebWorkerExtensionHostIframeSrc(): Promise<string>;
|
|
52
54
|
start(): Promise<IMessagePassingProtocol>;
|
|
53
55
|
private _startInsideIframe;
|
|
@@ -28,12 +28,13 @@ import { IWebWorkerService } from '@codingame/monaco-vscode-api/vscode/vs/platfo
|
|
|
28
28
|
import { WorkbenchState } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace';
|
|
29
29
|
import { IWorkspaceContextService } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service';
|
|
30
30
|
import { IBrowserWorkbenchEnvironmentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/environment/browser/environmentService.service';
|
|
31
|
+
import { IDefaultLogLevelsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/log/common/defaultLogLevels.service';
|
|
31
32
|
import { ExtensionHostExitCode, isMessageOfType, MessageType, createMessageOfType, UIKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensionHostProtocol';
|
|
32
33
|
import { ExtensionHostStartup } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions';
|
|
33
34
|
import { getNLSLanguage, getNLSMessages } from '@codingame/monaco-vscode-api/vscode/vs/nls.messages';
|
|
34
35
|
|
|
35
36
|
let WebWorkerExtensionHost = class WebWorkerExtensionHost extends Disposable {
|
|
36
|
-
constructor(runningLocation, startup, _initDataProvider, _telemetryService, _contextService, _labelService, _logService, _loggerService, _environmentService, _userDataProfilesService, _productService, _layoutService, _storageService, _webWorkerService) {
|
|
37
|
+
constructor(runningLocation, startup, _initDataProvider, _telemetryService, _contextService, _labelService, _logService, _loggerService, _environmentService, _userDataProfilesService, _productService, _layoutService, _storageService, _webWorkerService, _defaultLogLevelsService) {
|
|
37
38
|
super();
|
|
38
39
|
this.runningLocation = runningLocation;
|
|
39
40
|
this.startup = startup;
|
|
@@ -49,6 +50,7 @@ let WebWorkerExtensionHost = class WebWorkerExtensionHost extends Disposable {
|
|
|
49
50
|
this._layoutService = _layoutService;
|
|
50
51
|
this._storageService = _storageService;
|
|
51
52
|
this._webWorkerService = _webWorkerService;
|
|
53
|
+
this._defaultLogLevelsService = _defaultLogLevelsService;
|
|
52
54
|
this.pid = null;
|
|
53
55
|
this.remoteAuthority = null;
|
|
54
56
|
this.extensions = null;
|
|
@@ -254,7 +256,7 @@ let WebWorkerExtensionHost = class WebWorkerExtensionHost extends Disposable {
|
|
|
254
256
|
extensionTestsLocationURI: this._environmentService.extensionTestsLocationURI,
|
|
255
257
|
globalStorageHome: this._userDataProfilesService.defaultProfile.globalStorageHome,
|
|
256
258
|
workspaceStorageHome: this._environmentService.workspaceStorageHome,
|
|
257
|
-
extensionLogLevel: this.
|
|
259
|
+
extensionLogLevel: this._defaultLogLevelsService.defaultLogLevels.extensions
|
|
258
260
|
},
|
|
259
261
|
workspace: this._contextService.getWorkbenchState() === WorkbenchState.EMPTY ? undefined : {
|
|
260
262
|
configuration: workspace.configuration || undefined,
|
|
@@ -276,6 +278,8 @@ let WebWorkerExtensionHost = class WebWorkerExtensionHost extends Disposable {
|
|
|
276
278
|
firstSessionDate: this._telemetryService.firstSessionDate,
|
|
277
279
|
msftInternal: this._telemetryService.msftInternal
|
|
278
280
|
},
|
|
281
|
+
remoteExtensionTips: this._productService.remoteExtensionTips,
|
|
282
|
+
virtualWorkspaceExtensionTips: this._productService.virtualWorkspaceExtensionTips,
|
|
279
283
|
logLevel: this._logService.getLevel(),
|
|
280
284
|
loggers: [...this._loggerService.getRegisteredLoggers()],
|
|
281
285
|
logsLocation: this._extensionHostLogsLocation,
|
|
@@ -300,7 +304,8 @@ WebWorkerExtensionHost = ( __decorate([
|
|
|
300
304
|
( __param(10, IProductService)),
|
|
301
305
|
( __param(11, ILayoutService)),
|
|
302
306
|
( __param(12, IStorageService)),
|
|
303
|
-
( __param(13, IWebWorkerService))
|
|
307
|
+
( __param(13, IWebWorkerService)),
|
|
308
|
+
( __param(14, IDefaultLogLevelsService))
|
|
304
309
|
], WebWorkerExtensionHost));
|
|
305
310
|
const extensionHostWorkerMainDescriptor = ( new WebWorkerDescriptor({
|
|
306
311
|
label: 'extensionHostWorkerMain'
|
|
@@ -90,6 +90,8 @@ export declare abstract class AbstractExtensionService extends Disposable implem
|
|
|
90
90
|
private _canAddExtension;
|
|
91
91
|
canRemoveExtension(extension: IExtensionDescription): boolean;
|
|
92
92
|
private _activateAddedExtensionIfNeeded;
|
|
93
|
+
private _initializePromise;
|
|
94
|
+
protected _initializeIfNeeded(): Promise<void> | null;
|
|
93
95
|
protected _initialize(): Promise<void>;
|
|
94
96
|
private _resolveAndProcessExtensions;
|
|
95
97
|
private _handleExtensionTests;
|
|
@@ -99,6 +99,7 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
99
99
|
this._inHandleDeltaExtensions = false;
|
|
100
100
|
this._extensionHostManagers = this._register(( new ExtensionHostCollection()));
|
|
101
101
|
this._resolveAuthorityAttempt = 0;
|
|
102
|
+
this._initializePromise = null;
|
|
102
103
|
this._hasLocalProcess = options.hasLocalProcess;
|
|
103
104
|
this._allowRemoteExtensionsInLocalWebWorker = options.allowRemoteExtensionsInLocalWebWorker;
|
|
104
105
|
this._register(this._fileService.onWillActivateFileSystemProvider(e => {
|
|
@@ -148,16 +149,20 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
148
149
|
}));
|
|
149
150
|
this._register(this._extensionManagementService.onDidInstallExtensions((result) => {
|
|
150
151
|
const extensions = [];
|
|
152
|
+
const toRemove = [];
|
|
151
153
|
for (const { local, operation } of result) {
|
|
152
154
|
if (local && local.isValid && operation !== InstallOperation.Migrate && this._safeInvokeIsEnabled(local)) {
|
|
153
155
|
extensions.push(local);
|
|
156
|
+
if (operation === InstallOperation.Update) {
|
|
157
|
+
toRemove.push(local.identifier.id);
|
|
158
|
+
}
|
|
154
159
|
}
|
|
155
160
|
}
|
|
156
161
|
if (extensions.length) {
|
|
157
162
|
if (isCI) {
|
|
158
163
|
this._logService.info(`AbstractExtensionService.onDidInstallExtensions fired for ${( extensions.map(e => e.identifier.id)).join(', ')}`);
|
|
159
164
|
}
|
|
160
|
-
this._handleDeltaExtensions(( new DeltaExtensionsQueueItem(extensions,
|
|
165
|
+
this._handleDeltaExtensions(( new DeltaExtensionsQueueItem(extensions, toRemove)));
|
|
161
166
|
}
|
|
162
167
|
}));
|
|
163
168
|
this._register(this._extensionManagementService.onDidUninstallExtension((event) => {
|
|
@@ -181,14 +186,14 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
181
186
|
}
|
|
182
187
|
}, {
|
|
183
188
|
id: 'join.disconnectRemote',
|
|
184
|
-
label: ( localize(
|
|
189
|
+
label: ( localize(13995, "Disconnect Remote Agent")),
|
|
185
190
|
order: WillShutdownJoinerOrder.Last
|
|
186
191
|
});
|
|
187
192
|
}
|
|
188
193
|
else {
|
|
189
194
|
event.join(this._doStopExtensionHosts(), {
|
|
190
195
|
id: 'join.stopExtensionHosts',
|
|
191
|
-
label: ( localize(
|
|
196
|
+
label: ( localize(13996, "Stopping Extension Hosts")),
|
|
192
197
|
});
|
|
193
198
|
}
|
|
194
199
|
}));
|
|
@@ -259,7 +264,7 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
259
264
|
this._notificationService.notify({
|
|
260
265
|
severity: Severity.Error,
|
|
261
266
|
message: ( localize(
|
|
262
|
-
|
|
267
|
+
13997,
|
|
263
268
|
"The following extensions contain dependency loops and have been disabled: {0}",
|
|
264
269
|
( result.removedDueToLooping.map(e => `'${e.identifier.value}'`)).join(', ')
|
|
265
270
|
))
|
|
@@ -370,6 +375,12 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
370
375
|
))).then(() => { });
|
|
371
376
|
}
|
|
372
377
|
}
|
|
378
|
+
_initializeIfNeeded() {
|
|
379
|
+
if (!this._initializePromise) {
|
|
380
|
+
this._initializePromise = this._initialize();
|
|
381
|
+
}
|
|
382
|
+
return this._initializePromise;
|
|
383
|
+
}
|
|
373
384
|
async _initialize() {
|
|
374
385
|
mark('code/willLoadExtensions');
|
|
375
386
|
this._startExtensionHostsIfNecessary(true, []);
|
|
@@ -434,7 +445,7 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
434
445
|
this._notificationService.notify({
|
|
435
446
|
severity: Severity.Error,
|
|
436
447
|
message: ( localize(
|
|
437
|
-
|
|
448
|
+
13997,
|
|
438
449
|
"The following extensions contain dependency loops and have been disabled: {0}",
|
|
439
450
|
( result.removedDueToLooping.map(e => `'${e.identifier.value}'`)).join(', ')
|
|
440
451
|
))
|
|
@@ -449,7 +460,7 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
449
460
|
const extensionHostManager = this.findTestExtensionHost(this._environmentService.extensionTestsLocationURI);
|
|
450
461
|
if (!extensionHostManager) {
|
|
451
462
|
const msg = ( localize(
|
|
452
|
-
|
|
463
|
+
13998,
|
|
453
464
|
"No extension host found that can launch the test runner at {0}.",
|
|
454
465
|
(this._environmentService.extensionTestsLocationURI.toString())
|
|
455
466
|
));
|
|
@@ -619,7 +630,7 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
619
630
|
vetoReasons.add(reason);
|
|
620
631
|
}
|
|
621
632
|
}).catch(error => {
|
|
622
|
-
vetoReasons.add(( localize(
|
|
633
|
+
vetoReasons.add(( localize(13999, "{0} (Error: {1})", reason, toErrorMessage(error))));
|
|
623
634
|
});
|
|
624
635
|
}
|
|
625
636
|
}
|
|
@@ -634,11 +645,11 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
634
645
|
this._logService.warn(`Extension host was not stopped because of veto (stop reason: ${reason}, veto reason: ${vetoReasonsArray.join(', ')})`);
|
|
635
646
|
const { confirmed } = await this._dialogService.confirm({
|
|
636
647
|
type: Severity.Warning,
|
|
637
|
-
message: ( localize(
|
|
648
|
+
message: ( localize(14000, "Please confirm restart of extensions.")),
|
|
638
649
|
detail: vetoReasonsArray.length === 1 ?
|
|
639
650
|
vetoReasonsArray[0] :
|
|
640
651
|
vetoReasonsArray.join('\n -'),
|
|
641
|
-
primaryButton: ( localize(
|
|
652
|
+
primaryButton: ( localize(14001, "Restart Anyway"))
|
|
642
653
|
});
|
|
643
654
|
if (confirmed) {
|
|
644
655
|
return true;
|
|
@@ -735,15 +746,15 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
735
746
|
this._remoteCrashTracker.registerCrash();
|
|
736
747
|
if (this._remoteCrashTracker.shouldAutomaticallyRestart()) {
|
|
737
748
|
this._logService.info(`Automatically restarting the remote extension host.`);
|
|
738
|
-
this._notificationService.status(( localize(
|
|
749
|
+
this._notificationService.status(( localize(14002, "The remote extension host terminated unexpectedly. Restarting...")), { hideAfter: 5000 });
|
|
739
750
|
this._startExtensionHostsIfNecessary(false, Array.from(( this._allRequestedActivateEvents.keys())));
|
|
740
751
|
}
|
|
741
752
|
else {
|
|
742
753
|
this._notificationService.prompt(Severity.Error, ( localize(
|
|
743
|
-
|
|
754
|
+
14003,
|
|
744
755
|
"Remote Extension host terminated unexpectedly 3 times within the last 5 minutes."
|
|
745
756
|
)), [{
|
|
746
|
-
label: ( localize(
|
|
757
|
+
label: ( localize(14004, "Restart Remote Extension Host")),
|
|
747
758
|
run: () => {
|
|
748
759
|
this._startExtensionHostsIfNecessary(false, Array.from(( this._allRequestedActivateEvents.keys())));
|
|
749
760
|
}
|
|
@@ -803,6 +814,7 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
803
814
|
else {
|
|
804
815
|
this._allRequestedActivateEvents.add(activationEvent);
|
|
805
816
|
if (activationKind === ActivationKind.Immediate) {
|
|
817
|
+
void this._initializeIfNeeded();
|
|
806
818
|
return this._activateByEvent(activationEvent, activationKind);
|
|
807
819
|
}
|
|
808
820
|
return this._installedExtensionsReady.wait().then(() => this._activateByEvent(activationEvent, activationKind));
|
|
@@ -1250,7 +1262,7 @@ class ActivationFeatureMarkdowneRenderer extends Disposable {
|
|
|
1250
1262
|
}
|
|
1251
1263
|
( Registry.as(Extensions.ExtensionFeaturesRegistry)).registerExtensionFeature({
|
|
1252
1264
|
id: 'activationEvents',
|
|
1253
|
-
label: ( localize(
|
|
1265
|
+
label: ( localize(14005, "Activation Events")),
|
|
1254
1266
|
access: {
|
|
1255
1267
|
canToggle: false
|
|
1256
1268
|
},
|
|
@@ -479,7 +479,7 @@ registerAction2(class MeasureExtHostLatencyAction extends Action2 {
|
|
|
479
479
|
constructor() {
|
|
480
480
|
super({
|
|
481
481
|
id: 'editor.action.measureExtHostLatency',
|
|
482
|
-
title: ( localize2(
|
|
482
|
+
title: ( localize2(14006, "Measure Extension Host Latency")),
|
|
483
483
|
category: Categories.Developer,
|
|
484
484
|
f1: true
|
|
485
485
|
});
|
|
@@ -106,7 +106,7 @@ class ApiProposalsMarkdowneRenderer extends Disposable {
|
|
|
106
106
|
}
|
|
107
107
|
( Registry.as(Extensions.ExtensionFeaturesRegistry)).registerExtensionFeature({
|
|
108
108
|
id: 'enabledApiProposals',
|
|
109
|
-
label: ( localize(
|
|
109
|
+
label: ( localize(14007, "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
|
-
|
|
12
|
+
14094,
|
|
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
|
-
|
|
32
|
+
14094,
|
|
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
|
-
|
|
49
|
+
14095,
|
|
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
|
-
|
|
59
|
+
14096,
|
|
60
60
|
"Loading development extension at {0}",
|
|
61
61
|
developedExtension.extensionLocation.fsPath
|
|
62
62
|
)));
|
|
@@ -14,6 +14,7 @@ import { ISignService } from "@codingame/monaco-vscode-api/vscode/vs/platform/si
|
|
|
14
14
|
import { ITelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service";
|
|
15
15
|
import { IWorkspaceContextService } from "@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service";
|
|
16
16
|
import { IWorkbenchEnvironmentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/environment/common/environmentService.service";
|
|
17
|
+
import { IDefaultLogLevelsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/log/common/defaultLogLevels.service";
|
|
17
18
|
import { RemoteRunningLocation } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensionRunningLocation";
|
|
18
19
|
import { ExtensionHostExtensions, ExtensionHostStartup, IExtensionHost } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions";
|
|
19
20
|
export interface IRemoteExtensionHostInitData {
|
|
@@ -43,6 +44,7 @@ export declare class RemoteExtensionHost extends Disposable implements IExtensio
|
|
|
43
44
|
private readonly _extensionHostDebugService;
|
|
44
45
|
private readonly _productService;
|
|
45
46
|
private readonly _signService;
|
|
47
|
+
private readonly _defaultLogLevelsService;
|
|
46
48
|
readonly pid: null;
|
|
47
49
|
readonly remoteAuthority: string;
|
|
48
50
|
readonly startup = ExtensionHostStartup.EagerAutoStart;
|
|
@@ -57,7 +59,7 @@ export declare class RemoteExtensionHost extends Disposable implements IExtensio
|
|
|
57
59
|
private _terminating;
|
|
58
60
|
private _hasDisconnected;
|
|
59
61
|
private readonly _isExtensionDevHost;
|
|
60
|
-
constructor(runningLocation: RemoteRunningLocation, _initDataProvider: IRemoteExtensionHostDataProvider, remoteSocketFactoryService: IRemoteSocketFactoryService, _contextService: IWorkspaceContextService, _environmentService: IWorkbenchEnvironmentService, _telemetryService: ITelemetryService, _logService: ILogService, _loggerService: ILoggerService, _labelService: ILabelService, remoteAuthorityResolverService: IRemoteAuthorityResolverService, _extensionHostDebugService: IExtensionHostDebugService, _productService: IProductService, _signService: ISignService);
|
|
62
|
+
constructor(runningLocation: RemoteRunningLocation, _initDataProvider: IRemoteExtensionHostDataProvider, remoteSocketFactoryService: IRemoteSocketFactoryService, _contextService: IWorkspaceContextService, _environmentService: IWorkbenchEnvironmentService, _telemetryService: ITelemetryService, _logService: ILogService, _loggerService: ILoggerService, _labelService: ILabelService, remoteAuthorityResolverService: IRemoteAuthorityResolverService, _extensionHostDebugService: IExtensionHostDebugService, _productService: IProductService, _signService: ISignService, _defaultLogLevelsService: IDefaultLogLevelsService);
|
|
61
63
|
start(): Promise<IMessagePassingProtocol>;
|
|
62
64
|
private _onExtHostConnectionLost;
|
|
63
65
|
private _createExtHostInitData;
|
|
@@ -18,12 +18,13 @@ import { isLoggingOnly } from '@codingame/monaco-vscode-api/vscode/vs/platform/t
|
|
|
18
18
|
import { WorkbenchState } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace';
|
|
19
19
|
import { IWorkspaceContextService } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service';
|
|
20
20
|
import { IWorkbenchEnvironmentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/environment/common/environmentService.service';
|
|
21
|
+
import { IDefaultLogLevelsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/log/common/defaultLogLevels.service';
|
|
21
22
|
import { parseExtensionDevOptions } from './extensionDevOptions.js';
|
|
22
23
|
import { isMessageOfType, MessageType, UIKind, createMessageOfType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensionHostProtocol';
|
|
23
24
|
import { ExtensionHostStartup } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions';
|
|
24
25
|
|
|
25
26
|
let RemoteExtensionHost = class RemoteExtensionHost extends Disposable {
|
|
26
|
-
constructor(runningLocation, _initDataProvider, remoteSocketFactoryService, _contextService, _environmentService, _telemetryService, _logService, _loggerService, _labelService, remoteAuthorityResolverService, _extensionHostDebugService, _productService, _signService) {
|
|
27
|
+
constructor(runningLocation, _initDataProvider, remoteSocketFactoryService, _contextService, _environmentService, _telemetryService, _logService, _loggerService, _labelService, remoteAuthorityResolverService, _extensionHostDebugService, _productService, _signService, _defaultLogLevelsService) {
|
|
27
28
|
super();
|
|
28
29
|
this.runningLocation = runningLocation;
|
|
29
30
|
this._initDataProvider = _initDataProvider;
|
|
@@ -38,6 +39,7 @@ let RemoteExtensionHost = class RemoteExtensionHost extends Disposable {
|
|
|
38
39
|
this._extensionHostDebugService = _extensionHostDebugService;
|
|
39
40
|
this._productService = _productService;
|
|
40
41
|
this._signService = _signService;
|
|
42
|
+
this._defaultLogLevelsService = _defaultLogLevelsService;
|
|
41
43
|
this.pid = null;
|
|
42
44
|
this.startup = ExtensionHostStartup.EagerAutoStart;
|
|
43
45
|
this.extensions = null;
|
|
@@ -158,7 +160,7 @@ let RemoteExtensionHost = class RemoteExtensionHost extends Disposable {
|
|
|
158
160
|
extensionTestsLocationURI: this._environmentService.extensionTestsLocationURI,
|
|
159
161
|
globalStorageHome: remoteInitData.globalStorageHome,
|
|
160
162
|
workspaceStorageHome: remoteInitData.workspaceStorageHome,
|
|
161
|
-
extensionLogLevel: this.
|
|
163
|
+
extensionLogLevel: this._defaultLogLevelsService.defaultLogLevels.extensions
|
|
162
164
|
},
|
|
163
165
|
workspace: this._contextService.getWorkbenchState() === WorkbenchState.EMPTY ? null : {
|
|
164
166
|
configuration: workspace.configuration,
|
|
@@ -184,6 +186,8 @@ let RemoteExtensionHost = class RemoteExtensionHost extends Disposable {
|
|
|
184
186
|
firstSessionDate: this._telemetryService.firstSessionDate,
|
|
185
187
|
msftInternal: this._telemetryService.msftInternal
|
|
186
188
|
},
|
|
189
|
+
remoteExtensionTips: this._productService.remoteExtensionTips,
|
|
190
|
+
virtualWorkspaceExtensionTips: this._productService.virtualWorkspaceExtensionTips,
|
|
187
191
|
logLevel: this._logService.getLevel(),
|
|
188
192
|
loggers: [...this._loggerService.getRegisteredLoggers()],
|
|
189
193
|
logsLocation: remoteInitData.extensionHostLogsPath,
|
|
@@ -226,7 +230,8 @@ RemoteExtensionHost = ( __decorate([
|
|
|
226
230
|
( __param(9, IRemoteAuthorityResolverService)),
|
|
227
231
|
( __param(10, IExtensionHostDebugService)),
|
|
228
232
|
( __param(11, IProductService)),
|
|
229
|
-
( __param(12, ISignService))
|
|
233
|
+
( __param(12, ISignService)),
|
|
234
|
+
( __param(13, IDefaultLogLevelsService))
|
|
230
235
|
], RemoteExtensionHost));
|
|
231
236
|
|
|
232
237
|
export { RemoteExtensionHost };
|