是否有可能找到整个解决方案中的代码行数?我听说过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>
如果一个命令行就可以做到,为什么要使用整个应用程序呢?:)
其他回答
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包括一个很好的行计数器。
不过要记住:
用代码行数来衡量编程进度就像用重量来衡量飞机制造进度。 比尔盖茨
海王星。除了LoC,它还提供了空格,制表符,注释行。 http://neptuner.googlecode.com/files/neptuner_0_30_windows.zip
正则表达式在VS2010和2012之间发生了变化,因此这里的大多数正则表达式解决方案不再适用
(^(?!(\s*//.+)))+(^(?!(#.+)))+(^(?!(\s*\{.+)))+(^(?!(\s*\}.+)))+(^(?!(\s*\r?$)))+
将找到所有不是空白的行,不只是一个括号('{'或'}'),不只是一个#include或其他预处理器。
使用Ctrl-shift-f并确保正则表达式被启用。
VS 2010及更早版本对应的正则表达式为
^~(:Wh@//.+)~(:Wh@\{:Wh@)~(:Wh@\}:Wh@)~(:Wh@/#).+
在Visual Studio Team System 2008中,你可以在Analyze- >菜单中执行“计算解决方案的代码度量”,它将为你提供整个解决方案的行数(其中包括g)。
我更喜欢OxyProject Metrics VS插件。
推荐文章
- 如何在没有任何错误或警告的情况下找到构建失败的原因
- Visual Studio弹出提示:“操作无法完成”
- 为什么我在我的Excel插件中得到“无法在证书存储中找到清单签名证书”?
- Visual Studio拒绝忘记断点?
- Visual Studio展开/折叠键盘快捷键
- Visual Studio:如何在两个单独的选项卡组中看到相同的文件?
- 为什么visual studio 2012找不到我的测试?
- Visual Studio 2010 - c++项目-删除*。自卫队文件
- 如何在Visual Studio中删除未推送的外向提交?
- “无法写入文件…”因为它会覆盖输入文件。”
- 使用Visual Studio调试器在值更改时中断
- Visual Studio 2017:显示方法参考
- 为什么ReSharper想要使用'var'的一切?
- 在Visual Studio中默认从项目中删除安全警告(_CRT_SECURE_NO_WARNINGS)
- 在Visual Studio中设置“首选32位”的目的是什么?它实际上是如何工作的?