在Visual Studio 2010中计算代码度量标准

Mat*_*ias 16 c# metrics visual-studio-2010

我正在寻找可以在方法体旁边显示代码度量(特别是圈复杂度)的扩展,或者在我键入时在工具窗口中显示(没有额外的交互).

到目前为止,我知道:

  • Elisha的代码集:自由而简单.我不知道它计算的度量标准,但在某处读取它不是圈复杂度.它不支持任何其他指标.

  • Carpslayer的CodeMetricAdornment:仅支持代码文件中的代码行,注释和空格.

  • CodeRush:不是免费的.正是我想要的(度量是可选的),不幸的是我已经在使用ReSharper了,而且我认为拥有/购买两者都是一种过度杀伤力.

还有其他人吗?他们提供什么指标?

sha*_*p00 4

安装 CodeRush(并关闭所有不需要的选项)当然是最简单的。CodeRush 和 Resharper 可以一起工作,请参阅此处的一些答案。如果您只是想尝试一下,可以免费试用。

(还有一个名为CodeRush Xpress的免费精简版 CodeRush ,但我刚刚检查过,它不包含代码指标。)

如果您确实反对安装整个 CodeRush,DevExpress 还免费提供构建它的 Visual Studio 插件技术DXCore 。因此,您可以创建自己的插件(无需安装 CodeRush)。 这里有一个教程,这里继续,这里有一些(正在进行的)文档,这里有另一个教程

这些教程是关于创建您自己的指标,但您应该能够将自定义代码替换为:

public partial class PlugIn1 : StandardPlugIn
{
    private void codeMetricProvider1_GetMetricValue(object sender, GetMetricValueEventArgs e)
    {
        e.Value = e.LanguageElement.GetCyclomaticComplexity();
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,我认为本教程并未涵盖结果值的显示(例如,方法旁边),因此您可能需要进一步挖掘(但 DXCore 也可以处理该问题)。