c# - 防止 Visual Studio 对某些方法的引用进行计数

标签 c# visual-studio codelens

在 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() 的引用量。

最佳答案

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

enter image description here

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

关于c# - 防止 Visual Studio 对某些方法的引用进行计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49730144/

相关文章:

c# - HKEY_USERS 仅包含登录用户

c# - 如何在 Visual Studio 2010 中使用 try/catch 包围代码块

visual-studio - 当我将 Visual Studio 数据库项目置于版本控制之下时是否需要 .dat 文件

c# - Java 相当于 C# 的 StreamReader.ReadToEnd()

c# - 从所有程序集中在 CaSTLe Windsor 容器中以编程方式注册所有 Controller

c# - LINQ 到 SQL : Stored Procedure Results

c++ - 在 Visual Studio 2017 中禁用烦人的调试器通知

xamarin - Visual Studio Xamarin Intellisense 不工作

tfs - 在 VisualStudio.com 上启用 Codelens