【问题标题】:Prevent Visual Studio from counting references of certain methods阻止 Visual Studio 计算某些方法的引用
【发布时间】:2018-09-18 16:29:02
【问题描述】:

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

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

问题

考虑以下类:

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() 的每个场合的引用使用。即使不使用此类中的此特定方法。

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

我的问题

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

【问题讨论】:

  • 是的,我也注意到了这一点。 CodeLens 在这种情况下确实表现不佳,我不知道为什么它不会在大约 50 次引用或您可以配置的任何其他限制后停止计数。我完全禁用它作为唯一的解决方案。
  • @BugFinder 怎么样?我从一开始就表示我已经知道如何做到这一点并且也说过。我在这里寻找不同的解决方案。无论哪种方式,我都更新了我的问题,希望能更清楚。

标签: c# visual-studio codelens


【解决方案1】:

看起来,这是不可能的。 您不能禁用方法的引用计数,也根本不能禁用引用计数。此选项已禁用:

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

【讨论】:

  • 不幸的是,这也是我已经发现的:(如果没有其他人有更好的解决方案,我会接受这个答案。
  • @Baksteen 我想,你可以问问 VS Team
猜你喜欢
  • 2011-08-27
  • 1970-01-01
  • 1970-01-01
  • 2023-04-02
  • 1970-01-01
  • 2019-04-05
  • 2010-09-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多