提交 3fc422cd 编写于 作者: J Joao Moreno

simplify extension host debug env

上级 ad2b8bcf
......@@ -25,8 +25,7 @@ export interface IEnvironmentService {
extensionDevelopmentPath: string;
extensionTestsPath: string;
debugExtensionHostPort: number;
debugBrkExtensionHost: boolean;
debugExtensionHost: { port: number; break: boolean; };
logExtensionHostCommunication: boolean;
......
......@@ -24,7 +24,6 @@ export class EnvironmentService implements IEnvironmentService {
@memoize
get appRoot(): string { return path.dirname(URI.parse(require.toUrl('')).fsPath); }
get execPath(): string { return this.args.execPath; }
@memoize
......@@ -51,10 +50,8 @@ export class EnvironmentService implements IEnvironmentService {
get disableExtensions(): boolean { return this.args['disable-extensions']; }
@memoize
private get parsedDebugExtensionHost(): { port: number; brk: boolean; } { return parseExtensionHostPort(this.args, this.isBuilt); }
get debugExtensionHost(): { port: number; break: boolean; } { return parseExtensionHostPort(this.args, this.isBuilt); }
get debugExtensionHostPort(): number { return this.parsedDebugExtensionHost.port; }
get debugBrkExtensionHost(): boolean { return this.parsedDebugExtensionHost.brk; }
get isBuilt(): boolean { return !process.env['VSCODE_DEV']; }
get verbose(): boolean { return this.args.verbose; }
get performance(): boolean { return this.args.performance; }
......@@ -63,9 +60,9 @@ export class EnvironmentService implements IEnvironmentService {
constructor(private args: IEnvironment) {}
}
export function parseExtensionHostPort(args: ParsedArgs, isBuild: boolean): { port: number; brk: boolean; } {
export function parseExtensionHostPort(args: ParsedArgs, isBuild: boolean): { port: number; break: boolean; } {
const portStr = args.debugBrkPluginHost || args.debugPluginHost;
const port = Number(portStr) || (!isBuild ? 5870 : null);
const brk = port ? Boolean(!!args.debugBrkPluginHost) : false;
return { port, brk };
return { port, break: brk };
}
\ No newline at end of file
......@@ -113,8 +113,8 @@ class ExtensionHostProcessManager {
// handle extension host lifecycle a bit special when we know we are developing an extension that runs inside
this.isExtensionDevelopmentHost = !!environmentService.extensionDevelopmentPath;
this.isExtensionDevelopmentDebugging = !!environmentService.debugBrkExtensionHost;
this.isExtensionDevelopmentTestFromCli = this.isExtensionDevelopmentHost && !!environmentService.extensionTestsPath && !environmentService.debugBrkExtensionHost;
this.isExtensionDevelopmentDebugging = !!environmentService.debugExtensionHost.break;
this.isExtensionDevelopmentTestFromCli = this.isExtensionDevelopmentHost && !!environmentService.extensionTestsPath && !environmentService.debugExtensionHost.break;
this.unsentMessages = [];
this.extensionHostProcessReady = false;
......@@ -139,7 +139,7 @@ class ExtensionHostProcessManager {
this.initializeExtensionHostProcess = new TPromise<ChildProcess>((c, e) => {
// Resolve additional execution args (e.g. debug)
return this.resolveDebugPort(this.environmentService.debugExtensionHostPort, port => {
return this.resolveDebugPort(this.environmentService.debugExtensionHost.port, port => {
if (port) {
opts.execArgv = ['--nolazy', (this.isExtensionDevelopmentDebugging ? '--debug-brk=' : '--debug=') + port];
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册