如何: 開啟標準編輯器
當您開啟標準的編輯器時,讓 IDE 判斷指定的檔案類型,而非指定檔案的專案專用編輯器之標準編輯器而定。
完成下列程序來實作OpenItem方法。 這會在標準的編輯器中開啟專案檔。
若要實作的 OpenItem 方法,使用標準編輯器
呼叫IVsRunningDocumentTable (RDT_EditLock) 來判斷是否已開啟文件資料的目的檔。
如果檔案已經開啟,resurface 檔案,藉由呼叫IsDocumentOpen方法,指定值為IDO_ActivateIfOpen的grfIDO參數。
如果檔案已開啟,而且由不同的專案,而非呼叫的專案所擁有的文件時,您的專案就會收到正在開啟的編輯器是從另一個專案的警告。 然後呈現檔案] 視窗中的色彩。
如果未開啟的文件,則或是不在執行的文件表格中,呼叫OpenStandardEditor方法 (OSE_ChooseBestStdEditor) 檔案的標準編輯器開啟。
當您呼叫方法時,IDE 會執行下列工作:
IDE 會掃描編輯器 / {guidEditorType} / 登錄,以判斷哪一個編輯器中的擴充程式子機碼可以開啟檔案,並具有最高的優先權,執行此動作。
IDE 已經判定哪一個編輯器可以開啟檔案後,IDE 便會呼叫CreateEditorInstance。 編輯器的實作這個方法會傳回資訊所需的呼叫 IDE CreateDocumentWindow和網站的新開啟的文件。
最後,IDE 載入文件使用一般的持續性介面,例如IVsPersistDocData2。
如果 IDE 之前發現就能使用的階層架構或階層項目,IDE 便會呼叫GetItemContext上的專案,以取得專案層級內容的方法IServiceProvider指標傳遞的CreateDocumentWindow方法呼叫。
傳回IServiceProvider指標到 IDE 時 IDE 會呼叫GetItemContext您的專案,如果您想要讓編輯器取得內容,從您的專案。
執行這個步驟可讓專案提供額外的服務至編輯器。
如果文件檢視] 或 [文件檢視物件已成功地設置在視窗框架中,在物件初始化其資料與藉由呼叫LoadDocData。