Debounce promise-returning & async functions.
A function that delays calling fn
until after wait
milliseconds have elapsed since the last time it was called.
Resolved when the preference provider is ready to provide preferences It should be resolved by subclasses.
Dispose this object.
Informs the listeners that one or more preferences of this provider are changed. The listeners are able to find what was changed from the emitted event.
Retrieve the stored value for the given preference and resource URI.
the preference identifier.
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
.
the value stored for the given preference and resourceUri if it exists, otherwise undefined
.
Retrieve the configuration URI for the given resource URI.
the uri of the resource or undefined
.
the section to return the URI for, e.g. tasks
or launch
. Defaults to settings.
the corresponding resource URI or undefined
if there is no valid URI.
Retrieves the first valid configuration URI contained by the given resource.
the uri of the container resource or undefined
.
the first valid configuration URI contained by the given resource undefined
if there is no valid configuration URI at all.
Retrieve the domain for this provider.
the domain or undefined
if this provider is suitable for all domains.
Register a new overrideIdentifier. Existing identifiers are not replaced.
Allows overriding existing values while keeping both values in store. For example to store different editor settings, e.g. "[markdown].editor.autoIndent", "[json].editor.autoIndent" and "editor.autoIndent"
the new overrideIdentifier
Resolve the value for the given preference and resource URI.
the preference identifier.
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
.
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.
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.
{@link property} will be assigned to field {@link key} in the schema. Pass a new object to invalidate old schema.
Handles deep equality with the possibility of undefined
The PreferenceSchemaProvider collects all PreferenceContributions and combines the preference schema provided by these contributions into one collective schema. The preferences which are provided by this PreferenceProvider are derived from this combined schema.