实现VisualStudio2010一个很简单的很酷的扩展..docVIP

  • 3
  • 0
  • 约1.02万字
  • 约 10页
  • 2017-01-12 发布于重庆
  • 举报

实现VisualStudio2010一个很简单的很酷的扩展..doc

实现VisualStudio2010一个很简单的很酷的扩展.

基本介绍篇 ??? 在实现这个扩展之前,让我们先弄清楚这个扩展实现什么功能。这个扩展实际上是在你的VS窗口的右上角创建了一个信息框代码。该信息框显示您的源代码的统计信息。这些信息包括: ??? 1、文件的代码行数 ??? 2、文件的字符数 ??? 3、命名空间的个数 ??? 4、字段个数 ??? 5、接口个数 ??? 6、类的个数 ??? 7、函数个数 ??? 8、属性个数 ??? 9、注释的数量 ???10、统计文件的大小(Bytes, KB, MB等)。 ??? 当您键入您的代码,你会看到信息窗口中的数据会即时更新。 ??? 这个信息窗口,是利用可扩展面板。你可以把它看成两个部分,每一个部分都可以根据您的需要展开和折叠。这样,当你不需要它时,你将它可以折叠起来,需要的时候,将它展开。下面演示如何展开/折叠这个控件。 ? ??? 这个控件有三个特殊的状态。第一个状态是一个很小的扩展按钮。如上图的第一部分。只需点击它,就会打开控件右侧的面板,这个面板显示文件的基本数据,如上图的第二部分。这个控件还有一个可扩展面板,如果点击扩展,就会看到下面的面板,其中显示其他的统计数据,如上图的第三部分。 实现篇: ??? 需要软件: ??? 1、 Microsoft Visual Studio 2010 ??? 2、 Visual Studio 2010 SDK ??? 你安装 Visual Studio SDK之后,你的Visual Studio 2010中会多出下面这些模板: ??? 这篇文章中,我们使用模板Editor ViewPort Adornment实现这个扩展,此模板将为你的代码编辑器的带来一个装饰品。? ??? 其实这个扩展包一个WPF用户控件,我把它放进VS的视窗中就成了信息框。它还含有两个类,一个类用来解析代码,获取代码的相关信息;另一个类用来处理自定义编辑器的事件和当页以及加载的时候将WPF控件添加到页面中。 第一步:创建一个Viewport Adornment项目 ??? 我们从Extensibility中选择Viewport Adornment模板创建一个项目。这将生成一个SourceManifest文件和两个类文件。一个是Adornment类本身,另外一个是AdornmentFactory类。 第二步:添加一个WPF用户控件 ??? 右键单击项目,选择添加一个新的WPF用户控件。为了简单起见,我使用了一个用户控件。这个用户控件实际上包含一个Expander控件,设置它的ExpandDirection = Left,它里面又包含了一些TextBlock控件和另外一个Expander ,设置里面的这个Expander的ExpandDirection = Down。看下面的代码(我删除不必要的元素,使其更简单): ?1???Expander?ExpandDirection=Left?Style={DynamicResource?ExpanderStyle1}? ?2????????????x:Name=expMain? ?3???StackPanel ?4?????????????????TextBlock?x:Name=txtNoLines? ?5????????????????????????????Text=No?of?Lines?:?{0}? ?6????????????????????????????Margin=25?25?25?0? ?7????????????????????????????FontSize=12? ?8????????????????????????????FontFamily=Verdana? ?9????????????????????????????FontWeight=Bold? 10????????????????????????????Foreground=Yellow/TextBlock 11?????????????????TextBlock?x:Name=txtNoCharacters? 12????????????????????????????Text=No?of?Characters?:?{0}? 13????????????????????????????Margin=25?5?25?15? 14????????????????????????????FontSize=12? 15????????????????????????????FontFamily=Verdana? 16????????????????????????????FontWeight=Bold? 17????????????????????????????Foreground=

文档评论(0)

1亿VIP精品文档

相关文档