diff --git a/src/vs/workbench/api/electron-browser/mainThreadExtensionService.ts b/src/vs/workbench/api/browser/mainThreadExtensionService.ts similarity index 96% rename from src/vs/workbench/api/electron-browser/mainThreadExtensionService.ts rename to src/vs/workbench/api/browser/mainThreadExtensionService.ts index 1d0480e92e0c17b8ec4ed43a9df174312f84edc4..4d91e90252e8022d5a268219bea4a6b950151e52 100644 --- a/src/vs/workbench/api/electron-browser/mainThreadExtensionService.ts +++ b/src/vs/workbench/api/browser/mainThreadExtensionService.ts @@ -8,7 +8,6 @@ import Severity from 'vs/base/common/severity'; import { extHostNamedCustomer } from 'vs/workbench/api/common/extHostCustomers'; import { IExtHostContext, MainContext, MainThreadExtensionServiceShape } from 'vs/workbench/api/common/extHost.protocol'; import { IExtensionService, ExtensionActivationError } from 'vs/workbench/services/extensions/common/extensions'; -import { ExtensionService } from 'vs/workbench/services/extensions/electron-browser/extensionService'; import { ExtensionIdentifier, IExtensionDescription } from 'vs/platform/extensions/common/extensions'; import { INotificationService } from 'vs/platform/notification/common/notification'; import { localize } from 'vs/nls'; @@ -21,7 +20,7 @@ import { IExtensionsWorkbenchService, IExtension } from 'vs/workbench/contrib/ex @extHostNamedCustomer(MainContext.MainThreadExtensionService) export class MainThreadExtensionService implements MainThreadExtensionServiceShape { - private readonly _extensionService: ExtensionService; + private readonly _extensionService: IExtensionService; private readonly _notificationService: INotificationService; private readonly _extensionsWorkbenchService: IExtensionsWorkbenchService; private readonly _windowService: IWindowService; @@ -33,9 +32,7 @@ export class MainThreadExtensionService implements MainThreadExtensionServiceSha @IExtensionsWorkbenchService extensionsWorkbenchService: IExtensionsWorkbenchService, @IWindowService windowService: IWindowService ) { - if (extensionService instanceof ExtensionService) { - this._extensionService = extensionService; - } + this._extensionService = extensionService; this._notificationService = notificationService; this._extensionsWorkbenchService = extensionsWorkbenchService; this._windowService = windowService; diff --git a/src/vs/workbench/api/electron-browser/extensionHost.contribution.ts b/src/vs/workbench/api/electron-browser/extensionHost.contribution.ts index cf892571e2d591f17cd4d1ad361921e8e4cea15e..dc8b0de40d4cd7cc7b9c9453470c559923ac6dd7 100644 --- a/src/vs/workbench/api/electron-browser/extensionHost.contribution.ts +++ b/src/vs/workbench/api/electron-browser/extensionHost.contribution.ts @@ -50,7 +50,7 @@ import '../browser/mainThreadWindow'; import '../browser/mainThreadWorkspace'; import './mainThreadComments'; import './mainThreadConsole'; -import './mainThreadExtensionService'; +import '../browser/mainThreadExtensionService'; import './mainThreadTask'; import './mainThreadWebview'; import 'vs/workbench/api/node/apiCommands'; diff --git a/src/vs/workbench/services/extensions/common/extensions.ts b/src/vs/workbench/services/extensions/common/extensions.ts index 04a24e602ce8aae3da8980a7dddae61fc80d2a80..107d91e721ee25fa11361b38e51576a558e447a1 100644 --- a/src/vs/workbench/services/extensions/common/extensions.ts +++ b/src/vs/workbench/services/extensions/common/extensions.ts @@ -218,6 +218,13 @@ export interface IExtensionService extends ICpuProfilerTarget { * Stops the extension host. */ stopExtensionHost(): void; + + _logOrShowMessage(severity: Severity, msg: string): void; + _activateById(extensionId: ExtensionIdentifier, activationEvent: string): Promise; + _onWillActivateExtension(extensionId: ExtensionIdentifier): void; + _onDidActivateExtension(extensionId: ExtensionIdentifier, startup: boolean, codeLoadingTime: number, activateCallTime: number, activateResolvedTime: number, activationEvent: string): void; + _onExtensionRuntimeError(extensionId: ExtensionIdentifier, err: Error): void; + } export interface ICpuProfilerTarget { @@ -278,4 +285,9 @@ export class NullExtensionService implements IExtensionService { stopExtensionHost(): void { } canAddExtension(): boolean { return false; } canRemoveExtension(): boolean { return false; } -} \ No newline at end of file + _logOrShowMessage(_severity: Severity, _msg: string): void { } + _activateById(_extensionId: ExtensionIdentifier, _activationEvent: string): Promise { return Promise.resolve(); } + _onWillActivateExtension(_extensionId: ExtensionIdentifier): void { } + _onDidActivateExtension(_extensionId: ExtensionIdentifier, _startup: boolean, _codeLoadingTime: number, _activateCallTime: number, _activateResolvedTime: number, _activationEvent: string): void { } + _onExtensionRuntimeError(_extensionId: ExtensionIdentifier, _err: Error): void { } +}