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


当前回答

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

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

其他回答

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

VS2005, 2003和2002的开源行计数器可以在这里找到:

http://www.wndtabs.com/

这里还讨论了如何创建行计数VS插件,并在Codeproject中提供了完整的代码

http://www.codeproject.com/KB/macros/LineCounterAddin.aspx

另外,Slick Edit Gadgets有一个不错的行计数器,这里:

http://www.slickedit.com/products/slickedit

和Microsoft Visual Studio Team System 2008包括一个很好的行计数器。

不过要记住:

用代码行数来衡量编程进度就像用重量来衡量飞机制造进度。 比尔盖茨

诀窍在这里。它也会计算Js文件。

http://www.spoiledtechie.com/post/2011/11/22/How-To-Count-Lines-of-Code-in-Visual-Studio.aspx

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

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

我发现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>

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