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

simplify extension host debug env

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