VSPackage 可以定义一个或多个设置类别,为状态变量组仍然存在,当用户在 工具 菜单的 导入/导出设置 命令。 若要启用此持久性,则在 Visual Studio SDK使用一组 API。
称为的注册表项自定义下落点,并且 GUID 定义 VSPackage 的设置类别。 VSPackage 可以支持多个设置类,每个定义由自定义下落点。
根据互操作程序集的实现 (使用 IVsUserSettings 接口) 应创建自定义通过编辑注册表或使用注册器脚本下落点 (.rgs 文件)。 有关更多信息,请参见 Creating Registrar Scripts。
代码使用托管包结构 (MPF)应创建自定义通过附加 ProvideProfileAttribute 设置指向每 VSPackage 自定义下落点。
如果单个 VSPackage 支持多个自定义下落点,每个自定义 Point 由单独的类实现,因此,每个由 ProvideProfileAttribute 类的单个实例注册。 因此,实现类设置中支持多个设置类别。
自定义下落点注册表项详细信息
自定义 Points 在注册表项中创建在以下位置:\Software\Microsoft\VisualStudio HKLM \Version\UserSettings \<CSPName>, <CSPName> 是自定义的名称下落点 VSPackage 支持,并且 Version 是 Visual Studio,如 8.0 的版本。
备注
,当 Visual Studio 集成开发环境 (ide) 初始化时, \SOFTWARE\Microsoft\VisualStudio HKEY_LOCAL_MACHINE \Version 根路径可以重写与 (IDE)替换根。有关更多信息,请参见 命令行开关 (Visual Studio SDK)。
注册表项的结构如下声明:
\Software\Microsoft\VisualStudio HKLM \Version\UserSettings \
<CSPNameAMP_GT= s “#12345'
包 = “{}”
类别 = “{YYYYYY YYYY YYYY YYYY YYYYYYYYY}”
ResourcePackage = “{ZZZZZZ ZZZZ ZZZZ ZZZZ ZZZZZZZZZ}”
AlternateParent = CategoryName
名称 |
类型 |
数据 |
说明 |
---|---|---|---|
(默认值) |
REG_SZ |
自定义的名称下落点 |
名称, <CSPNameAMP_GT,是自定义的未本地化的名称下落点。 对于基于 MPF 的实现,名称将 ProvideProfileAttribute 构造函数的 categoryName 和 objectName 参数获取到 categoryName_objectName。 这些项可以为 null,也可以包含引用 ID 为本地化的字符串在附属 DLL。 此值从 objectNameResourceID 参数获取到 ProvideProfileAttribute 构造函数。 |
Package |
REG_SZ |
GUID |
实现 VSPackage 的 GUID 自定义下落点。 根据 MPF 的实现使用 ProvideProfileAttribute 类别,使用包含 VSPackage 的 Type 和镜像的构造函数的 objectType 参数获取此值。 |
类别 |
REG_SZ |
GUID |
标识设置类别的 GUID。 根据互操作程序集的实现,此值可以是一个随机选择的 GUID, Visual Studio IDE 传递给 ExportSettings 和 ImportSettings 方法。 这两种方法的所有实现应验证其 GUID 参数。 对于基于 MPF 的实现,此 GUID 由实现 Visual Studio 设置 framework 类的 Type 获取。 |
ResourcePackage |
REG_SZ |
GUID |
可选。 包含本地化的字符串的附属 DLL 的路径,如果实现的 VSPackage 不提供它们。 MPF 使用反射获取正确的资源 VSPackage,因此, ProvideProfileAttribute 类未设置此参数。 |
AlternateParent |
REG_SZ |
文件夹的名称在 " 工具选项 " 页包含的下自定义下落点。 |
可选。 必须设置此值,仅当设置为实现支持在 Visual Studio SDK 使用持久性 framework 而不是自动化模型的结构保存状态的 工具选项 页。 有关更多信息,请参见 注册自定义选项卡页。 在这些情况下,在 AlternateParent 键的值会用于 topic.sub-topic 字符串的 topic 节列出了特定 工具选项 页。 例如,对于此类情况, 工具选项 页 "TextEditor.Basic" AlternateParent 的值是"TextEditor"。 当 ProvideProfileAttribute 生成时自定义下落点,它是不同于类名称。 |