在上一篇文章手把手教你制作
vs2005装饰中,主要介绍了如何创建和部署addins,在有了这个基础的前提条件下,我们看下如何在解决方案资源管理器中如何
添加右键菜单和如何自定义输出。
仍然是在OnConnection中添加创建右键菜单的代码:
以下是引用片段: CommandBarEvents menuItemHandler; string addinName = "垃圾清除"; _applicationObject = (DTE2)application; _addInInstance = (AddIn)addInInst; //获得项目的命令行菜单 CommandBars cmdBars = (CommandBars)(_applicationObject.DTE.CommandBars); CommandBar vsBarProject = cmdBars["Project"]; CommandBarControl menuItem = vsBarProject.Controls.Add(MsoControlType.msoControlButton, 1, "", 2, true); menuItem.Tag = addinName; menuItem.Caption = addinName; menuItem.TooltipText = addinNam menuItemHandler = (CommandBarEvents)_applicationObject.DTE.Events.get_CommandBarEvents(menuItem); menuItemHandler.Click += new _dispCommandBarControlEvents_ClickEventHandler(MenuItem_Click); |
上面一段代码,作用是在项目的右键菜单上增加一个名称为垃圾清除的菜单,CommandBars和CommandBar是用于管理命令栏的接口,通过
以下是引用片段: menuItemHandler = (CommandBarEvents)_applicationObject.DTE.Events.get_CommandBarEvents(menuItem); menuItemHandler.Click += new _dispCommandBarControlEvents_ClickEventHandler(MenuItem_Click); |
来添加子菜单的点击事件。
以下是引用片段: private void MenuItem_Click(object commandBarControl, ref bool handled, ref bool cancelDefault) { try { Project prj = (Project)((Array)_applicationObject.ActiveSolutionProjects).GetValue(0); SpilthCleaner.Executor e = new SpilthCleaner.Executor(); string res = e.Clear(System.IO.Path.GetDirectoryName(prj.FullName), prj.FullName); OutputWindowTest(_applicationObject, res); } catch (Exception ex) { OutputWindowTest(_applicationObject, ex.Message); } } |
Click事件中是完成了对项目垃圾文件的清除和清除结果的输出,要想在输出窗口中输出自定义的内容,可以使用下面的方法
以下是引用片段: public void OutputWindowTest(DTE2 dte,string outputStr) { //获得输出窗口 OutputWindow ow = dte.ToolWindows.OutputWindow; //创建属于自己的输出类型 OutputWindowPane owP; owP = ow.OutputWindowPanes.Add("垃圾清理"); //输出文字内容 owP.OutputString(outputStr); } |
这篇文章参考了dudu老大的 VS 2005 Add-in开发随笔 ,非常老大为我指明了方向。
vs2005是一个扩展性比较强大的平台,虽然没有eclipse支持插件那样猛,可通过我们的挖掘,还是能在vs2005上安装不少装饰的,我这篇主要写了如何添加右键菜单和输出自定义内容,这个菜单主要完成的工作是清除项目文件夹中没有被项目引用的垃圾数据,下面是源码,大家使用的时候,将相应的.dll和.addins拷贝到C:/Documents and Settings/Administrator/My Documents/Visual Studio 2005/Addins就可以了。
(_宠壞ィ尔ジ べ寳.貝 ず心誠則靈ず 青蓝色の幻想 ¥菏颜悦色¥ ゛╱祢媇娘.! 落日ヤ的愛 我恨我痴心 ﹎逗祢玩メ -℡鈊随妳动 ◆﹎S`惗.﹖ 「。_箜白" 仟仟靜聽 ╃恕ゃ/|-) 钱无忧 ☆﹏懶騩﹖ 掉头滚蛋оK 盛夏的鱼骨头 沩鉨wo乄菰単 华少 Don't Cry 流浪汉‘;// 夜来香 係莪錯ㄋ? 掉线掉到崩溃 水晶♀小雨 春泥 梦溪 紾悕&緈諨 暂停 ♀鈖豬豬娃娃 li ōл*伈情 上官云顿 老陈 蘑毛蟲∵イ尔 ①亾dé卋楐 (_暰訡泪. こ紫冰な淩 漫步云端 爱,直止成伤 SOSO用户 →斷情戒愛^- 那样/hl好看 Triangel ^懒^ 吥擺ㄗòsら 罙耐,尔│ 梅依寒冬 Ξ溪鹤澜殇Ξ (_灬軟紅狼.o 史建强 ぁ^棻~ №鴳o_瀞℡ !!娇!! 四樓曰記℡ oо╮蘇╭оo 繠dé絕Ю&狼 /gz左眼跳/gz 寂寞de自由 ─━☆飘雪い 釺Ιǐ之ㄆト ≮Níu牛≯ 馨雨清荷 "倁哫﹏ Roukic /yy热情雨﹖ 鱼恋上铒 斯文败类 假期我做主 梦幻的传说 曦/:) 壊壊 -1℃ 黍离 篍兲dè楓 歪歪√¨乖乖 嗯╱┃爱沵↘ ◇ メ﹎螞蟻 譿通腱ぺ站 ~乄丿薍乁丬 ♂+20℃情♂ ┌.`傷訫℡ 忧郁の秤子 ﹎刺殺℡靈魂 坠落萝卜筐 逸扬 活着 昊 雪落★凡尘 ●.╲|.韩蝂 噻豆M滴(女) _|.白緍紗 z.àì彽調 零下八度 ネ柰◣落◥思 欣馨@&蕾蕾 笑着絕忘゛灬 ′.鮎埖惹草 哭着眼睛说拜 ·◆兲倥咹静 雪花 ╰無莪楿ㄨ蠍 /aiq恶魔六哥 壞(_樂尐︶ㄣ 蓝色闪光 "мīSs● 阿郚 萡菏の餹赯Υ 80後青年 梦幻鹰将 讓愛/mg穂緣 ◇詠遠¢颓废 じ☆ve强仔 じ☆ve香煙圝 静听滴雨 !冰封的山