Options
All
  • Public
  • Public/Protected
  • All
Menu

Class PreferenceSchemaProvider

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.

Hierarchy

Index

Constructors

constructor

Properties

Protected _pendingChanges

_pendingChanges: Promise<boolean>

Protected Readonly _ready

_ready: Deferred<void>

Protected Readonly combinedSchema

combinedSchema: PreferenceDataSchema

Protected Readonly configurations

configurations: PreferenceConfigurations

Protected deferredChanges

deferredChanges: undefined | PreferenceProviderDataChanges

Protected fireDidPreferencesChanged

fireDidPreferencesChanged: () => Promise<boolean>

Type declaration

    • (): Promise<boolean>
    • Returns Promise<boolean>

Protected Readonly folderSchema

folderSchema: PreferenceDataSchema

Readonly onDidPreferenceSchemaChanged

onDidPreferenceSchemaChanged: Event<void>

Protected Readonly onDidPreferenceSchemaChangedEmitter

onDidPreferenceSchemaChangedEmitter: Emitter<void>

Readonly onDidPreferencesChanged

onDidPreferencesChanged: Event<PreferenceProviderDataChanges>

Protected Readonly onDidPreferencesChangedEmitter

onDidPreferencesChangedEmitter: Emitter<PreferenceProviderDataChanges>

Protected Readonly overridePatternProperties

overridePatternProperties: Required<Pick<PreferenceDataProperty, "properties" | "additionalProperties">> & PreferenceDataProperty

Protected overridePatternPropertiesKey

overridePatternPropertiesKey: undefined | string

Protected Readonly preferenceContributions

preferenceContributions: ContributionProvider<PreferenceContribution>

Protected Readonly preferenceOverrideService

preferenceOverrideService: PreferenceLanguageOverrideService

Protected Readonly preferences

preferences: {}

Type declaration

  • [name: string]: any

Protected Readonly toDispose

toDispose: DisposableCollection

Protected Readonly workspaceSchema

workspaceSchema: PreferenceDataSchema

Accessors

pendingChanges

  • get pendingChanges(): Promise<boolean>
  • Returns Promise<boolean>

ready

  • get ready(): Promise<void>
  • Resolved when the preference provider is ready to provide preferences It should be resolved by subclasses.

    Returns Promise<void>

Methods

dispose

  • dispose(): void
  • Returns void

Protected doSetPreferenceValue

Protected doSetSchema

Protected doUnsetSchema

Protected emitPreferencesChangedEvent

Protected fireDidPreferenceSchemaChanged

  • fireDidPreferenceSchemaChanged(): void
  • Returns void

get

  • get<T>(preferenceName: string, resourceUri?: string): undefined | T
  • 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.

getCombinedSchema

  • Returns PreferenceDataSchema

getConfigUri

  • getConfigUri(resourceUri?: string, sectionName?: string): undefined | default
  • 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 | default

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

Protected getConfiguredDefault

  • getConfiguredDefault(preferenceName: string): any
  • Parameters

    • preferenceName: string

    Returns any

Optional getContainingConfigUri

  • getContainingConfigUri(resourceUri?: string, sectionName?: string): undefined | default
  • 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 | default

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

Protected getDefaultValue

  • Parameters

    Returns any

getDomain

  • getDomain(): undefined | string[]
  • Retrieve the domain for this provider.

    Returns undefined | string[]

    the domain or undefined if this provider is suitable for all domains.

getOverridePreferenceNames

  • getOverridePreferenceNames(preferenceName: string): IterableIterator<string>
  • Parameters

    • preferenceName: string

    Returns IterableIterator<string>

Protected getParsedContent

  • getParsedContent(jsonData: any): {}
  • Parameters

    • jsonData: any

    Returns {}

    • [key: string]: any

getPreferenceNames

  • getPreferenceNames(): IterableIterator<string>
  • Returns IterableIterator<string>

getPreferences

  • getPreferences(): {}

getSchema

Protected init

  • init(): void
  • Returns void

isValidInScope

  • Parameters

    Returns boolean

Protected mergePreferenceProviderDataChange

overriddenPreferenceName

  • deprecated

    since 1.13.0 use PreferenceLanguageOverrideService.overriddenPreferenceName

    Parameters

    • name: string

    Returns undefined | OverridePreferenceName

overridePreferenceName

  • deprecated

    since 1.13.0 use PreferenceLanguageOverrideService.overridePreferenceName

    Parameters

    Returns string

Protected readConfiguredPreferences

  • readConfiguredPreferences(): void
  • Returns void

registerOverrideIdentifier

  • registerOverrideIdentifier(overrideIdentifier: string): void
  • 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"

    Parameters

    • overrideIdentifier: string

      the new overrideIdentifier

    Returns void

Protected removePropFromSchemas

  • removePropFromSchemas(key: string): void
  • Parameters

    • key: string

    Returns void

resolve

  • 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.

setPreference

  • setPreference(): Promise<boolean>

setSchema

  • Parameters

    Returns Disposable

testOverrideValue

  • deprecated

    since 1.13.0 use PreferenceLanguageOverrideService.testOverrideValue

    Parameters

    • name: string
    • value: any

    Returns value is PreferenceSchemaProperties

Protected updateOverridePatternPropertiesKey

  • updateOverridePatternPropertiesKey(): void
  • Returns void

Protected updateSchemaProps

  • Parameters

    Returns void

Static deepEqual

  • deepEqual(a: undefined | null | string | number | boolean | JSONObject | JSONArray, b: undefined | null | string | number | boolean | JSONObject | JSONArray): boolean
  • Handles deep equality with the possibility of undefined

    Parameters

    • a: undefined | null | string | number | boolean | JSONObject | JSONArray
    • b: undefined | null | string | number | boolean | JSONObject | JSONArray

    Returns boolean

Static merge

  • merge(source: undefined | null | string | number | boolean | JSONObject | JSONArray, target: JSONValue): JSONValue
  • Parameters

    • source: undefined | null | string | number | boolean | JSONObject | JSONArray
    • target: JSONValue

    Returns JSONValue