在Visual Studio.NET中使用自訂外掛程式最大化您的生產力(一)
最後更新:2017-02-28
來源:互聯網
上載者:User
visual|最大化 這篇文章假設您已經熟悉C#, Visual Basic .NET和CLR
難度程度 1 2 3
摘要
對於開發人員來說,不管多麼強大的整合式開發環境(IDE)都需要具有自訂外掛程式的功能。基於這個原因,Visual Studio. NET IDE提供了一個可擴充的、添加方便的而且還沒有數量限制的自訂外掛程式功能。這個自訂外掛程式可以用Visual Basic、C、C#或則其它的.NET的使用的語言來編寫。這篇文章解釋了如何在Visual Studio. NET中增加一個自訂外掛程式的例子。這個例子將示範如何通過自訂外掛程式完成一個自訂的文本編輯功能,其中實現了兩個功能,一個是在文本中簡單的插入當前的日期,另一個是更加複雜的功能是實現重新格式化一段文本。最後您將學習如何在選項對話方塊中增加一個頁。
如果您開始使用Microsoft Visual Studio .NET你應該知道他充滿了新特徵和技術。雖然,你肯能認為整合式開發環境(IDE)是一個編寫代碼的簡單的文字編輯器,它已經非常強大了。它提供的架構支援開發工具的插入而且是單一的無縫的可開發的。當然,IDE並不能滿足所有的人,你或則我所要的功能可能並沒有在這裡。幸運的是IDE已經提供了可擴充的功能,它允許您擴充你所需要的任何東西。
開始
外掛程式和宏是擴充IDE的兩種方法。宏是可以被記錄的和被立即執行的。因此,這是一種探索物件模型的強大的方法。宏使用一個以 .vsmacros 檔案的形式來分布,通過雙擊這個檔案來載入到宏編輯器中。宏在載入可用之後,宏就可以被使用者非常容易的修改。
另一方面,外掛程式是編譯的而且在分布之後就不能被修改。這樣保護了你的知識財產。通過外掛程式,你可以建立工具視窗這些操作對於Visual Studio.NET就像操作本地的功能一樣。外掛程式可以動態改變菜單、工具條事件的狀態和在協助對話方塊中增加資訊。外掛程式是通過微軟的安裝檔案(.MSI)來進行部署的,它可以輕易的安裝和通過控制台中的添加/刪除程式對話方塊進行卸載。
建立一個外掛程式的步驟在Visual Studio.NET的線上協助中已經隱藏起來,同樣也在Visual Studio.NET Automation Examples Web site中被隱藏了。我在這裡不想介紹每一個的具體過程,但是可以回顧一下我建立一個外掛程式所選擇的過程。
建立一個外掛程式首先要建立一個項目,在建立項目(New Projects)對話方塊其他項目(Other Projects)下面,你會發現擴充性項目(Extensibility Projects)。選擇Visual Studio.NET增益集(Visual Studio.NET Add-in)。圖一顯示了在一個點上的建立工程對話方塊。點擊確定按鈕開始嚮導。
圖1建立一個新工程
對於我的外掛程式,嚮導中的前三步都比較容易。第一步,我選擇了C#語言作為外掛程式的開發語言。第二步,我選擇了Microsoft Visual Studio.NET作為外掛程式的主機(host)。在您的外掛程式中你當然可以包括VSMacros IDE。第三步,外掛程式命名為“Text Editing Utilites”,並給出了適當的描述。
圖2
在嚮導中的第四步,如圖2所示,需要一些操作。
l 選擇“是的,建立工具功能表項目”。
l 確定“我的增益集不提供……”沒被選中。這個例子中我沒有準備提供一個模式使用者介面,但是如果你真的想更多的擴充你的外掛程式功能,你可以選擇此項。
l 確定“我希望我的增益集在宿主程式啟動時載入”沒被選中。這樣可以使調試是容易一些。外掛程式的使用者可以在以後的外掛程式管理的操作中改變此選項。
l 我選擇了“我的增益集不僅僅……”選項。在我的電腦中我是真正的使用者,同樣我確認這個例子也是為了更多的開發人員。這個選項僅僅是改變外掛程式已經註冊的使用者。
第五步,你可以包含一些協助資訊。選中複選框,在下面輸入任何的聯絡資訊。現在,你可以完成嚮導,開始我們的外掛程式。
下面列出了Connect對象的方法。這些方法是不完整的,可以在Connect.cs檔案找到該類。這些你的建立項目的一部分。
l Connect::Connect。這是建構函式,在這裡你可做簡單初始化。
l Connect::OnConnection。這個方法是在IDE真正載入您的外掛程式時調用。在這裡你可以初始化你的外掛程式,而且必須為IDE提供命令資訊、制定鍵盤綁定等等。
l Connect::QueryStatus。這個方法是在適當的時候IDE確定目前狀態時被調用。
l Connect::Exec。這個方法是IDE真正的執行命令是被調用的。
現在,所有的基礎內容在這裡,讓我們開始開發一個簡單的外掛程式例子。