__UserSettingsFlags Enumeration

Used by the integrated development environment (IDE) to define how imported settings are handled.

This enumeration has a FlagsAttribute attribute that allows a bitwise combination of its member values.

Namespace:  Microsoft.VisualStudio.Shell.Interop
Assembly:  Microsoft.VisualStudio.Shell.Interop.8.0 (in Microsoft.VisualStudio.Shell.Interop.8.0.dll)

Syntax

'Declaration
<FlagsAttribute> _
Public Enumeration __UserSettingsFlags
[FlagsAttribute]
public enum __UserSettingsFlags
[FlagsAttribute]
public enum class __UserSettingsFlags
[<FlagsAttribute>]
type __UserSettingsFlags
public enum __UserSettingsFlags

Members

Member name Description
USF_None Specifies that a VSPackage is free to either reset settings with valid imported values, or to treat settings import as an additive or merge operation.

This decision can be made on a per-feature basis.

USF_ResetOnImport Specifies that a VSPackage should overwrite any existing settings with valid imported settings.
USF_DisableOptimizations Specifies that a VSPackage should disable optimizations.

Remarks

The IDE passes registered implementations of ImportSettings flags constructed from __UserSettingsFlags to communicate user preferences during the Import/Export Settings operations.

For example, consider a setting that is a list. The current setting has the members A, B, and C. The settings to be retrieved contain the values D and E. When ImportSettings is called:

  • If the USF_ResetOnImport is used, the implementation of ImportSettings must overwrite the existing settings with D and E.

  • If the USF_None is used, the implementation of ImportSettings is free to

    1. Overwrite the existing settings with D and E.

    -or-

    1. Merge the imported data with the current data, in this case create a new list containing A, B, C, D, and E.

COM Signature

From vsshell80.idl:

enum __UserSettingsFlags
{
    USF_None                 = 0x00000000,
    USF_ResetOnImport        = 0x00000001,
    USF_DisableOptimizations = 0x00000002
};
typedef DWORD UserSettingsFlags;

See Also

Reference

Microsoft.VisualStudio.Shell.Interop Namespace

ImportSettings

Other Resources

State Persistence and the Visual Studio IDE

Visual Studio Settings