Path: blob/main/src/vs/workbench/services/extensions/common/extensionHostManagers.ts
3296 views
/*---------------------------------------------------------------------------------------------1* Copyright (c) Microsoft Corporation. All rights reserved.2* Licensed under the MIT License. See License.txt in the project root for license information.3*--------------------------------------------------------------------------------------------*/45import { Event } from '../../../../base/common/event.js';6import { URI } from '../../../../base/common/uri.js';7import { ExtensionIdentifier, IExtensionDescription } from '../../../../platform/extensions/common/extensions.js';8import { ExtensionHostKind } from './extensionHostKind.js';9import { IExtensionDescriptionDelta } from './extensionHostProtocol.js';10import { IResolveAuthorityResult } from './extensionHostProxy.js';11import { ExtensionRunningLocation } from './extensionRunningLocation.js';12import { ActivationKind, ExtensionActivationReason, ExtensionHostStartup, IExtensionInspectInfo } from './extensions.js';13import { ResponsiveState } from './rpcProtocol.js';1415export interface IExtensionHostManager {16readonly pid: number | null;17readonly kind: ExtensionHostKind;18readonly startup: ExtensionHostStartup;19readonly friendyName: string;20readonly onDidExit: Event<[number, string | null]>;21readonly onDidChangeResponsiveState: Event<ResponsiveState>;22disconnect(): Promise<void>;23dispose(): void;24ready(): Promise<void>;25representsRunningLocation(runningLocation: ExtensionRunningLocation): boolean;26deltaExtensions(extensionsDelta: IExtensionDescriptionDelta): Promise<void>;27containsExtension(extensionId: ExtensionIdentifier): boolean;28activate(extension: ExtensionIdentifier, reason: ExtensionActivationReason): Promise<boolean>;29activateByEvent(activationEvent: string, activationKind: ActivationKind): Promise<void>;30activationEventIsDone(activationEvent: string): boolean;31getInspectPort(tryEnableInspector: boolean): Promise<IExtensionInspectInfo | undefined>;32resolveAuthority(remoteAuthority: string, resolveAttempt: number): Promise<IResolveAuthorityResult>;33/**34* Returns `null` if no resolver for `remoteAuthority` is found.35*/36getCanonicalURI(remoteAuthority: string, uri: URI): Promise<URI | null>;37start(extensionRegistryVersionId: number, allExtensions: readonly IExtensionDescription[], myExtensions: ExtensionIdentifier[]): Promise<void>;38extensionTestsExecute(): Promise<number>;39setRemoteEnvironment(env: { [key: string]: string | null }): Promise<void>;40}414243