Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/src/vs/platform/extensions/common/extensionHostStarter.ts
3296 views
1
/*---------------------------------------------------------------------------------------------
2
* Copyright (c) Microsoft Corporation. All rights reserved.
3
* Licensed under the MIT License. See License.txt in the project root for license information.
4
*--------------------------------------------------------------------------------------------*/
5
6
import { Event } from '../../../base/common/event.js';
7
import { createDecorator } from '../../instantiation/common/instantiation.js';
8
9
export const IExtensionHostStarter = createDecorator<IExtensionHostStarter>('extensionHostStarter');
10
11
export const ipcExtensionHostStarterChannelName = 'extensionHostStarter';
12
13
export interface IExtensionHostProcessOptions {
14
responseWindowId: number;
15
responseChannel: string;
16
responseNonce: string;
17
env: { [key: string]: string | undefined };
18
detached: boolean;
19
execArgv: string[] | undefined;
20
silent: boolean;
21
}
22
23
export interface IExtensionHostStarter {
24
readonly _serviceBrand: undefined;
25
26
onDynamicStdout(id: string): Event<string>;
27
onDynamicStderr(id: string): Event<string>;
28
onDynamicMessage(id: string): Event<any>;
29
onDynamicExit(id: string): Event<{ code: number; signal: string }>;
30
31
createExtensionHost(): Promise<{ id: string }>;
32
start(id: string, opts: IExtensionHostProcessOptions): Promise<{ pid: number | undefined }>;
33
enableInspectPort(id: string): Promise<boolean>;
34
kill(id: string): Promise<void>;
35
36
}
37
38