- 3
- 0
- 约1.02万字
- 约 10页
- 2017-01-12 发布于重庆
- 举报
实现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/TextBlock11?????????????????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=
您可能关注的文档
- 实战利用MRTG进行网络监控..doc
- 实战Pro-Engineer曲面设计..doc
- 实战TP-LINK二级无线路由器设置方法..doc
- 实战销售技巧(一)我是一条虫..doc
- 实战利用MRTG进行网络监控1..doc
- 实操_电机绕组的绕制与嵌线..doc
- 实效TTT--企业内训师五星培训技术建构训练营(李军老师)..doc
- 实操新规科目二考试技巧及注意事项..doc
- 实效TTT--企业内训师五星培训技术建构训练营-森涛培训..doc
- 实地理信息系统验5空间插值..doc
- 安徽省华师联盟2025-2026学年高三上学期1月质量检测生物试卷+答案.doc
- 安徽省华师联盟2025-2026学年高三上学期1月质量检测语文试卷+答案.doc
- 四川省绵阳南山中学实验学校2025-2026学年高三上学期1月月考数学含答案.doc
- 2026届辽宁省大连市高三上学期双基考试物理试卷+答案.doc
- 辽宁名校联盟2026年1月高三上期末联考质量检测化学含答案.doc
- 辽宁名校联盟2026年1月高三上期末联考质量检测生物含答案.doc
- 辽宁名校联盟2026年1月高三上期末联考质量检测英语含答案.doc
- 辽宁名校联盟2026年1月高三上期末联考质量检测政治含答案.doc
- 黑龙江省龙江教育联盟2026年1月高三上学期期末考试化学含答案.doc
- 黑龙江省龙江教育联盟2026年1月高三上学期期末考试生物含答案.doc
原创力文档

文档评论(0)