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


当前回答

下面是Visual Studio 2012/2013/2015的更新,供那些想要做“查找”选项的人使用(我认为这是最简单的):这个RegEx将找到所有非空行,并排除一些内容,以给出最准确的结果。

在“查找”框中输入以下正则表达式。请确保选择“使用正则表达式”选项。根据您的需要,将搜索选项更改为“当前项目”或“整个解决方案”。现在选择“查找全部”。在“查找结果”窗口的底部,您将看到“匹配行”,这是代码的行数。


^(?!(\s*\*))(?!(\s*\-\-\>))(?!(\s*\<\!\-\-))(?!(\s*\n))(?!(\s*\*\/))(?!(\s*\/\*))(?!(\s*\/\/\/))(?!(\s*\/\/))(?!(\s*\}))(?!(\s*\{))(?!(\s(using))).*$

该RegEx不包括以下项:


评论

// This is a comment

多行注释(假设每一行都正确地注释了,每行前面都有一个*)

/* I am a
* multi-line
* comment */

XML智能感知

/// <summary>
/// I'm a class description for Intellisense
/// </summary>

HTML注释:

<!-- I am a HTML Comment -->

使用语句:

using System;
using System.Web;

左大括号:

{

右大括号:

}

注意:括号之间的任何内容都将包含在搜索中,但在这个例子中,只有4行代码会被计算在内,而不是实际的18行非空行:

        public class Test
        {
            /// <summary>
            /// Do Stuff
            /// </summary>
            public Test()
            {
                TestMe();
            }
            public void TestMe()
            {
                //Do Stuff Here
                /* And
                 * Do
                 * Stuff
                 * Here */
            }
        }

我创建这个给我一个更准确的LOC计数比以前的一些选项,并认为我将分享。老板们喜欢LOC计数,所以我不得不忍受一段时间。我希望其他人能发现这是有用的,如果你有任何问题或需要帮助,请告诉我。

其他回答

在Visual Studio 2019中,从顶部菜单中您需要选择:

'Analyze' -> 'Calculate Code Metrics' -> 'For Solution'

这适用于Visual Studio 2019专业版和企业版。

你可以用:

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

用于VS2008的其他简单工具(开源):http://www.accendo.sk/Download/SourceStat.zip

您可以使用免费工具SourceMonitor

给出了很多衡量标准:代码行数、语句计数、复杂度、块深度

图形输出通过图表

同意Ali Parr的观点。WndTab Line Counter插件就是这样一个工具。 http://www.codeproject.com/KB/macros/linecount.aspx

从下载网站上搜索一些相关的工具也是一个好主意。 http://www.cnet.com/1770-5_1-0.html?query=code+counter&tag=srch