共用方式為


存取預存的字型和色彩設定

 

如需 Visual Studio 2017 的最新文件請參閱 Visual Studio 2017 文件

Visual Studio 整合式的開發環境 (IDE) 會儲存已修改的設定字型和色彩在登錄中。 您可以使用 IVsFontAndColorStorage 介面來存取這些設定。

若要起始狀態持續性的字型和色彩

字型和色彩資訊會儲存在下列登錄位置中的類別目錄: [HKCU\SOFTWARE\Microsoft \Visual Studio\< Visual Studio 版本>\FontAndColors\< CategoryGUID>],其中 < CategoryGUID> 是類別的 GUID。

因此,若要啟動持續性,VSPackage 必須︰

  • 取得 IVsFontAndColorStorage 介面呼叫 QueryService 對全域服務提供者。

    QueryService 必須使用的服務識別碼引數呼叫 SID_SVsFontAndColorStorage 的介面識別碼引數和 IID_IVsFontAndColorStorage

  • 使用 OpenCategory 方法來開啟類別,以保存使用類別的 GUID 和模式的旗標做為引數。

    以指定的模式 fFlags 引數,會建構中的值從 __FCSTORAGEFLAGS 列舉型別。 這個模式控制︰

    • 設定存取可以透過 IVsFontAndColorStorage 介面。

    • 所有的設定或只包括使用者修改,且皆可透過擷取 IVsFontAndColorStorage 介面。

    • 使用者設定的變更將傳播方式。

    • 所使用的色彩值的格式。

若要使用的字型和色彩的狀態持續性

保存的字型和色彩牽涉到︰

  • IDE 設定同步處理與儲存在登錄中的設定。

  • 傳播登錄修改資訊。

  • 設定和擷取儲存在登錄中的設定。

IDE 設定與同步處理儲存體設定是大致上。 基礎的 IDE 會自動寫入的更新的設定 顯示項目 到類別的登錄項目。

如果多個 VSPackages 共用特定分類,VSPackage 應要求會產生事件時的方法 IVsFontAndColorStorage 介面用來修改預存的登錄設定。

根據預設,不會啟用事件產生。 若要啟用產生事件,類別也必須開啟使用 FCSF_PROPAGATECHANGES。 這會導致在呼叫適當的 IDE IVsFontAndColorEvents VSPackage 實作的方法。

注意

透過修改 字型和色彩 屬性頁產生事件的獨立 IVsFontAndColorStorage。 您可以使用 IVsFontAndColorCacheManager 介面,以判斷是否需要更新的快取的字型和色彩設定之前呼叫的方法 IVsFontAndColorStorage 類別。

儲存和擷取資訊

若要取得或設定,使用者才能修改具名的顯示中的項目,開啟類別目錄的資訊,呼叫 VSPackages GetItemSetItem 方法。

字型的相關資訊的屬性取得特定的類別使用 GetFontSetFont 方法。

注意

fFlags 引數傳遞至 OpenCategory 開啟該類別的方法定義的行為 GetItemGetFont 方法。 根據預設,這些方法只傳回資訊 aboutdisplay itemsthat 已經變更。 不過,如果類別已被使用 FCSF_LOADDEFAULTS 旗標,同時更新,然後變更的顯示的項目可以存取 GetItemGetFont

根據預設,只有變更 顯示項目 資訊會儲存在登錄中。 IVsFontAndColorStorage 介面不能用來擷取所有設定的字型和色彩。

注意

GetItemGetFont 方法會傳回未變更的相關 REGDB_E_KEYMISSING,當您使用它們來擷取資訊 (0x80040152L) 顯示項目

所有的設定 顯示項目 特別 類別 可使用的方法取得 T:Microsoft.VisualStudio.Shell.Interop.IVsFontAndColorDefaults 介面。

請參閱

IVsFontAndColorStorage
__FCSTORAGEFLAGS
實作自訂分類和顯示項目