diff --git a/src/vs/workbench/parts/tasks/node/taskConfiguration.ts b/src/vs/workbench/parts/tasks/node/taskConfiguration.ts index e5279fb2a42..2514a6b01d3 100644 --- a/src/vs/workbench/parts/tasks/node/taskConfiguration.ts +++ b/src/vs/workbench/parts/tasks/node/taskConfiguration.ts @@ -637,14 +637,17 @@ namespace ShellConfiguration { export function is(value: any): value is ShellConfiguration { let candidate: ShellConfiguration = value; - return candidate && (Types.isString(candidate.executable) || (candidate.args === void 0 || Types.isStringArray(candidate.args))); + return candidate && (Types.isString(candidate.executable) || Types.isStringArray(candidate.args)); } export function from(this: void, config: ShellConfiguration, context: ParseContext): Tasks.ShellConfiguration { if (!is(config)) { return undefined; } - let result: ShellConfiguration = { executable: config.executable }; + let result: ShellConfiguration = {}; + if (config.executable !== void 0) { + result.executable = config.executable; + } if (config.args !== void 0) { result.args = config.args.slice(); } diff --git a/src/vs/workbench/parts/tasks/test/electron-browser/configuration.test.ts b/src/vs/workbench/parts/tasks/test/electron-browser/configuration.test.ts index 42f7ca9a6eb..5a20b10de7d 100644 --- a/src/vs/workbench/parts/tasks/test/electron-browser/configuration.test.ts +++ b/src/vs/workbench/parts/tasks/test/electron-browser/configuration.test.ts @@ -1324,7 +1324,6 @@ suite('Tasks version 0.1.0', () => { testConfiguration(external, builder); }); - /* test('tasks: with command and args', () => { let external: ExternalTaskRunnerConfiguration = { version: '0.1.0', @@ -1348,7 +1347,6 @@ suite('Tasks version 0.1.0', () => { runtime(Tasks.RuntimeType.Shell).args(['arg']).options({ cwd: 'cwd', env: { env: 'env' } }); testConfiguration(external, builder); }); - */ test('tasks: with command os specific', () => { let name: string = Platform.isWindows ? 'tsc.win' : 'tsc';