2012-03-13 16 views
3

クラスの静的メンバーの最初の文字を入力してから、完了リストにすべてのclass.memberのエントリを(魔法のショートカットで)入力することはできますか?自動完了他のクラスのメンバー


より詳細な説明:

私はの形で15回のクラスを持っている:私はVolumeclassを入力したいこれらのメンバーにアクセスして、リストを取得したいしたい

class AClass 
{ 
    public static readonly string Volumeclass = "abcd"; 
    //... other members 
} 

class AnotherClass 
{ 
    public static readonly string Volumeclass = "xyz"; 
    //... other members 
} 

  • AClass.Volumeclass
  • AnotherClass.Volumeclass

インテリジェンスによって。だから、正しいクラス名を覚えておくのではなく、正しいシンボルだけを選択する必要があります。

Smart Completionを試しましたが、そのようには機能しませんでした。

+0

私はそう信じません。プロジェクトの詳細やそのように構造化する必要がある場合、EnumまたはConstants-onlyの参照クラスなど、他のアプローチが実行可能かどうかを知ることは難しいです。 –

+0

これらのクラスはネストされていますか?はいの場合は、反射で試すことができます。 – Vinicius

+0

私はそのような機能を認識しているとは言えません(ReSharper *は、Go To Memberを使用するときにこの知識があります)。おそらく、あなたは[ReSharperに提案する](http://youtrack.jetbrains.com/issues/RSRP)を完了の新しいタイプとして使うことができますか? –

答えて

3

私はそのようなショートカットを知っているとは言えません。

http://i.imgur.com/YP7nd.png

:どこに行きシンボルナビゲーション( IntelliJ: Ctrl + Shift + Alt + Tキーまたは Visual Studio: Ctrl + Shift + Alt + Tキー)を使用する場合は明らかに、あなたはあなたのコード内のすべての VolumeClassプロパティのリストを持つことができます

しかしこれはあなたが望むものではありません。 ( - Altキー - スペースCtrlキー)、その後タイプの最初の文字を入力し、私はImport Symbol完了を使用してであることを示唆している可能性が最も近いです。グローバルに利用可能なすべてのタイプを表示し、必要に応じて適切なusingディレクティブをインポートします。 - テンプレートエクスプローラ(ReSharperの6中)のReSharperに

  1. ゴー:

    編集は、もう一つのアイデアは、あなたが最初の数文字に基づいて文を生成することが可能になるReSharperのライブテンプレートでこれを生成することですライブテンプレートタブで

  2. 新規テンプレートボタン
  3. をクリックしては、例えば、vcをあなたのショートカットの名前を付けます。オプションで、説明を書いてください。メインテキスト領域で
  4. 、タイプ: $prefix$.Volumeclass
  5. 保存してあなたが今、あなたのコードvc、およびプロパティを持つクラスの名前を入力することができますテンプレートエクスプローラ

を終了します。

希望に役立ちます。

+0

*あなたのスクリーンショットに表示されている* Go To Symbol *ナビゲーションを意味します。私は可能なすべてのクラスのリストを取得するので、これは少なくとも良い回避策です。次に、* ESC *を押して、覚えておいたクラス名を入力します。 – brgerner

+0

もちろん、申し訳ありませんが、私は答えを修正します!ありがとう:) –

0

あなたは.NET Frameworkクラスライブラリの数千人クラスの数十があることを最初のクラス名

AClass.<now the list of static members appears> 

メモを入力する必要があります。何百万というメンバーが自動的に表示されますか?

1

クラスを共通の名前空間に入れることができます。その後、名前空間名の後にドットを入力すると、クラスのリストがポップアップ表示されます。ただし、クラスを選択した後でも、Volumeclassプロパティを追加する必要があります。

この目的のためだけにネームスペース階層を再構成することはしませんが、クラスを論理的にグループ化する必要がある場合は、良い選択肢です。名前空間の名前が長い場合は、任意で追加することができます。using alias directive(例:using Prods = MyCompany.MyProject.Products;

関連する問題