2017-08-26 4 views
1

内のサブクラスでクラス変数をハイライト表示するにはどうすればよい私は非常に頻繁に投稿していないと私は私の研究を行うことを試みたが、私の願いは、Visual Studio 2017コミュニティエディタを使用して可能であるならば、単純に見つけることができません。私はC#の初心者向けのプログラマです。サブクラスについて学んでいます。私は別のファイル(クラス親)でクラスを開発しているは、私はVisual Studioのエディタ

:ここに私の願い(質問)です。いくつかのパブリック変数を持つ非常に単純なクラスです。今私は別のサブクラスの子ベースの親(クラス子:親)別のファイルです。 Childクラスの中で、私はChildで利用可能なParentの変数を使用します。すべてうまく、コンパイラは私のコードにエラーのフラグを立てません。そう、良いか悪い、間違っているか、私はクラスとサブクラスのハングを取得しています。 Visual Studioのエディタのための

私の願いは、私は私の子供のクラスのいくつかの変数を見たとき、私はこれらの変数はどこから来た自分が、不思議を見つけるのですか?彼らはどこに定義されましたか?それから、私は瞬間があり、彼らは親クラスから来ていることを忘れないでください。

私の質問は、Visual Studioエディタでは、サブクラスで使用されているが親クラスで定義されているこれらの変数を色付けできますか?特に、私のためのParentクラスが現在開かれていない別のファイルにあるとき

私は持っているものは大丈夫ですが、長い時間の後にこれらを見るといいです

私はFont-Colorの設定を試みましたが、正直に圧倒されて、そこで直接のヒットが見つかりませんでした。

この非常に優先度の低い質問に関するご意見やご質問は歓迎します。

ありがとうございます。

+1

私はそこにオプションがあるとは思わない。私は、スーパークラスで宣言されたメンバーの色を別の色にする可能性を見たことも、考えていません。真実は、あなたがそれを必要としないと思います。新しい変数が表示されたら、その名前を見て、それが何のためにあるのか把握します。コンパイラが不平を言っていない限り、変数はおそらく_somehwere_と宣言されています。 – Sweeper

+1

あなたはRosyln Analyzerを作成したいと思うようです。そのことは自明ではありませんが、以前の方法でVSを拡張するより簡単です。 – Crowcoder

+0

あなたのコメントのためにCrowcoderありがとうございました。私はRosyln Analyzerについて聞いたことがありませんが、私はそれを研究します。私はその返事を感謝します。 –

答えて

1

私はVSにこのような機能があるとは思わないが、とにかくそれを必要としない。コメントの中のCrowcoderによると、これはRoslyn Analyzerを書くことによって行うことができますが、宣言された変数がどこにあるのか知りたいからです。私を信じて、あなたはそれを必要としません。

真実は、ほとんどの場合、あなたはコードを読んでいる時に、変数が宣言されている場所を正確に心配しなければならないものではないが、あります。それがコンパイラの仕事です。あなたの変数やクラスは、よく名前のある場合

は、あなたが「これはどこから来るのでしょうか?待って」考えず、すぐに理解することができるようになります。たとえば、このコードが正常にコンパイルされることを考えると

class Slime: Monster { 
    public Slime() { 
     Health = 10; 
    } 
} 

は、あなたがHealthが定義されている場所を気にする必要がありますか?いいえ!それは粘液です!明らかにそれはHealthを持つつもりです。あなたはそれが何のために使われているか見るために定義をチェックする必要がありますか?いいえ!名前から、我々はそれが粘液のためにどのくらいの健康が残っているかを明確に見ることができます。

基本的に、私が意味することは、よく名前の変数を使用してコードを書くことができれば、あなたはそれぞれの変数が定義を見ずに何をするかを把握することができるということです。

+0

私の質問に答えてくれてありがとうございました。今私はあなたが意味することを正確に理解することができます。この文章は私のために家に持ち込まれました。「コードを読むときに変数がどこに宣言されているか心配する人ではありません。コンパイラの仕事です。あなたは私がちょうど私のコード(正直なところ私が数ヶ月で見ていなかった)についてすべてを知りたがっている初心者だからかもしれません。しかし、あなたは正しいのです...コードを見直す際に、コンパイラがそれを理解していなければ、それはクラスの一部であり、それは私が知る必要があるすべてです。ありがとうございました。 –

1

メンバー変数の上にマウスを置くだけで、変数がどこに宣言されているかがわかります。 Xのサブクラスにあり、Xで宣言された整数である 'foo'の上をホバーすると、int X.fooが表示されます。それはまさにあなたが尋ねるものではなく、他の人が得るのは簡単ではないが、はるかに簡単な方法であり、Peek Definitionを必要としない。

+0

うわー...あなたはこれを信じるつもりはないが、正直なところ私はこの機能について全く知らなかった。私はあらゆる種類のポップアップのヒントが現れているのを見ていますが、現われているものを見るために実際には止まったことはありません。私はまだ新しいですが、ほとんどこれはちょうどこの時点で趣味であるように私を許してください。私はあなたが示唆したように、実際にその定義を見て、ポップアップのヒントに親クラスを表示することができました。すべて "Peek"する必要はありません。ありがとうございました。 –

関連する問題