如何︰ 存取內建的字型和色彩配置
如需 Visual Studio 2017 的最新文件請參閱 Visual Studio 2017 文件。
Visual Studio 整合式的開發環境 (IDE) 將其 [編輯器] 視窗相關聯字型和色彩的配置。 您可以存取透過此配置IVsTextView介面。
若要使用的內建的字型和色彩配置,VSPackage 必須︰
定義預設字型和色彩服務中使用的分類。
預設字型和色彩伺服器中註冊的類別。
建議您在 IDE 特定時段使用的內建的顯示項目和分類使用
T:Microsoft.VisualStudio.TextManager.Interop.IVsTextEditorPropertyCategoryContainer
和T:Microsoft.VisualStudio.TextManager.Interop.IVsTextEditorPropertyContainer
介面。
IDE 會使用產生的類別目錄為視窗的控制代碼。 類別目錄的名稱會顯示在顯示設定︰下拉式清單方塊中的字型和色彩屬性頁。
若要定義類別,使用內建的字型和色彩
建立任意的 GUID。
此 GUID 用來唯一識別類別**。** IDE 的預設字型和色彩的規格,此類別會重複使用。
注意
字型和色彩以擷取資料時IVsFontAndColorEvents或其他介面,VSPackages 使用此 GUID,以參考內建的資訊。
類別目錄的名稱必須加入 VSPackage 的資源 (.rc) 檔,請在字串資料表,使它可以視需要在 IDE 中顯示當地語系化。
如需詳細資訊,請參閱新增或刪除字串。
若要註冊分類,使用內建的字型和色彩
建構一種特殊類型的類別目錄中的下列位置的登錄項目︰
[HKLM\SOFTWARE\Microsoft \Visual Studio\>\FontAndColors\<>>]
*<>>*這是類別目錄的非當地語系化名稱。
填入登錄,以使用內建的字型和色彩配置具有四個值︰
名稱 類型 資料 說明 分類 REG_SZ GUID 任意的 GUID 識別的類別,其中包含內建的字型和色彩配置。 封裝 REG_SZ GUID {F5E7E71D-1401-11D1-883B-0000F87579D2}
這個 GUID 可供使用的預設字型和色彩設定的所有 Vspackage。NameID REG_DWORD ID 在 VSPackage 中可當地語系化的分類名稱的資源識別碼。 ToolWindowPackage REG_SZ GUID VSPackage 實作的 GUID IVsTextView介面。
若要起始使用系統提供的字型和色彩
建立的執行個體
T:Microsoft.VisualStudio.TextManager.Interop.IVsTextEditorPropertyCategoryContainer
介面視窗的實作和初始化的過程。呼叫GetPropertyCategory方法,以取得執行個體
T:Microsoft.VisualStudio.TextManager.Interop.IVsTextEditorPropertyContainer
介面對應至目前IVsTextView執行個體。呼叫SetProperty兩次。
使用一次呼叫
VSEDITPROPID_ViewGeneral_ColorCategory
做為引數。使用一次呼叫
VSEDITPROPID_ViewGeneral_FontCategory
做為引數。
此設定,並公開為屬性 視窗的預設字型和色彩的服務。
範例
下列範例會起始使用內建的字型和色彩。
CComVariant vt;
CComQIPtr<IVsTextEditorPropertyCategoryContainer> spPropCatContainer(m_spView);
if (spPropCatContainer != NULL){
CComPtr<IVsTextEditorPropertyContainer> spPropContainer;
if (SUCCEEDED(spPropCatContainer->GetPropertyCategory(GUID_EditPropCategory_View_MasterSettings,
&spPropContainer))){
CComVariant vt;CComVariant VariantGUID(bstrGuidText);
spPropContainer->SetProperty(VSEDITPROPID_ViewGeneral_FontCategory, VariantGUID);
spPropContainer->SetProperty(VSEDITPROPID_ViewGeneral_ColorCategory, VariantGUID);
}
}