Class TaskConfigurations

Watches a tasks.json configuration file and provides a parsed version of the contained task configurations

Implements

  • Disposable

Constructors

Properties

client: undefined | TaskConfigurationClient = undefined
providedTaskConfigurations: ProvidedTaskConfigurations
rawTaskConfigurations: Map<string, TaskCustomization[]> = ...

Map of source (path of root folder that the task configs come from) and raw task configurations / customizations. This map is used to store the data from tasks.json files in workspace.

taskConfigurationManager: TaskConfigurationManager
taskCustomizationMap: Map<string, TaskCustomization[]> = ...

Map of source (path of root folder that the task configs come from) and task customizations map.

taskDefinitionRegistry: TaskDefinitionRegistry
taskSchemaUpdater: TaskSchemaUpdater
taskSourceResolver: TaskSourceResolver
tasksMap: Map<string, Map<string, TaskConfiguration>> = ...

Map of source (path of root folder that the task configs come from) and task config map. For the inner map (i.e., task config map), the key is task label and value TaskConfiguration

toDispose: DisposableCollection = ...
workspaceService: WorkspaceService

Methods

  • Returns the customization object in tasks.json for the given task. Please note, this function returns undefined if the given task is not a detected task, because configured tasks don't need customization objects - users can modify its config directly in tasks.json.

    Parameters

    • taskConfig: TaskConfiguration

      The task config, which could either be a configured task or a detected task.

    Returns undefined | TaskCustomization

  • This function is called after a change in TaskDefinitionRegistry happens. It checks all tasks that have been loaded, and re-organized them in tasksMap and taskCustomizationMap.

    Returns void

  • Updates the task config in the tasks.json. The task config, together with updates, will be written into the tasks.json if it is not found in the file.

    Parameters

    • token: number
    • task: TaskConfiguration

      task that the updates will be applied to

    • update: {
          [name: string]: any;
      }

      the updates to be applied

      • [name: string]: any

    Returns Promise<void>