IWorkspaceSettingsManager Interface
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Per workspace object that is responsible for facilitating the reading and writing the workspace settings as well as corresponding notifications. Retrieved by "Workspace.SettingsManager".
public interface class IWorkspaceSettingsManager
public interface class IWorkspaceSettingsManager
__interface IWorkspaceSettingsManager
public interface IWorkspaceSettingsManager
type IWorkspaceSettingsManager = interface
Public Interface IWorkspaceSettingsManager
Properties
OnWorkspaceSettingsChanged |
Event fire when a setting source (a file or in memory provider) changes. Listeners would need to reacquire (via GetAggregatedSettingsAsync) a new settings collection if they need to reflect the settings changes. The SettingsChangedEventArgs parameter can be used to narrow down the changes to a particular settings type and scopePath. |
Methods
GetAggregatedSettings(String, String) |
the settings reader (note that when reading the settings hierarchy is already applied, the consumer should not differentiate between where property is defined on use). The object returned by this property is immutable. when changes happen a new object will be create (and OnWorkspaceSettingsChanged fired). will apply build in inheritance override rules(aka PerUser > PerWorkspace > PerMachine) and return the winning value for a named property, array or child settings |
GetPersistanceAsync(Boolean) |
Access the settings writer. All changes made are in memory until the writer is released. note we will not lock any of the settings files until commit. Also we are not going to lock the writer within the process. the individual actions (like individual property writes) will be protected. We would ensure a machine-wise locking via named event, which will protect against multiple VS instance writing at the same time, yet it would be possible if via other editor (notepad) or when settings file is shared on network, to have a conflicting writes. in this rare case commit may still fail. |
GetSettings(String) |
"Parse" a single settings file. |