執行個體化使用舊版 API 的核心編輯器
在編輯器] 會負責文字編輯功能,例如插入、 刪除、 複製及貼上項目。 它會將這些函式結合與所提供的語言服務,例如文字色彩、 縮排] 和 IntelliSense 陳述式完成。
您可以具現化該核心編輯器執行個體中有三種:
明確地建立執行個體的核心編輯器視窗中。
提供編輯器處理站,它會傳回執行個體的核心編輯器
從 [專案階層架構中開啟檔案。
下列章節將討論如何使用舊版 API 來執行個體化的編輯器。
明確開啟核心編輯器執行個體
當明確取得的核心編輯器執行個體:
取得IVsTextBuffer來容納要編輯的文件資料物件。
建立的文件的資料物件導向的線條表示藉由建立IVsTextLines介面從IVsTextBuffer介面。
設定IVsTextLines做為文件資料物件的預設實作的執行個體IVsCodeWindow介面,使用SetBuffer方法。
主應用程式IVsCodeWindow執行個體在IVsWindowFrame介面,藉由使用CreateToolWindow方法。
在這個時候,顯示IVsWindowFrame介面會提供包含核心編輯器的執行個體的視窗。
不過,這不是很有幫助的執行個體,因為它沒有快速鍵,或存取進階的功能。 若要取得快速鍵和進階的功能的存取權:
使用SetLanguageServiceID相關聯的語言服務以及編輯器] 中使用的文件資料物件的方法。
建立您自己的快速鍵,或是使用系統預設值,藉由設定IVsWindowFrame物件顯示屬性。 若要執行這項操作,呼叫SetGuidProperty方法以VSFPROPID_InheritKeyBindings屬性。
若要取得及使用非標準的快速鍵,產生使用.vsct 檔案。 如需詳細資訊,請參閱 Visual Studio 命令表裡 (。Vsct) 檔案。
如何取得核心編輯器中使用編輯器工廠
當實作核心編輯器編輯器工廠使用CreateEditorInstance方法,依照明確架設前一節所述的步驟執行IVsCodeWindow使用IVsTextBuffer文件資料物件時,在IVsWindowFrame物件。
若要顯示的文字,請取得IVsTextView介面從IVsCodeWindow物件和呼叫CreateEditorInstance方法。
若要加入編輯器提供語言服務,呼叫SetLanguageServiceID中的方法CreateEditorInstance方法。
若要取得預設的快速鍵,不同於前一節中,您可以使用指令內容所傳回的CreateEditorInstance方法,取得從核心編輯器時CreateEditorInstance方法。
如果CreateEditorInstance方法會傳回相同的命令 GUID 做為文字編輯器、 核心編輯器的執行個體自動取得預設的快速鍵。
如需一般資訊,請參閱How to: Register an Editor Factory Using MPF Class Attributes和逐步解說: 建立核心編輯器和登錄編輯器 」 的檔案類型。