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


当前回答

我发现powershell在这方面很有用。我认为LoC是一个非常虚假的指标,所以我不认为需要任何更正式的东西。

从一个较小的解决方案目录:

PS C:\Path> (gci -include *.cs,*.xaml -recurse | select-string .).Count
8396
PS C:\Path>

这将计算所有解决方案的.cs和.xaml文件中的非空行。对于一个较大的项目,我只是使用了不同的扩展列表:

PS C:\Other> (gci -include *.cs,*.cpp,*.h,*.idl,*.asmx -recurse | select-string .).Count
909402
PS C:\Other>

如果一个命令行就可以做到,为什么要使用整个应用程序呢?:)

其他回答

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

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

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

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

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

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

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

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

对于未来的读者,我想建议Visual Studio 2010的DPack扩展。

它内置了大量的实用程序,包括行计数器,显示有多少行是空的,代码等等。

你可以用:

SCLOCCount http://www.dwheeler.com/sloccount/-开源 Loc度量,http://www.locmetrics.com/ -不是开源的,但是很容易使用

在Visual Studio 2015中,进入分析菜单并选择“计算代码度量”。