防止 Visual Studio 计算某些方法的引用

Prevent Visual Studio from counting references of certain methods

在 Visual Studio 2013 Ultimate 中,Microsoft 引入了一项名为 CodeLens 的功能。一个方便的功能,它(除其他外)能够计算项目中引用方法的次数。

目前我们正在使用 VS2015 Pro,我正在处理一个包含多个项目的大型解决方案。

问题

考虑以下 class:

public class MapItem
{
    public int Id { get; set; }
    public string Provider { get; set; }
    public string Value { get; set; }
    public bool MainItem { get; set; }
    public int? MapId { get; set; }

    public override string ToString()
    {
        return $"Provider: {Provider}, Value: {Value}, MainItem: {MainItem}";
    }
}

CodeLens 会计算每个 属性 被引用的次数,并将其添加到每个属性声明的上方。我还覆盖了 ToString() 方法以便在打印时轻松读取值。

现在,每次当我打开带有 ToString() 声明的文件或对文件进行更改时,Visual Studio 开始计算 的引用,每次 ToString() 使用。即使未使用此 class 中的此特定方法。

这导致 Visual Studio 使用了我所有的 CPU (95%+) 并在几分钟内没有响应。

我的问题

我已经学会了how to disable CodeLens reference counting completely,但这不是我想要的。我想知道的是,是否有任何方法可以告诉 CodeLens 停止对 单一方法 的引用计数,特别是 ToString() (也许是属性或黑名单? ).这样 Visual Studio 就不必在每次引用重写方法时都进行计数。或者,我只想查看对 MapItem.ToString() 的引用量。

看来,这不可能。 你不能禁用一个方法的引用计数,你根本不能禁用引用计数。此选项已禁用:

我找到了this feature request。 Visual Studio 团队不会这样做。