From eed12c19a5ece4d7d1d3276eef89e335a3ec1497 Mon Sep 17 00:00:00 2001 From: Rob Lourens Date: Thu, 24 May 2018 21:52:54 -0700 Subject: [PATCH 1/3] EH search - unblock search provider dev --- src/vs/workbench/api/electron-browser/mainThreadSearch.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/vs/workbench/api/electron-browser/mainThreadSearch.ts b/src/vs/workbench/api/electron-browser/mainThreadSearch.ts index 1418afcb795..2fc636b81e1 100644 --- a/src/vs/workbench/api/electron-browser/mainThreadSearch.ts +++ b/src/vs/workbench/api/electron-browser/mainThreadSearch.ts @@ -100,6 +100,9 @@ class RemoteSearchProvider implements ISearchResultProvider { } const folderQueriesForScheme = query.folderQueries.filter(fq => fq.folder.scheme === this._scheme); + if (!folderQueriesForScheme.length) { + return TPromise.wrap(null); + } query = { ...query, From 46c5c742e5b83c03a571c64aa69a01d7164fd5db Mon Sep 17 00:00:00 2001 From: Dirk Baeumer Date: Fri, 25 May 2018 09:38:11 +0200 Subject: [PATCH 2/3] Run a normal shell under Mac. --- .../parts/tasks/electron-browser/terminalTaskSystem.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/vs/workbench/parts/tasks/electron-browser/terminalTaskSystem.ts b/src/vs/workbench/parts/tasks/electron-browser/terminalTaskSystem.ts index 4559dd97252..f0870fb193a 100644 --- a/src/vs/workbench/parts/tasks/electron-browser/terminalTaskSystem.ts +++ b/src/vs/workbench/parts/tasks/electron-browser/terminalTaskSystem.ts @@ -538,6 +538,13 @@ export class TerminalTaskSystem implements ITaskSystem { } } else { if (!shellSpecified) { + // Under Mac remove -l to not start it as a login shell. + if (Platform.isMacintosh) { + let index = shellArgs.indexOf('-l'); + if (index !== -1) { + shellArgs.splice(index, 1); + } + } toAdd.push('-c'); } } From 4e262c2bb3cfa1a277427fff6e010bdf4b5582ae Mon Sep 17 00:00:00 2001 From: Andre Weinand Date: Fri, 25 May 2018 10:37:44 +0200 Subject: [PATCH 3/3] refactor EH setting --- src/vs/workbench/parts/debug/node/debugger.ts | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/src/vs/workbench/parts/debug/node/debugger.ts b/src/vs/workbench/parts/debug/node/debugger.ts index 419ec9d441c..ae115323bec 100644 --- a/src/vs/workbench/parts/debug/node/debugger.ts +++ b/src/vs/workbench/parts/debug/node/debugger.ts @@ -40,8 +40,7 @@ export class Debugger { public createDebugAdapter(root: IWorkspaceFolder, outputService: IOutputService, debugPort?: number): TPromise { return this.getAdapterExecutable(root).then(adapterExecutable => { - const debugConfigs = this.configurationService.getValue('debug'); - if (debugConfigs.extensionHostDebugAdapter) { + if (this.inEH()) { return this.configurationManager.createDebugAdapter(this.type, adapterExecutable, debugPort); } else { if (debugPort) { @@ -81,11 +80,8 @@ export class Debugger { return null; } - // optionally substitute in EH - const inEh = this.configurationService.getValue('debug').extensionHostDebugAdapter; - // now substitute all other variables - return (inEh ? this.configurationManager.substituteVariables(this.type, folder, config) : TPromise.as(config)).then(config => { + return (this.inEH() ? this.configurationManager.substituteVariables(this.type, folder, config) : TPromise.as(config)).then(config => { try { return TPromise.as(DebugAdapter.substituteVariables(folder, config, this.configurationResolverService, commandValueMapping)); } catch (e) { @@ -96,10 +92,13 @@ export class Debugger { } public runInTerminal(args: DebugProtocol.RunInTerminalRequestArguments): TPromise { - const debugConfigs = this.configurationService.getValue('debug'); const config = this.configurationService.getValue('terminal'); - const type = debugConfigs.extensionHostDebugAdapter ? this.type : '*'; - return this.configurationManager.runInTerminal(type, args, config); + return this.configurationManager.runInTerminal(this.inEH() ? this.type : '*', args, config); + } + + private inEH(): boolean { + const debugConfigs = this.configurationService.getValue('debug'); + return debugConfigs.extensionHostDebugAdapter; } public get label(): string {