防止 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 团队不会这样做。
在 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 团队不会这样做。