是否有可能找到整个解决方案中的代码行数?我听说过MZ-Tools,但是是否有一个开源的工具?


当前回答

一个简单的解决方案是在所有文件中进行搜索。在使用通配符时输入“*”。这将匹配所有的行。在查找结果窗口的最后,你应该看到一行排序:

匹配行数:563匹配文件数:17搜索文件数:17

当然,这对于大型项目来说不是很好,因为所有行都被加工并加载到内存中,以便在查找结果窗口中显示。

参考:

先进的例子

其他回答

我用Ctrl+Shift+F。接下来,在搜索框中输入\n并启用正则表达式框。然后在查找结果中,屏幕的末尾是搜索的文件数和找到的代码行数。

你可以使用[^\n\s]\r\n跳过空白行和空格行(在评论中归功于Zach)。

这里的答案有点过时了,可能是从2008年开始的。因为在较新的Visual Studio版本2010/2012中,此功能已经内置。因此,没有理由为它使用任何扩展或工具。

计算代码行数的功能-计算度量。有了它,您可以计算每个项目或解决方案的度量(LOC、维护索引、圈索引、继承深度)。

只需在解决方案资源管理器中右键单击解决方案或项目,

并选择“计算指标”

以后用于分析和聚合的数据可以导入到Excel中。此外,在Excel中,你还可以过滤掉生成的类或其他指标中的杂音。包括代码行LOC在内的这些指标也可以在构建过程中收集,并包含在构建报告中

在Visual Studio Team System 2008中,你可以在Analyze- >菜单中执行“计算解决方案的代码度量”,它将为你提供整个解决方案的行数(其中包括g)。

正则表达式在VS2010和2012之间发生了变化,因此这里的大多数正则表达式解决方案不再适用

(^(?!(\s*//.+)))+(^(?!(#.+)))+(^(?!(\s*\{.+)))+(^(?!(\s*\}.+)))+(^(?!(\s*\r?$)))+

将找到所有不是空白的行,不只是一个括号('{'或'}'),不只是一个#include或其他预处理器。

使用Ctrl-shift-f并确保正则表达式被启用。

VS 2010及更早版本对应的正则表达式为

^~(:Wh@//.+)~(:Wh@\{:Wh@)~(:Wh@\}:Wh@)~(:Wh@/#).+

找到了这个技巧: LOC与VS查找和替换

不是一个插件,但如果这是你正在寻找的。