Microsoft.VisualStudio.Settings Namespace

Classes

CrossProcessMutexFactory
ExternalSettingsManager

An implementation of the SettingsManager class that allows applications to access settings from Visual Studio or an isolated shell, either of which is selected by its AppID.

IdleStateChangedEventArgs

Arguments for a change in the application's idle state.

ListMerger

Handles merging operations for setting collections.

NamedVersionedString

A setting value serialized as a string along with an associated name, version, and machine-local flag.

SerializedSetting
ServiceHubPubSubTopic
ServiceUploadParameters
ServiceUploadResult
SettingNameTooLongException

This exception is thrown from ISettingsManager when attempting to create a setting whose name exceeds the length limit imposed by the roaming settings server (currently 128 characters).

SettingsEventArgs

Event args for a settings event.

SettingsListChangedEventArgs

EventArgs describing a change to an ISettingsList.

SettingsManager

This is the gateway class to reach for the settings stored inside the Visual Studio. It provides two basic functionality. It allows to search for properties and collections inside the scopes. It hands the SettingsStore and WritableSettingsStore classes for further manipulation of the collections and properties within the scopes.

SettingsManagerFactory

A factory class that constructs an ISettingsManager.

SettingsStore

Abstract class for reading/enumerating the selected scope's collections and properties. It is obtained from GetReadOnlySettingsStore(SettingsScope) method.

In the methods of this class if the collection path is provided as the empty string ("") then it denotes the top level collection. If the property name is empty string then it denotes the default property of the collection.

Collections can contain properties and sub-collections. Sub-collections paths are described with the separators like directories in file system. Likewise, separator is '' (back-slash) character. Example of a sub-collection path would be: "Root Collection\Internal Collection\Leaf Collection".

SettingTooLargeException

This exception is thrown (from ISettingsManager, ISettingsList, etc.) when a setting value is given whose serialized representation exceeds the size limit on the roaming settings server (currently 1MB).

StoreLogPropertyDefinition

A non-generic way to refer to a StoreLogPropertyDefinition<T>, and also the place where the well-known properties are defined.

StoreLogPropertyDefinition<T>

A store log property without a value assigned.

StoreLogPropertyInstance

A store log property with a specific value.

StoreLogPropertyInstance<T>

A store log property with a specific value.

StringWithMachineLocalFlag

A setting value serialized as a string along with a flag indicating whether the value contains machine-local content.

VersionedString

A setting value serialized as a string along with an associated version and machine-local flag.

WritableSettingsStore

Abstract class for both reading and writing the selected scope's collections and properties. It is obtained from GetWritableSettingsStore(SettingsScope) method.

This class is derived from the SettingsStore hence it inherits all the functionalities from it. It adds property and collection manipulation abilities on top of it.

Interfaces

IAsyncStringStorage

Stores and retrieves strings. Used as an abstraction over the settings service in the hub and unit-test mocks.

ICrossProcessLockFactory
IInteropLogger
IListMerger

Handles merging operations for setting collections.

IRemoteDefaultsStore
ISettingNameTranslator

Translates between private names and shared names. This allows an application to isolate its settings from other apps by inserting a prefix or suffix.

ISettingsChangeSuppressor

Allows temporary blocking of changes to settings that have been modified since a certain version.

ISettingsList

A collection of settings. The collection is ordered but the server is order-agnostic. Items can be added only at the front but removed from anywhere. The collection is preserved by the server in the order it was created. Keys are treated as case insensitive.

ISettingsManager

Stores and retrieves settings as well as handling synchronization between applications and machines.

ISettingsManager2
ISettingsManager4
ISettingsManagerHost

Functionality provided by the application that creates an ISettingsManager via CreateInstance(ISettingsManagerHost).

ISettingsManagerHost2
ISettingsManagerHost3
ISettingsManagerHost4
ISettingsManagerHost5
ISettingsService

The public API presented by the service module. Implementers should expect a separate instance to be created for (at least) each client or (at most) each client request.

ISettingsSubset

A subset of settings (either a single setting or all settings matching a wildcard pattern) for which one can subscribe to change events.

IStoreUpdateLogger

A logger for settings store update records.

IStoreUpdateLoggerWithAmbientContext

Adds ambient context to an IStoreUpdateLogger. Ambient context is implemented via the SetContext(StoreLogPropertyInstance[]) method, which allows the caller to supply properties which will be set on all events emitted within the current execution context until the returned IDisposable is disposed.

IStringStorage

Stores and retrieves strings. Used as an abstraction over the registry and unit-test mocks.

IStringStorage2

Enums

ApplicationDataFolder

This enumeration is used to specify the folder that Visual Studio uses to keep various files for different purposes like cache files, backup files or template files.

EnclosingScopes

This enumeration is returned as a result of a querying call to GetPropertyScope or GetCollectionScope methods of the SettingsManager class to learn the enclosing scopes of the provided property or collection. This is a flags enumeration meaning that it is possible that more than one enumeration flag could be set for the corresponding scopes.

GetValueResult

The result of an operation to retrieve a value from the settings store.

ServiceUploadResultKind
SettingsEvent

Settings event that may be fired by the settings service.

SettingsListOperation

An operation performed on an ISettingsList.

SettingsScope

This enumeration is used to specify the scope of the settings that is retrieved from the SettingsManager class.

SettingsType

Data types of the properties that are stored inside the collections.

Delegates

AsyncEventHandler

A handler for async events that returns a Task

AsyncLockedStorageCreatorDelegate<T>

A delegate that creates a storage object, used by the constructor of the storage factory.

CharSpanProcessorDelegate

Processes a character span.

CollectionChangedAsyncEventHandler

A handler for changes to an ISettingsList that returns a Task so it can be asynchronous.

LockedStorageCreatorDelegate<T>

A delegate that creates a storage object, used by the constructor of the storage factory.

NonLockedStorageCreatorDelegate<T>

A delegate that creates a storage object, used by the constructor of the storage factory.

PropertyChangedAsyncEventHandler

An event handler similar to PropertyChangedEventHandler that returns a Task so the handler can be asynchronous.

StoreUpdatedEventHandler

A handler for events raised by StoreUpdated that returns a Task so it can be asynchronous.