6

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% 以上) を使用し、数分間応答しなくなります。

私の質問

CodeLens の参照カウントを完全に無効にする方法は既に学習しましたが、これは私が望んでいるものではありません。私が知りたいのは、CodeLens に一般的に単一のメソッドToString()の参照カウントを停止するように指示する方法があるかどうか、具体的には (おそらく属性またはブラックリスト?)。この方法により、Visual Studio は、オーバーライドされたメソッドが参照されるたびにカウントする手間を省くことができます。または、参照のみの量を確認したいと思いMapItem.ToString()ます。

4

1 に答える 1