建立 一個Visual Studio Addin

來源:互聯網
上載者:User

下面按照將Addin的安裝後存放的位置的不同分兩種情況:

  1. 將建立的Addin存放在My Documents\Visual Studio 2008\Addins目錄下。
  2. 將建立的Addin存放在自訂的檔案夾中。

首先建立一個Addin項目,取名為Addin1:


OK後,會出來一個嚮導,例如為這個Addin命名和加一個描述等。接下來的畫面中描述Addin不同的載入方式,例如選擇第一個,


然後next下去,就完成了這個Addin的建立了。

這時我們看見有個Connect.cs檔案,我們要添加的邏輯就要加在這個檔案了。找到OnConnection方法的這句:

//Add a command to the Commands collection:

Command command = commands.AddNamedCommand2(_addInInstance, "Addin1", "Addin1", "Executes the command for Addin1", true, 59, ref contextGUIDS, (int)vsCommandStatus.vsCommandStatusSupported+(int)vsCommandStatus.vsCommandStatusEnabled, (int)vsCommandStyle.vsCommandStylePictAndText, vsCommandControlType.vsCommandControlTypeButton);

注意參數59是指向了系統定義的一個預設的addin的笑臉表徵圖。

這裡的第二和第三個參數分別是這個Addin的名稱和將要顯示在Tools菜單的內容了,我們把它改成我們想要的,例如名稱變成TestAddin1,菜單內容也變成TestAddin1,即更改成:

Command command = commands.AddNamedCommand2(_addInInstance, "TestAddin1", "TestAddin1", "Executes the command…

然後找到Exec方法,在這裡面加入要執行的邏輯了,例如把以下的這段代碼

                if(commandName == "Addin1.Connect.Addin1")

                {

                    handled = true;

                    return;

                }

改成:

                if(commandName == "Addin1.Connect.TestAddin1")

                {


TextSelection selectedText = _applicationObject.ActiveDocument.Selection as
TextSelection;

selectedText.Text = "this is a Addin Test";

                    handled = true;

                    return;

                }

這個Addin完成的操作是插入上面的一個字串。

我們注意產生的solution如下:


注意這裡有兩個.AddIn檔案,其中For Testing.AddIn的路徑是\My Documents\Visual Studio 2008\Addins\Addin1 - For Testing.AddIn,這是Visual Studio自動產生的一個調試這個Addin的設定檔,並把它放在這個特殊的檔案夾下,因為Visual Studio會自動的載入這個檔案夾下的所有Addins,並且該檔案有這樣的一個配置資訊:

<Assembly>C:\Documents and Settings\xiongy.CORP\My Documents\Visual Studio 2008\Projects\Addin1\Addin1\bin\Addin1.dll</Assembly>

(注意預設的該編譯後的dll的名稱是Project.dll,這裡把它改成Addin1.dll)

所以就會調用這個外掛程式的dll了。由於這個檔案是用來測試的,所以在實際的setup外掛程式的時候,我們刪除For Testing.AddIn,留住Addin1.AddIn。

接下來為這個Addin添加一個安裝項目,以便它能夠被很方便的安裝到別人的電腦中,為這個安裝項目取名為Addin1Setup,右鍵該安裝項目,選擇View\File System,這裡要做的是選擇安裝檔案存放的位置,我們選擇Application Folder,按F4查看屬性,


這裡的DefaultLocation就指定了安裝檔案的存放路徑了,下面按本文開頭的兩種方式來講述。

  1. 將建立的Addin存放在My Documents\Visual Studio 2008\Addins目錄下。

    首先將DefaultLocation改為[PersonalFolder]\Visual Studio 2008\Addins。由於My Documents\Visual Studio 2008\Addins是一個大的目錄,裡面可能存放很多的Addin,為了使多個Addin間目錄結構清晰,我們在Application Folder下面建立一個子檔案夾,取名為Addin1,然後右擊Addin1,先添加Project Output(在彈出的選項中選擇Primary Output),再選擇添加File(在彈出的對話方塊中選擇Addin1項目中的Addin1.AddIn檔案):


    執行後的結果是:


     

    然後編譯安裝項目,運行debug目錄下的setup.exe就把這個Addin安裝到了指定目錄下了:


    注意是在Addin1子檔案夾下。

     

    然後在我們建立的Visual Studio工程裡就可以用了。

    注意下面的Addin Manager,在上面的操作完成以後,是不需要對下面的對話方塊操作的,就會發現建立的Addin已經出現在Tools菜單裡了。

     

    如果對下面的Checkbox進行了選擇,例如第一列打勾,則表示立即load這個Addin,第二列表示在啟動的時候load等等,這樣Tools菜單裡就不出現那個addin的子功能表了。


     

  2. 不更改DefaultLocation,就會自動的安裝到\Program files\company name\product name目錄下面,

    由於這個Addin目錄不是Visual Studio所預設知道的,所以要把它加入到Tools\Options裡面Addin的路徑配置中就可以了。

 

 

 

 


 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.