EeekSoft Tools.Net






4.37/5 (15投票s)
一组有用的vs.net工具打包在一起
Content
引言
EeekSoft Tool 插件是一套有用的工具打包在一起。主要组件包括提醒器、版本历史以及用于生成文档和解决方案统计信息的工具。这些工具生成的报告几乎可以以任何格式生成,并且设计也可以定制,因为可以通过在线更新添加用于生成报告的样式。
工具
- 提醒器是添加到 Visual Studio 的工具窗口。它允许您将任何您想要的文本与解决方案一起保存。注释组织在笔记中,这些笔记在工具窗口顶部的组合框中列出。当您想记录您正在编写的程序的想法时,此实用程序非常有用。
- 版本历史是用于创建关于已开发解决方案进度的笔记的工具。每一行包含创建日期、受影响的项目名称、项目版本和注释。
- 文档生成器是用于生成有关应用程序中类的报告的工具。此工具类似于 Visual Studio .NET - 生成带注释的网页,但除了这个之外,我的插件的基本版本还可以生成 UML 类图(使用 HTML 表格)。
- 统计工具是用于收集有关解决方案统计信息的实用程序。这些工具包括行计数器和构建计数器。
- 摘要是一个工具,可以创建包含其他插件收集的所有信息的报告,包括版本历史和提醒器。
- 所有工具的结果都是使用 XSL 转换或通过运行自定义程序集生成的。要下载更多此类样式,您可以使用在线更新命令。
摘要
工具的报告保存在一个名为 <Solution Name>.esd
的 XML 文档中,该文档存储在 .sln 文件所在的文件夹中。当用户调用命令时,插件会执行指定的工具,从而更新 XML 文档。为了显示报告,它会使用一个已安装的样式(可以在插件选项对话框中选择此样式)。有两种类型的样式用于显示结果。首先,它通过 XSL 转换完成,其次,使用 .dll 程序集。样式可以从在线更新网站下载和安装,并在运行时添加到插件中。
XSL 转换
第一种样式是通过 XSL 转换创建的。这是一种生成 HTML 类型报告的简单方法。用户可以选择是想要 HTML 格式的结果(转换在生成输出时使用 XslTransform
对象进行)还是 XML 和 XSLT 文件(转换由浏览器进行)。
DLL 程序集
第二种样式是从指定的 .NET 程序集中动态加载的程序。此解决方案允许样式作者以任何格式、任何外观生成报告。如果此样式生成文件,则可以在 Internet Explorer 中查看。它也可以将地址返回给插件,插件将在 Visual Studio .NET 中打开一个新窗口。这种样式的复杂性可能很高,因此样式可以创建页面,该页面显示在插件选项对话框中。
例如,在标准安装中,这种样式用于生成 .chm 格式的输出。
Commands
在线更新
如上所示,用于生成输出的样式可以在运行时安装和卸载。此命令打开 EeekSoft Tools 在线更新网页,您可以在其中下载和安装新样式。打开此页面时,程序会将已安装插件的 ID 追加到 URL,以便网页(使用 ASP.NET 编写)知道哪些插件已安装并生成相应的网页。
选项
此命令打开一个包含插件和已安装样式选项的对话框。对话框中的页面从程序集中加载,并使用 settings.xml
中的设置添加到对话框中。页面可以是内部的(实现 ISettings
接口)或继承自 UserControl
并具有在用户单击对话框上的 OK 按钮时保存数据的函数。

