IConfigureToolboxItem 接口
可以通过添加其他数据动态配置 ToolboxItem 对象添加到工具箱项的特性字典。此数据然后序列化为工具箱项的一个永久部分。
命名空间: Microsoft.VisualStudio.Shell
程序集: Microsoft.VisualStudio.Shell.11.0(在 Microsoft.VisualStudio.Shell.11.0.dll 中)
语法
声明
Public Interface IConfigureToolboxItem
public interface IConfigureToolboxItem
IConfigureToolboxItem 类型公开以下成员。
方法
名称 | 说明 | |
---|---|---|
![]() |
ConfigureToolboxItem | 调用由工具箱服务配置 ToolboxItem 对象。 |
页首
备注
此接口。 Package不从派生的所有可创建的对象中实现。,在一个新的工具箱项首次添加到工具箱中,工具箱服务将调用 ConfigureToolboxItem 方法。
必须注册此接口的实现。该注册包括以下步骤:
注册特定 VSPackage 为提供工具箱项配置。
在托管包框架下,此注册一个由 ProvideToolboxItemConfigurationAttribute完成。
在下面的示例显示了如何 VSPackage MyPackage 注册 ToolboxConfig 类作为 IConfigureToolboxItem的实现:
[ProvideToolboxItemConfigurationAttribute(typeof(ToolboxConfig))] [GuidAttribute("XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX")] public class MyPackage : MSVSIP.Package {…}
签入所有 ToolboxItem 对象的动态配置通过指定程序集的。
在托管包框架下, ToolboxItem 对象由 IConfigureToolboxItem 的实现过程的程序集通过应用 ProvideAssemblyFilterAttribute 指定于 IConfigureToolboxItem的实现。
在为提供配置的 ToolboxConfig 类为中的所有程序集的所有 ToolboxItem 对象支持具有 Vsip 命名空间注册下面的示例。
[ProvideAssemblyFilterAttribute("Vsip.*, Version=*, Culture=*, PublicKeyToken=*")] public sealed class ToolboxConfig : IConfigureToolboxItem {…}
![]() |
---|
此特性用于完整的程序集标识,包括简单名称,版本号,加密密钥对和支持的区域性。有关程序集标识的更多信息,请参见 AssemblyName。“*”规范中的字符被接受的通配符。 |
注册 IConfigureToolboxItem 的实现作为 VSPackage 的一部分的修改注册表设置在 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\<Version>\ToolboxItemConfiguration 和 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\<Version>\CLSID下, Version 是 Visual Studio的版本,如 8.0。
![]() |
---|
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\<Version> 根路径可以重写与替换根,当 Visual Studio shell 初始化时,或与 DefaultRegistryRootAttribute。有关替换根路径的更多信息,请参见 命令行开关 (Visual Studio SDK) 和 DefaultRegistryRootAttribute。 |
有关这些注册表项的内容的更多信息,请参见 注册工具箱支持功能。
对实现者的说明
实现此接口,则需要动态时修改 工具箱 控件的特征,例如响应是否存在某些功能或对象。
,仅当 工具箱 初始化时,此接口的方法调用。
Visual Studio 环境可能需要随时创建 IConfigureToolboxItem 的实现的新实例。请确保:
总是实现 IConfigureToolboxItem 为公共类。
不要实现在实现 Package 或 IVsPackage类的 IConfigureToolboxItem 。
请参见
参考
Microsoft.VisualStudio.Shell 命名空间
ProvideAssemblyFilterAttribute