Class PreferenceProviderAbstract

The PreferenceProvider is used to store and retrieve preference values. A PreferenceProvider does not operate in a global scope but is configured for one or more PreferenceScopes. The (default implementation for the) PreferenceService aggregates all PreferenceProviders and serves as a common facade for manipulating preference values.

Hierarchy (view full)

Implements

Constructors

Properties

_ready: Deferred<void> = ...
deferredChanges: undefined | PreferenceProviderDataChanges
fireDidPreferencesChanged: ((...arguments) => Promise<boolean>) = ...

Type declaration

    • (...arguments): Promise<boolean>
    • Parameters

      • Rest ...arguments: []

      Returns Promise<boolean>

onDidPreferencesChanged: Event<PreferenceProviderDataChanges> = ...
onDidPreferencesChangedEmitter: Emitter<PreferenceProviderDataChanges> = ...
preferenceOverrideService: PreferenceLanguageOverrideService
toDispose: DisposableCollection = ...

Accessors

Methods

  • Retrieve the stored value for the given preference and resource URI.

    Type Parameters

    • T

    Parameters

    • preferenceName: string

      the preference identifier.

    • Optional resourceUri: string

      the uri of the resource for which the preference is stored. This is used to retrieve a potentially different value for the same preference for different resources, for example files.encoding.

    Returns undefined | T

    the value stored for the given preference and resourceUri if it exists, otherwise undefined.

  • Retrieve the configuration URI for the given resource URI.

    Parameters

    • Optional resourceUri: string

      the uri of the resource or undefined.

    • Optional sectionName: string

      the section to return the URI for, e.g. tasks or launch. Defaults to settings.

    Returns undefined | URI

    the corresponding resource URI or undefined if there is no valid URI.

  • Retrieves the first valid configuration URI contained by the given resource.

    Parameters

    • Optional resourceUri: string

      the uri of the container resource or undefined.

    • Optional sectionName: string

    Returns undefined | URI

    the first valid configuration URI contained by the given resource undefined if there is no valid configuration URI at all.

  • Resolve the value for the given preference and resource URI.

    Type Parameters

    • T

    Parameters

    • preferenceName: string

      the preference identifier.

    • Optional resourceUri: string

      the URI of the resource for which this provider should resolve the preference. This is used to retrieve a potentially different value for the same preference for different resources, for example files.encoding.

    Returns PreferenceResolveResult<T>

    an object containing the value stored for the given preference and resourceUri if it exists, otherwise undefined.

  • Stores a new value for the given preference key in the provider.

    Parameters

    • key: string

      the preference key (typically the name).

    • value: any

      the new preference value.

    • Optional resourceUri: string

      the URI of the resource for which the preference is stored.

    Returns Promise<boolean>

    a promise that only resolves if all changes were delivered. If changes were made then implementation must either await on this.emitPreferencesChangedEvent(...) or this.pendingChanges if changes are fired indirectly.