提醒器
提醒器是一个简单的工具窗口,您可以在其中写下关于解决方案的任何注释、想法等。组合框中是已添加的笔记列表。每则笔记都有自己的字体,您可以通过单击右侧的绿色图标来更改它。笔记与解决方案一起保存在 XML 文档中,并在解决方案摘要中显示(如果您使用的是标准样式)。
整个应用程序是用 C# 编写的,但用于创建工具窗口它使用了 Microsoft 创建的 ATL 控件,该控件托管 .NET UserControl
,如示例 ToolWindow Add-Ins sample[^] 中所述
行计数器
行计数器是一个实用程序,它计算源代码中的行数。它能够计算源代码行数、注释行数、空行数、带有源文件的行数、注释和总行数。行计数器还添加解决方案中每个文件的大小,但这仅在解决方案摘要中显示(源代码总大小以千字节为单位)。文件类型可以在选项对话框中配置。
行计数器计算以下类型文件的行数
- cpp 这些是与 C 语言代码类似的源文件。这用于计算 C++、C、C# 和 J# 源(包括头文件)中的行数。
- vb 这些是 Visual Basic 和 Visual Basic .NET 源。
- xml 这些是带有 HTML/XML 语法的文件。此类型也用于计算 ASPX 文件中的行数,尽管 ASPX 文件中可能包含其他语言的脚本。
- txt 此类型文件仅包含注释和空行。任何带有文本的行都计算为注释。
- src 此类型文件仅包含源代码和空行。任何带有文本的行都计算为源(这对于计算未知文件类型的近似行数可能很有用)。
行计数器的典型输出如下所示
<solution><lines>
<!-- for each project in solution -->
<project name="Project Name" type="C# Project">
<!-- for each file in project -->
<file name="Filename.cs" type="C# source file"
source="14" blank="7" comment="12" total="33" mixed="0" />
</project>
</lines></solution>
这是使用 XSL 转换生成的,以输出 XHTML 文件。以下 XSL 元素用于生成整个解决方案中行的摘要信息
<!-- Calculate count of total lines in solution -->
<xsl:value-of select="sum(//solution/lines/project/file/@total)" />
<!-- Calculate count of source code lines in solution -->
<xsl:value-of select="sum(//solution/lines/project/file/@source)" />
<!-- percents of source lines in solution -->
(<xsl:value-of select="round((sum(//solution/lines/project/file/@source)*100)
div sum(//solution/lines/project/file/@total))" />%)
构建计数器
此命令只是用于计算项目构建编号的实用程序的一部分。第二部分在解决方案构建时自动调用,并会增加 AssemblyInfo
文件中版本的构建编号。当您单击此按钮时,插件会读取每个项目的版本号,将这些数据更新到 XML 文档中,并使用选定的输出样式显示信息。
在递增构建编号时,插件首先查找任何扩展名的 AssemblyInfo
文件,然后打开它并搜索 AssemblyVersion("...")
或 AssemblyVersionAttribute("...")
(在托管 C++ 中)。将字符串作为参数传递,然后将其分解为数字或星号和构建(第三个数字),该数字加一。如果缺少构建编号,则实用程序从零开始计数。
对象结构
使用 Visual Studio .NET,您可以生成一个非常简单的关于应用程序中对象的报告。此报告使用源代码中的 XML 注释生成。我决定编写一个更好的类报告,因为我想为其添加更多功能。我的报告是使用相同的 XML 注释生成的,但它能更好地处理 C++ 注释(因为 VS .NET 报告不会删除 XML 注释中的第三个斜杠 ///
)。
此报告中的信息保存在 XML 文档中,因此显示结果的外观和功能仅取决于所选样式。在默认样式中,您可以获得类似于 Visual Studio .NET 报告结果的输出,或者为每个类生成 UML 类图(使用 HTML 表格创建)。
生成默认样式的样式会创建一个 .chm 文件。内容是从 XML 文件生成的,该文件包含指向解决方案中类列表、项目以及项目中的每个类/委托/结构/枚举的链接,这些链接以透明的树状结构组织。

版本历史编辑器
版本历史编辑器是一个对话框,您可以在其中添加、删除和修改项目历史记录中的条目。为了方便输入新条目,当您打开对话框时,插件会读取项目版本,并在选择项目时填写版本。为了更好地区分,插件为每个项目的条目使用不同的颜色。
显示版本历史
此命令使用选定的输出样式(默认是 HTML 文件)显示使用版本历史编辑器编写的版本历史。
摘要
最后一个命令用于生成解决方案的摘要信息。此报告包括来自行计数器、构建计数器、对象结构、版本历史、提醒器注释以及一般解决方案统计信息的报告。使用默认设置,此报告是以 .chm 格式生成的。
一般解决方案统计信息仅在摘要报告(标准样式中)中可用,其中包含有关解决方案的一些有趣信息,如类数、源代码总大小(以千字节为单位)和总行数。这些数字是在 XSL 转换中使用以下代码计算的
<!-- Total lines of code -->
<xsl:value-of select="sum(//solution/lines/project/file/@total)" />
<!-- Total lines of source -->
<xsl:value-of select="sum(//solution/lines/project/file/@source)" />
<!-- Number of assemblies -->
<xsl:value-of select="count(//solution/lines/project)" />
<!-- Total size of source -->
<xsl:value-of select="round(sum(//solution/lines/project/file/@size) div 1024)" /> kB
<!-- Number of classes -->
<xsl:value-of select="count(//structure/project/class)" />
兼容性
本网站上的安装程序是为 Visual Studio.Net 7.1 (2003) 使用 .NET Framework 1.1 编译的版本。如果有人能够构建 Visual Studio 7 的版本,请告诉我,我会将其提供在本网站上下载。
版本历史
- 有关此项目的更多信息(包括实用程序的示例输出)可在 www.eeeksoft.net/estools[^] 上找到。
- 2003 年 6 月 30 日 - 发布了 EeekSoft Tools 的第一个版本 (1.0.11)
- 2003 年 6 月 30 日 - 我修复了几个小错误。本网站的安装程序现在应该可以工作了。