使用VSTA定製二次開發IDE(一)

2022-04-10 01:43:17 字數 1152 閱讀 1521

想在應用程式中整合ide主要的步驟是:

1、定義宿主程式(我們的主應用程式)暴露給外掛程式的物件模型,宿主程式可以是.net應用程式,也可以是基於com的應用程式。這個步驟產生像excel或word的物件模型。

2、為二次開發ide建立vb.net或c#的工程模板,應用程式的終端使用者將使用這些模板建立二次開發用的工程。(目前不清楚vsta是否支援語言擴充套件,如果支援的話,我們就可以定義自己的領域語言-dsl,這樣終端使用者可以使用領域語言進行二次開發了)

3、定義外掛程式的發現和載入機制,使得我們的應用程式可以順利載入終端使用者編寫的外掛程式。

4、把可再次分發的vsta ide合併到我們的應用程式中,使得終端使用者可以在應用程式中啟動ide。

5、製作打包程式,分發應用程式。

為了有乙個直觀的影響,並了解使用vsta的簡單性,下面描述的是最簡化的實現啟動vsta ide的步驟,其中省略了定義物件模型和工程模板等主要步驟,所以這些步驟完成後並不能供使用者二次開發。

1、建立乙個console應用程式,新增引用:

兩個com引用

乙個.net library引用

2、編寫**

新增引用

using vstadteprovider.interop;

using envdte;

新增靜態變數,及啟動**。

private static dte vstadte;

private static void startide()

然後在main函式中呼叫。

3、光有以上步驟還不能執行,需要配置一些額外環境。

開啟登錄檔:regedit

在【hkey_local_machine\software\microsoft\vstahostconfig】新增鍵值

2.0項下新增如圖所示的鍵

其中projecttemplatelocation指向乙個現有的工程模板。

開啟visual studio 2008 命令列視窗,轉到路徑: %programfiles%\microsoft visual studio 9\common7\ide\,執行 【vsta.exe /hostid hello /setup】

4、執行剛才建立的控制台應用程式,效果如下:剛才建立的hostid是hello

後續的文章將會補全建立完整的二次開發ide。

postek二次開發 POSTEK二次開發介面

例項簡介 例項截圖 核心 using system using system.collections.generic using system.componentmodel using system.data using system.drawing using system.text using ...

mcms二次開發 YzmCMS二次開發手冊

摘要 yzmcms是採用mvc設計模式開發,基於模組和操作的方式進行訪問,採用單一入口模式進行專案部署和訪問,無論訪問任何乙個模組或者功能,只有一.yzmcms是採用mvc設計模式開發,基於模組和操作的方式進行訪問,採用單一入口模式進行專案部署和訪問,無論訪問任何乙個模組或者功能,只有乙個統一的入口...

mcms二次開發 YzmCMS二次開發手冊

yzmcms是採用mvc設計模式開發,基於模組和操作的方式進行訪問,採用單一入口模式進行專案部署和訪問,無論訪問任何乙個模組或者功能,只有乙個統一的入口。一 基本目錄結構.根目錄 cache 快取目錄 必須可寫入 common 全站公共目錄 必須可寫入 uploads 預設上傳目錄 必須可寫入 yz...