实现自定义的类别和显示项目

VSPackage 中提供其文本的字体和颜色的控件。 Visual Studio 集成开发环境 (IDE)通过自定义类别和显示项目。

自定义类别和显示项。 字体和颜色 属性页。 若要打开 字体和颜色 属性页,在 工具 菜单上,单击 选项。 外接 环境 然后单击 字体和颜色

在使用此结构时, Vspackage 必须实现 IVsFontAndColorDefaultsProvider 接口及其关联的接口。

大体上,此机制可用于修改包含它们的所有现有 显示项目 。 但是,不应使用它来更改 文本编辑器类 或其 显示项目。 有关更多信息,请参见 字体和颜色概述

若要实现自定义 显示项目, VSPackage 必须:

  • 创建或标识在注册表的类别。

    字体和颜色 属性页的 IDE 的实现将使用此信息为支持特定类别的服务正确查询。

  • 创建或标识组 (可选) 注册表中。

    定义组可能很有用,表示两个或多个类别联合。 如果组定义, IDE 在组中自动合并子类别并将显示项目。

  • 实现 IDE 支持。

  • 处理字体和颜色更改。

有关信息,请参见访问存储的字体和颜色设置

创建或标识类别

  • 构造一种特殊类型的类别注册表项下 [HKLM \ \SOFTWARE\Microsoft \Visual StudioVisual Studio version\FontAndColors \<Category>]

    Category 是类的非本地化名称。

  • 填充两个值的注册表:

    名称

    类型

    数据

    说明

    类别

    REG_SZ

    GUID

    创建的 GUID 标识类别。

    Package

    REG_SZ

    GUID

    支持类别 VSPackage 服务的 GUID。

在注册表中指定的服务必须为相应的类提供 IVsFontAndColorDefaults 的实现。

创建或标识组

  • 构造一种特殊类型的类别注册表项下 [HKLM \ \SOFTWARE\Microsoft \Visual StudioVisual Studio version\FontAndColors \group]

    group 是组的非本地化名称。

  • 填充两个值的注册表:

    名称

    类型

    数据

    说明

    类别

    REG_SZ

    GUID

    创建的 GUID 标识组。

    Package

    REG_SZ

    GUID

    支持类别服务的 GUID。

在注册表中指定的服务必须为相应的团队提供 T:Microsoft.VisualStudio.Shell.Interop.IVsFontAndColorGroup 的实现。

若要实现 IDE 支持

  • 实现 GetObject,返回 IVsFontAndColorDefaults 接口或接口 T:Microsoft.VisualStudio.Shell.Interop.IVsFontAndColorGroup 对于每 或所提供的组 GUID 的 IDE。

  • 对于每 它支持, VSPackage 实现 IVsFontAndColorDefaults 接口的实例。

  • 通过 IVsFontAndColorDefaults 执行的方法必须提供 IDE 的:

    • 在列表 **类别。**的 显示项目

    • 可本地化的名称 显示项目

    • 的每个成员显示的信息。

    备注

    必须至少包含一 显示项目

  • IDE 使用 T:Microsoft.VisualStudio.Shell.Interop.IVsFontAndColorGroup 接口定义若干类别联合。

    其实现提供 IDE 的:

    • 包括一组给定 的列表。

    • 对组中的 IVsFontAndColorDefaults 实例的访问权限支持每

    • 可本地化的组名称。

  • 更新 IDE:

    有关 字体和颜色 设置的 IDE 信息缓存。 因此,在 IDE 字体和颜色 配置的所有修改后,确保可行,缓存最新。

更新缓存通过 IVsFontAndColorCacheManager 接口在选定的项执行,并且可以全局执行或。

处理字体和颜色更改

适当地支持 VSPackage 显示的文本着色,支持 VSPackage 的着色服务必须响应通过 字体和颜色 属性页进行的用户启动的更改。 VSPackage 执行此操作:

请参见

任务

如何:访问内置字体和颜色方案

参考

QueryService

IVsFontAndColorDefaults

IVsFontAndColorEvents

IVsFontAndColorStorage

IVsFontAndColorGroup

IVsFontAndColorDefaultsProvider

概念

获取文本着色的字体和颜色信息

访问存储的字体和颜色设置

字体和颜色概述