在Visual Studio 2010中实时计算代码指标

16

我正在寻找能够显示代码度量(特别是圈复杂度)的扩展程序,可以将其显示在方法体旁边或在工具窗口中,当我输入代码时即可自动更新,无需其他操作。

目前我所知道的有:

  • Elisha的代码度量:免费且简单。我不知道它计算了哪些指标,但在某个地方读到它不支持圈复杂度,也不支持其他度量。

  • Carpslayer的CodeMetricAdornment:仅支持代码文件中的行数、注释和空白。

  • CodeRush:收费。正是我想要的(可选择指标),不幸的是我已经在使用ReSharper,而且我认为同时拥有/购买两者可能会过度。

还有其他类似的扩展程序吗?它们提供哪些指标呢?


“List of”类型的问题也属于不具建设性的类别。多年来,我们发现它们并不适合问答引擎。但我会请我的一位同事独立审查这个问题。 - Tim Post
我理解,但我的问题并不是在问“你最喜欢的代码度量工具是什么”。我已经努力总结了我已经尝试过的工具,但它们并不符合我的要求。有很多条路通往罗马,工具、方法、框架等也是如此。这个问题几乎与“我该如何做这个和那个”相同,并提供了我的个人努力。 - Matthias
我已经要求其他的版主来审查我的决定。稍等片刻,他们中的一个应该会很快在这里回应。我不认为这是一个“糟糕”的问题,只是我无法想出一种编辑方式使其变得更加具体。虽然你已经尽力让问题更加具体,但从我的经验来看,它仍然有点过于开放式了。 - Tim Post
当我第一次看到这个问题时,我很纠结,但是我越想,似乎您的主要要求是代码应该显示在方法体旁边,这就缩小了列表,使我们可以使它起作用。我正在重新打开这个问题,并将定期检查以确保答案不会变成对每个插件的单行链接列表。 - Adam Lear
2个回答

4
安装CodeRush(并关闭您不需要的所有选项)肯定是最简单的。如果您想让CodeRush和Resharper一起工作,请参见这里的一些答案。如果您只想试用,请使用免费试用版
(还有一个名为CodeRush Xpress的免费精简版,但我刚刚检查过,它不包括代码指标。)
如果你不想安装整个CodeRush,DevExpress还提供了其Visual Studio插件技术,DXCore,可免费使用。因此,你可以创建自己的插件(而无需安装CodeRush)。这里有一个教程(链接),继续(链接),还有一些正在进行中的文档(链接)和另一个教程(链接)
那些教程是关于创建你自己的度量标准,但你应该能够只用自定义代码替换它们:
public partial class PlugIn1 : StandardPlugIn
{
    private void codeMetricProvider1_GetMetricValue(object sender, GetMetricValueEventArgs e)
    {
        e.Value = e.LanguageElement.GetCyclomaticComplexity();
    }
}

然而,我认为教程没有涵盖结果值的显示(例如,在方法旁边),因此您可能需要进一步挖掘(但DXCore也可以处理)。

0

这里有一个工具可以满足您的需求,即在编写应用程序时使用API实现代码度量。这有助于您以编程方式和即时地生成或建议代码度量,并且它生成的度量远远超过您在此处指定的度量。

这是该工具的链接。 http://www.ndepend.com/ConstraintsExtractedFromCode.aspx


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接