Path: blob/main/src/vs/platform/extensions/common/extensionHostStarter.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 { createDecorator } from '../../instantiation/common/instantiation.js';78export const IExtensionHostStarter = createDecorator<IExtensionHostStarter>('extensionHostStarter');910export const ipcExtensionHostStarterChannelName = 'extensionHostStarter';1112export interface IExtensionHostProcessOptions {13responseWindowId: number;14responseChannel: string;15responseNonce: string;16env: { [key: string]: string | undefined };17detached: boolean;18execArgv: string[] | undefined;19silent: boolean;20}2122export interface IExtensionHostStarter {23readonly _serviceBrand: undefined;2425onDynamicStdout(id: string): Event<string>;26onDynamicStderr(id: string): Event<string>;27onDynamicMessage(id: string): Event<any>;28onDynamicExit(id: string): Event<{ code: number; signal: string }>;2930createExtensionHost(): Promise<{ id: string }>;31start(id: string, opts: IExtensionHostProcessOptions): Promise<{ pid: number | undefined }>;32enableInspectPort(id: string): Promise<boolean>;33kill(id: string): Promise<void>;3435}363738