變更檢視設定,以使用舊版 API
藉由使用者可以變更核心編輯器功能,例如自動換行、 選取範圍邊界和虛擬空間中,設定選項對話方塊。 不過,它也可變更這些設定以程式設計的方式。
變更設定,以使用舊版 API
IVsTextEditorPropertyCategoryContainer介面公開 (expose) 的文字編輯器的屬性集。 文字檢視會包含某類屬性 (GUID_EditPropCategory_View_MasterSettings),表示文字檢視以程式設計方式變更設定的群組。 一旦檢視設定已經變更,如此一來,就無法變更在選項直到重設] 對話方塊。
以下是典型的程序來變更執行個體的核心編輯器的檢視設定。
呼叫QueryInterface上 (VsTextView) 的IVsTextEditorPropertyCategoryContainer介面。
呼叫GetPropertyCategory方法,指定值為 GUID_EditPropCategory_View_MasterSettings 的rguidCategory參數。
如此一來傳回變數的指標, IVsTextEditorPropertyCategoryContainer介面,其中包含一組強制屬性的檢視。 永遠強制這個群組中的任何設定。 如果設定值不是這個群組中,則它會遵循中所指定的選項選項對話方塊或使用者的命令。
呼叫SetProperty方法,指定適當的設定值,在idprop參數。
例如,若要強制換行,呼叫SetProperty ,並指定其值為 VSEDITPROPID_ViewLangOpt_WordWrap, vt的idprop參數。 在此呼叫時, vt是一的型別 VT_BOOL 和vt.boolVal是 VARIANT_TRUE。
重設已變更的檢視設定
若要重設任何已變更的檢視設定核心編輯器執行個體,呼叫RemoveProperty方法,並指定適當的設定值,在idprop參數。
比方說,若要允許自由浮動文字換行功能,您必須移除它從 [屬性] 類別藉由呼叫RemoveProperty ,並指定值為 VSEDITPROPID_ViewLangOpt_WordWrap 的idprop參數。
若要一次移除核心編輯器的所有變更過的值,指定值為 VSEDITPROPID_ViewComposite_AllCodeWindowDefaults,為 vt idprop參數。 在這個呼叫,vt 是類型 VT_BOOL 的 VARIANT,vt.boolVal 是 VARIANT_TRUE。