File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -264,7 +264,7 @@ namespace TaskSourceDTO {
264264 }
265265 } else if ( value . kind === TaskSourceKind . Workspace ) {
266266 result . extensionId = '$core' ;
267- result . scope = value . config . workspaceFolder . uri ;
267+ result . scope = value . config . workspaceFolder ? value . config . workspaceFolder . uri : TaskScope . Global ;
268268 }
269269 return result ;
270270 }
Original file line number Diff line number Diff line change @@ -983,7 +983,12 @@ export abstract class AbstractTaskService extends Disposable implements ITaskSer
983983 private getResourceForTask ( task : CustomTask ) : URI {
984984 let uri = this . getResourceForKind ( task . _source . kind ) ;
985985 if ( ! uri ) {
986- uri = task . getWorkspaceFolder ( ) . toResource ( task . _source . config . file ) ;
986+ const taskFolder = task . getWorkspaceFolder ( ) ;
987+ if ( taskFolder ) {
988+ uri = taskFolder . toResource ( task . _source . config . file ) ;
989+ } else {
990+ uri = this . workspaceFolders [ 0 ] . uri ;
991+ }
987992 }
988993 return uri ;
989994 }
Original file line number Diff line number Diff line change @@ -462,7 +462,14 @@ export class TerminalTaskSystem implements ITaskSystem {
462462 }
463463
464464 private executeCommand ( task : CustomTask | ContributedTask , trigger : string ) : Promise < ITaskSummary > {
465- const workspaceFolder = this . currentTask . workspaceFolder = task . getWorkspaceFolder ( ) ;
465+ const taskWorkspaceFolder = task . getWorkspaceFolder ( ) ;
466+ let workspaceFolder : IWorkspaceFolder | undefined ;
467+ if ( taskWorkspaceFolder ) {
468+ workspaceFolder = this . currentTask . workspaceFolder = taskWorkspaceFolder ;
469+ } else {
470+ const folders = this . contextService . getWorkspace ( ) . folders ;
471+ workspaceFolder = folders . length > 0 ? folders [ 0 ] : undefined ;
472+ }
466473 const systemInfo : TaskSystemInfo | undefined = this . currentTask . systemInfo = workspaceFolder ? this . taskSystemInfoResolver ( workspaceFolder ) : undefined ;
467474
468475 let variables = new Set < string > ( ) ;
Original file line number Diff line number Diff line change @@ -380,7 +380,7 @@ export namespace TaskSourceKind {
380380}
381381
382382export interface TaskSourceConfigElement {
383- workspaceFolder : IWorkspaceFolder ;
383+ workspaceFolder ? : IWorkspaceFolder ;
384384 workspace ?: IWorkspace ;
385385 file : string ;
386386 index : number ;
@@ -728,7 +728,7 @@ export class CustomTask extends CommonTask {
728728 return JSON . stringify ( key ) ;
729729 }
730730
731- public getWorkspaceFolder ( ) : IWorkspaceFolder {
731+ public getWorkspaceFolder ( ) : IWorkspaceFolder | undefined {
732732 return this . _source . config . workspaceFolder ;
733733 }
734734
You can’t perform that action at this time.
0 commit comments