尽管Visual Studio是微软的旗舰IDE,但有些用户可能希望不时能够轻松访问一些内置功能。例如,一个易于访问的“代码行数”按钮或显示可能正是一些用户偶尔想要访问的,除非他们拥有“高级”版本(如Premium或Ultimate),否则他们可能就没那么幸运了。本文将介绍如何在Visual Studio的高级和非高级版本中通过集成的代码度量工具(仅限高级版本)或通过巧妙使用正则表达式来获取应用程序中的代码行数,而无需使用第三方工具或工具。
正如前面提到的,由于设计模式、编程风格、命名约定等多种因素的影响,行数指标通常不会提供太多有意义的信息。然而,在以下一些情况下,它可能会有所帮助:
重构 - 当重构遗留代码或重新访问旧项目时,行数可以提供一定的价值,以帮助展示在初始开发过程中编码过程的效率。如果从原始版本中删除的行数占应用程序总大小的很大一部分,同时保持功能和可读性,那么被删除的行数可以提供一个有价值的指标。
复杂性 - 如果有两个应用程序,一个有1000行代码,另一个有100万行以上,那么可以安全地假设那个大几个数量级的应用程序更复杂。
生产力 - 就像应用程序的复杂性一样,代码行数提供了一个关键的洞察,即开发团队是否真的在提高生产力。如果有两个开发团队,在一段时间内(假设编码风格相似),一个团队有1000行代码,另一个团队有5000行,那么很明显哪个团队更有生产力。
正如这些例子所示,几乎所有这些情况都需要一定程度的审查,以确保这些行本身是有价值的和必要的。
有几种不同的方法可以在解决方案、项目和单个文件级别访问这个指标,所有这些都取决于正在运行的Visual Studio版本。将在下面详细说明每种方法,以便能找到最适合环境的版本。
使用“高级”版本的Visual Studio的一个关键好处是,它提供了一套名为代码度量的特殊工具,可以用来生成关于应用程序的各种不同的度量,如复杂性、外部调用,以及最终的行数。
代码度量区域可以在Visual Studio的主菜单下的“分析”标签中找到,如下所示:
代码度量可以轻松访问高级版本的Visual Studio中的不同度量,如行数。
选择想要执行选择的范围(整个解决方案或一系列选定的项目),将注意到Visual Studio的输出区域应该显示代码度量结果,它将包含几个不同的类别,可以在应用程序中进一步分析。
一个项目代码度量分析的结果。
然而,要找的是最后一个“代码行数”:
代码度量可以轻松地揭示项目或解决方案中的行数。
这是文章标题中提到的真正的“技巧”发挥作用的部分。
这些非高级版本的Visual Studio缺少像代码度量这样的工具来帮助确定特定项目或解决方案中的行数。然而,不需要花钱去买这些工具,也不需要购买或下载第三方工具或扩展。
令人惊讶的是,这可以通过使用Visual Studio的查找和替换工具和一些正则表达式来完成:
在Visual Studio中使用查找和替换功能来匹配特定一组文件中的每行。
没错 - 这种技术将编写一系列复杂的正则表达式,实际上会匹配Visual Studio文件中的每行代码,将使用这些结果来轻松估计应用程序中的行数,通过以下步骤:
按下CTRL+SHIFT+F以显示查找文件的提示。
在“查找选项”部分下选择“使用正则表达式”。
使用“查找范围”下拉菜单选择搜索范围。
进一步确定希望在“查找这些文件类型”框中搜索的文件类型。
在“查找内容”框中输入以下正则表达式之一:
// Visual Studio 2012 版本
^(?([^\r\n])\s)*[^\s+?/]+[^\n]*$
// 2012年之前的版本
^:b*[^:b#/]+.*$
在运行最适合环境的表达式后,将在输出窗口中找到以下内容,详细说明了基于搜索的代码行数:
匹配行数将揭示选定范围内的行数。