import { Injector } from '@opensumi/di'; import { SumiConnectionMultiplexer } from '@opensumi/ide-connection'; import { Emitter, IExtensionLogger, IExtensionProps } from '@opensumi/ide-core-common'; import { IExtensionHostService } from '../common'; import { ActivatedExtensionJSON, ExtensionsActivator } from '../common/activator'; import { IExtensionDescription } from '../common/vscode'; import { ExtHostLocalization } from './api/vscode/ext.host.localization'; import { ExtHostSecret } from './api/vscode/ext.host.secrets'; import { ExtHostStorage } from './api/vscode/ext.host.storage'; import { KTExtension } from './vscode.extension'; export default class ExtensionHostServiceImpl implements IExtensionHostService { logger: IExtensionLogger; private extensions; private rpcProtocol; extensionsActivator: ExtensionsActivator; storage: ExtHostStorage; secret: ExtHostSecret; localization: ExtHostLocalization; readonly extensionsChangeEmitter: Emitter; private vscodeAPIImpl; private openSumiAPIImpl; private telemetryAPIImpl; private reporterService; private extensionErrors; constructor(rpcProtocol: SumiConnectionMultiplexer, logger: IExtensionLogger, injector: Injector); /** * 收集插件未捕获异常 * @param error */ reportUnexpectedError(error: Error): void; $getActivatedExtensions(): Promise; $getExtensions(): IExtensionDescription[]; close(): Promise; init(): Promise; getExtensions(): KTExtension[]; private _extHostErrorStackTraceExtended; private extendExtHostErrorStackTrace; $updateExtHostData(): Promise; $fireChangeEvent(): Promise; createExtension(extensionDescription: IExtensionProps): KTExtension; getExtension(extensionId: string): KTExtension | undefined; private findExtension; private lookup; private defineAPI; getExtensionExports(extensionId: string): import("../common/activator").IExtensionAPI | undefined; getExtendExports(extensionId: string): import("../common/activator").IExtendExportAPI | undefined; private containsSumiContributes; isActivated(extensionId: string): boolean; private reportRuntimeError; activateExtension(id: string): Promise; private getExtensionViewModuleProxy; /** * @example * "sumiContributes": { * "viewsProxies": ["ViewComponentID"], * } */ private getExtendModuleProxy; private registerExtendModuleService; $activateExtension(id: string): Promise; private loadExtensionContext; } //# sourceMappingURL=ext.host.d.ts.map