Fer*_*min 765 lines-of-code code-metrics line-count visual-studio
是否可以在整个解决方案中找到代码行数?我听说过MZ-Tools,但它是否有开源的等价物?
Gre*_*g D 823
我发现powershell对此很有用.我认为LoC无论如何都是一个非常虚假的指标,所以我不相信任何更正式的要求.
从一个小的解决方案的目录:
PS C:\Path> (gci -include *.cs,*.xaml -recurse | select-string .).Count
8396
PS C:\Path>
Run Code Online (Sandbox Code Playgroud)
这将计算所有解决方案的.cs和.xaml文件中的非空行.对于更大的项目,我只使用了不同的扩展名列表:
PS C:\Other> (gci -include *.cs,*.cpp,*.h,*.idl,*.asmx -recurse | select-string .).Count
909402
PS C:\Other>
Run Code Online (Sandbox Code Playgroud)
为什么在单个命令行执行时会使用整个应用程序?:)
Her*_*ter 483
Visual Studio 2010 Ultimate具有此内置功能.
分析 - >计算代码度量标准
Nic*_*ner 341
我用Ctrl+ Shift+ F.接下来,\n在搜索框中输入一个并启用正则表达式框.然后在查找结果中,在屏幕的末尾是搜索到的文件数和找到的代码行.
Ali*_*arr 218
VS2005,2003和2002的开源行计数器可在此处获得:
此处还讨论了创建一个计算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包括一个良好的行计数器.
请记住:
通过代码行测量编程进度就像按重量测量飞机构建进度一样.比尔盖茨
Mad*_*sen 80
找到这个提示: LOC与VS查找和替换
不是插件,如果这就是你要找的东西.
How*_*let 75
以下是Visual Studio 2012/2013/2015的更新,适用于那些想要执行"查找"选项(我认为最简单)的人:此RegEx将查找包含多个排除项的所有非空白行,以提供最准确的结果.
在"查找"框中输入以下RegEx.请务必选择"使用正则表达式"选项.根据您的需要将搜索选项更改为"当前项目"或"整个解决方案".现在选择"全部查找".在" 查找结果"窗口的底部,您将看到"匹配行",即代码行数.
^(?!(\s*\*))(?!(\s*\-\-\>))(?!(\s*\<\!\-\-))(?!(\s*\n))(?!(\s*\*\/))(?!(\s*\/\*))(?!(\s*\/\/\/))(?!(\s*\/\/))(?!(\s*\}))(?!(\s*\{))(?!(\s(using))).*$
Run Code Online (Sandbox Code Playgroud)
此RegEx不包括以下项目:
评论
// This is a comment
Run Code Online (Sandbox Code Playgroud)
多行注释(假设行正确注释,每行前面有*)
/* I am a
* multi-line
* comment */
Run Code Online (Sandbox Code Playgroud)
用于智能感知的XML
/// <summary>
/// I'm a class description for Intellisense
/// </summary>
Run Code Online (Sandbox Code Playgroud)
HTML评论:
<!-- I am a HTML Comment -->
Run Code Online (Sandbox Code Playgroud)
使用陈述:
using System;
using System.Web;
Run Code Online (Sandbox Code Playgroud)
打开花括号:
{
Run Code Online (Sandbox Code Playgroud)
闭合花括号:
}
Run Code Online (Sandbox Code Playgroud)
注意:大括号之间的任何内容都将包含在搜索中,但在此示例中,只计算4行代码,而不是18个实际的非空白行:
public class Test
{
/// <summary>
/// Do Stuff
/// </summary>
public Test()
{
TestMe();
}
public void TestMe()
{
//Do Stuff Here
/* And
* Do
* Stuff
* Here */
}
}
Run Code Online (Sandbox Code Playgroud)
我创建了这个以给我一个比以前的选项更准确的LOC计数,并认为我会分享.老板喜欢LOC计数,所以我坚持了一段时间.我希望其他人可以找到这个有用的,如果您有任何问题或需要帮助让它工作,请告诉我.
Mar*_*off 62
cloc是一个出色的命令行,基于Perl的Windows可执行文件,它将分解按文件格式分组的空白行,注释行和源代码行.
现在它不会专门在VS解决方案文件上运行,但它可以通过目录递归,您可以根据需要设置文件名过滤器.
以下是其网页的示例输出:
prompt> cloc perl-5.10.0.tar.gz
4076 text files.
3883 unique files.
1521 files ignored.
http://cloc.sourceforge.net v 1.07 T=10.0 s (251.0 files/s, 84566.5 lines/s)
-------------------------------------------------------------------------------
Language files blank comment code scale 3rd gen. equiv
-------------------------------------------------------------------------------
Perl 2052 110356 112521 309778 x 4.00 = 1239112.00
C 135 18718 22862 140483 x 0.77 = 108171.91
C/C++ Header 147 7650 12093 44042 x 1.00 = 44042.00
Bourne Shell 116 3402 5789 36882 x 3.81 = 140520.42
Lisp 1 684 2242 7515 x 1.25 = 9393.75
make 7 498 473 2044 x 2.50 = 5110.00
C++ 10 312 277 2000 x 1.51 = 3020.00
XML 26 231 0 1972 x 1.90 = 3746.80
yacc 2 128 97 1549 x 1.51 = 2338.99
YAML 2 2 0 489 x 0.90 = 440.10
DOS Batch 11 85 50 322 x 0.63 = 202.86
HTML 1 19 2 98 x 1.90 = 186.20
-------------------------------------------------------------------------------
SUM: 2510 142085 156406 547174 x 2.84 = 1556285.03
-------------------------------------------------------------------------------
第三代等效量表是对第三代语言所需代码量的粗略估计.不是非常有用,但无论如何都很有趣.
Reg*_*for 42
这里的答案有点过时,可能来自vs 2008时间.因为在较新的Visual Studio版本2010/2012中,此功能已内置.因此,没有理由使用任何扩展或工具.
计算代码行的功能 - 计算指标.有了它,您可以计算每个项目或解决方案的指标(LOC,维护指数,Cyclomatic指数,继承深度).
在解决方案资源管理器中右键单击解决方案或项目

并选择"计算指标"

以后可以将用于分析和聚合的数据导入Excel.同样在Excel中,您可以过滤掉生成的类或指标中的其他噪音.这些指标(包括代码行LOC)也可以在构建过程中收集,并包含在构建报告中
use*_*915 28
正则表达式在VS2010和2012之间发生了变化,因此这里的大多数正则表达式解决方案都不再有效
(^(?!(\s*//.+)))+(^(?!(#.+)))+(^(?!(\s*\{.+)))+(^(?!(\s*\}.+)))+(^(?!(\s*\r?$)))+
Run Code Online (Sandbox Code Playgroud)
将找到所有非空白的行,不仅仅是一个括号('{'或'}'),而不仅仅是#include或其他预处理器.
使用Ctrl- shift- f并确保启用正则表达式.
VS 2010及更早版本的相应正则表达式为
^~(:Wh@//.+)~(:Wh@\{:Wh@)~(:Wh@\}:Wh@)~(:Wh@/#).+
Run Code Online (Sandbox Code Playgroud)
Chr*_*ein 19
在Visual Studio Team System 2008中,您可以从菜单Analyze - >'Calculate Code Metrics for Solution'中进行操作,它将为您提供整个解决方案的行数(除其他外g)
Adr*_*ips 11
在 Visual Studio 2019 中,您需要从顶部菜单中选择:
'Analyze' -> 'Calculate Code Metrics' -> 'For Solution'
Run Code Online (Sandbox Code Playgroud)
这适用于 Visual Studio 2019 Professional 和 Enterprise。
你可以使用:
| 归档时间: |
|
| 查看次数: |
400420 次 |
| 最近记录: |