实现VisualStudio一个很简单的很酷的扩展

上传人:012****78 文档编号:142047323 上传时间:2020-08-15 格式:DOC 页数:11 大小:235KB
返回 下载 相关 举报
实现VisualStudio一个很简单的很酷的扩展_第1页
第1页 / 共11页
实现VisualStudio一个很简单的很酷的扩展_第2页
第2页 / 共11页
实现VisualStudio一个很简单的很酷的扩展_第3页
第3页 / 共11页
实现VisualStudio一个很简单的很酷的扩展_第4页
第4页 / 共11页
实现VisualStudio一个很简单的很酷的扩展_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《实现VisualStudio一个很简单的很酷的扩展》由会员分享,可在线阅读,更多相关《实现VisualStudio一个很简单的很酷的扩展(11页珍藏版)》请在金锄头文库上搜索。

1、实现Visual Studio 2010一个很简单的很酷的扩展 作者: 日期:基本介绍篇 在实现这个扩展之前,让我们先弄清楚这个扩展实现什么功能。这个扩展实际上是在你的VS窗口的右上角创建了一个信息框代码。该信息框显示您的源代码的统计信息。这些信息包括: 1、文件的代码行数 2、文件的字符数 3、命名空间的个数 4、字段个数 5、接口个数 6、类的个数 7、函数个数 8、属性个数 9、注释的数量10、统计文件的大小(Bytes, KB, MB等)。 当您键入您的代码,你会看到信息窗口中的数据会即时更新。 这个信息窗口,是利用可扩展面板。你可以把它看成两个部分,每一个部分都可以根据您的需要展开和

2、折叠。这样,当你不需要它时,你将它可以折叠起来,需要的时候,将它展开。下面演示如何展开/折叠这个控件。 这个控件有三个特殊的状态。第一个状态是一个很小的扩展按钮。如上图的第一部分。只需点击它,就会打开控件右侧的面板,这个面板显示文件的基本数据,如上图的第二部分。这个控件还有一个可扩展面板,如果点击扩展,就会看到下面的面板,其中显示其他的统计数据,如上图的第三部分。实现篇: 需要软件: 1、 Microsoft Visual Studio 2010 2、 Visual Studio 2010 SDK 你安装 Visual Studio SDK之后,你的Visual Studio 2010中会多出

3、下面这些模板: 这篇文章中,我们使用模板Editor ViewPort Adornment实现这个扩展,此模板将为你的代码编辑器的带来一个装饰品。 其实这个扩展包一个WPF用户控件,我把它放进VS的视窗中就成了信息框。它还含有两个类,一个类用来解析代码,获取代码的相关信息;另一个类用来处理自定义编辑器的事件和当页以及加载的时候将WPF控件添加到页面中。第一步:创建一个Viewport Adornment项目 我们从Extensibility中选择Viewport Adornment模板创建一个项目。这将生成一个SourceManifest文件和两个类文件。一个是Adornment类本身,另外一

4、个是AdornmentFactory类。第二步:添加一个WPF用户控件 右键单击项目,选择添加一个新的WPF用户控件。为了简单起见,我使用了一个用户控件。这个用户控件实际上包含一个Expander控件,设置它的ExpandDirection = Left,它里面又包含了一些TextBlock控件和另外一个Expander ,设置里面的这个Expander的ExpandDirection = Down。看下面的代码(我删除不必要的元素,使其更简单):13411182021273440414243 你可以看到,代码很简单,两个Expanders,一个用来显示基本的统计信息和另外一个显示扩展的统计信

5、息。我还使用StackPanel来固定TextBlocks布局。 现在,如果你看一下后台代码,发现它也一样简单。其实我已经创建了一个CodeInfoTracker类,用它来为我们分析源代码文件。我只是为我们的用户控件添加了一个构造函数,使用户控件更具扩展性而已。1privateCodeInfoTracker_cinfo;2privateCodeInfoTracker.Calculators_calculator;3publicucInfoBox(CodeInfoTrackercinfo)4:this()56this._cinfo=cinfo;78publicvoidUpdateInfo(Cod

6、eInfoTrackerinfo)910_calculator=info.PerFormCalculate();11this.txtNoLines.Text=string.Format(NoofLines:0,12_calculator.no_of_lines);13this.txtNoCharacters.Text=string.Format(NoofCharacters:0,14_calculator.no_of_characters);15this.txtFileSize.Text=string.Format(TotalFileSize:0,16_calculator.totalfilesize);1718StringBuilderbuilder=newStringBuilder();19if(this._calculator.interfaces!=0)20builder.AppendFormat(Interfaces:0nr,21this._calculator.interfaces);22if(this._calculator.namespaces!=0)23builder.AppendFormat(NameSpaces:0nr,24t

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号