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

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

在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真正的執行命令是被調用的。

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




主站蜘蛛池模板: 五月婷婷六月丁香 | 五月婷婷色播 | 四虎国产精品免费观看 | 亚洲欧美韩日 | 欧美线在线精品观看视频 | 亚洲地址一地址二地址三 | 在线高清h视频在线观看 | 啪啪婷婷| 做a视频大全 | 亚洲 欧美 另类 综合 日韩 | 色橹橹欧美在线观看视频高清 | 综合久久久久 | 伊人久久免费视频 | 日韩伦理一区二区 | 三级黄色影院 | 夜夜爽一区二区三区精品 | 欧美亚洲另类综合 | 日韩美女中文字幕 | 日韩精品久久久免费观看夜色 | 亚洲a人 | 日本激情视频一区二区三区 | 欧美视频免费在线播放 | 欧美一区二区精品系列在线观看 | 窝窝午夜视频 | 一二三四影视在线观看免费视频 | 欧美中文字幕视频 | 天天干免费视频 | 最新福利片v国产片 | 午夜在线观看免费 | 中文字幕日韩精品中文区 | 亚洲女人毛片 | 日本一二三区视频 | 日本最新免费网站 | 天天干在线影院 | 天天天天色 | 在线观看精品国产福利片100 | 色噜噜狠狠色综合网图区 | 天堂福利在线 | 最近免费观看高清韩国日本大全 | 青草娱乐极品免费视频 | 日韩高清在线日韩大片观看网址 |