21

可能重复:
如何计算 Visual Studio 解决方案中的代码行数?

如何在 Visual Studio 2008 Professional SP1 中显示代码指标窗口?我正在查看我的项目用于学校的总代码行数,但我找不到。

帮助文件说去查看->其他窗口->代码指标,但是这个选项对我不可用。我还尝试在解决方案资源管理器中右键单击该项目以查看是否有选项但没有。

这个功能的神话独角兽在哪里?如果 Pro 版本没有此功能,是否有人找到一种简单的外部方法来自动计算所有 .cs 文件中的行数?

4

4 回答 4

126

您不需要第三方工具,只需按CTRL+ SHIFT+ F,然后在弹出的窗口中选择“使用正则表达式”。使用这个正则表达式:

^:b*[^:b#/]+.*$

对于 Visual Studio 2012及更高版本,正则表达式为:

^(?([^\r\n])\s)*[^\s+?/]+[^\n]*$
于 2010-01-06T16:15:05.723 回答
11

Code Metrics 仅在 Visual Studio 2008 的 Team System 版本中可用。如果您有 Express Edition、Standard 或 Professional,那么您就不走运了。

在此处查看评论和屏幕截图:

于 2009-05-05T22:17:46.057 回答
8

DPack 执行此操作。安装后,只需转到工具 -> DPack -> 解决方案统计...。

http://www.usysware.com/dpack/

于 2009-05-05T22:26:51.543 回答
2

我的 VS2008 中没有这个功能,所以几个月前我实现了一个快速而肮脏的 Windows 应用程序,它计算 C# 文件中 CRLF 的数量。当然,这会计算空行和 VS 生成的文件中的行,但是通过一些调整,我相信你可以让它生成一个很好的计数。这是 Windows 窗体中的操作代码;dlgFolder 控件是 FolderBrowserDialog 控件:

if (dlgFolder.ShowDialog() == DialogResult.OK)
{
   int totalLines = 0;
   string[] fileList = Directory.GetFiles(dlgFolder.SelectedPath, "*.cs",    SearchOption.AllDirectories);

   for (int x = 0; x < fileList.Length; x++)
   {
      string[] sourceCodeLines = File.ReadAllLines(fileList[x]);
      totalLines += sourceCodeLines.Length;    
   }

   MessageBox.Show(String.Format("There are {0} lines of C# code in the folder{1}",
totalLines.ToString(), dlgFolder.SelectedPath));
}
于 2009-05-05T23:22:19.427 回答