diff --git a/src/vs/workbench/api/node/extHostTerminalService.ts b/src/vs/workbench/api/node/extHostTerminalService.ts index 9ec81e1aa58..35884b08ba4 100644 --- a/src/vs/workbench/api/node/extHostTerminalService.ts +++ b/src/vs/workbench/api/node/extHostTerminalService.ts @@ -91,7 +91,7 @@ export class ExtHostTerminal extends BaseExtHostTerminal implements vscode.Termi this._idPromise.then(c => { this._proxy.$registerOnDataListener(this._id); }); - return this._onData && this._onData.event; + return this._onData.event; } constructor( @@ -110,7 +110,7 @@ export class ExtHostTerminal extends BaseExtHostTerminal implements vscode.Termi }); } - public create( + public async create( shellPath?: string, shellArgs?: string[] | string, cwd?: string | URI, @@ -118,18 +118,16 @@ export class ExtHostTerminal extends BaseExtHostTerminal implements vscode.Termi waitOnExit?: boolean, strictEnv?: boolean, hideFromUser?: boolean - ): void { - this._proxy.$createTerminal({ name: this._name, shellPath, shellArgs, cwd, env, waitOnExit, strictEnv, hideFromUser }).then(terminal => { - this._name = terminal.name; - this._runQueuedRequests(terminal.id); - }); + ): Promise { + const terminal = await this._proxy.$createTerminal({ name: this._name, shellPath, shellArgs, cwd, env, waitOnExit, strictEnv, hideFromUser }); + this._name = terminal.name; + this._runQueuedRequests(terminal.id); } - public createVirtualProcess(): Promise { - return this._proxy.$createTerminal({ name: this._name, isVirtualProcess: true }).then(terminal => { - this._name = terminal.name; - this._runQueuedRequests(terminal.id); - }); + public async createVirtualProcess(): Promise { + const terminal = await this._proxy.$createTerminal({ name: this._name, isVirtualProcess: true }); + this._name = terminal.name; + this._runQueuedRequests(terminal.id); } public get name(): string {