六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

在Visual Studio.NET中使用自定義插件最大化您的生產力(一)

[摘要]這篇文章假設您已經熟悉C#, Visual Basic .NET和CLR難度程度 1 2 3摘要對于開發者來說,不管多么強大的集成開發環境(IDE)都需要具有自定義插件的功能。基于這個原因,Visual Studio. NET IDE提供了一個可擴展的、添加方便的而且還沒有數量限制的自定...
這篇文章假設您已經熟悉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真正的執行命令是被調用的。

現在,所有的基礎內容在這里,讓我們開始開發一個簡單的插件例子。




主站蜘蛛池模板: 日韩亚射吧 | 日本欧美一区二区三区高清 | 午夜性刺激在线观看视频 | 午夜影院在线观看视频 | 五月婷婷六月色 | 日本成人网址 | 欧美一级特黄aaaaaaa在线观看 | 日韩免费一级毛片 | 手机看片日韩日韩 | 日韩成人小视频 | 亚洲精品视频在线观看你懂的 | 亚洲欧洲一区二区三区在线观看 | 日本免费网址 | 亚洲区欧美中文字幕久久 | 婷婷免费在线 | 色香色香欲天天天影视综合网 | 日韩精品一区二区三区中文在线 | 性欧美极品xxxx欧美一区二区 | 天天干天天爱天天射 | 天天看天天干 | 小草影院在线观看 | 色月丁香| 日韩中文字幕视频在线观看 | 亚洲欧美日韩一级特黄在线 | 爽一爽色视频 | 亚洲一区二区在线成人 | 夜夜爽天天狠狠九月婷婷 | 伊人网在线免费视频 | 色狠狠狠色噜噜噜综合网 | 亚洲男人天堂网站 | 午夜狠狠干 | 亚洲精品乱码久久久久久 | 日本高清色本免费现在观看 | 人人福利 | 天堂在线影院 | 欧洲亚洲综合一区二区三区 | 青娱乐青青 | 亚洲 成人 欧美 自拍 | 色综合欧美 | 亚洲狠狠97婷婷综合久久久久 | 亚洲日韩中文字幕在线播放 |