5

私は CodeRush とそのテンプレートに関する哲学の大ファンです。私の現在の仕事では、大量のペアリングを行う予定であり、コンセンサスは ReSharper (v6) の優先事項です。

ここで CodeRush/Resharper 戦争を始めるつもりはありません。Resharper には好きなことがたくさんありますが、ReSharper を使いこなすのに苦労していることが 1 つあります。

ReSharper のライブ テンプレート メカニズムには、CodeRush のように入力するための組み込みの概念がありません (少なくとも、私が知る限りではありません)。簡単な例は次のとおりです。次のコードを生成するには:

public String MyStringProperty { get; set; }

CodeRush では...「as」(AutoProperty の場合は「a」、文字列の場合は「s」) と入力してから、プロパティの名前を変更するだけです。

ReSharper では、"prop" (Property の場合) と入力し、タイプと名前を設定する必要があります。

ReSharper のライブ テンプレートには、タイプ認識またはタイプ ショートカットに関する同様の概念はないようです。そのため、事前に入力された変数、プロパティ、メソッドなどを取得するための多数の 2 文字または 3 文字のテンプレートに似たものはないようです...

それで、すべての背景の後、最後に質問です。すべてのテンプレート/タイプの組み合わせに対して新しいライブテンプレートを作成せずに、ReSharper でこの「型付きテンプレート」の概念を複製する方法はありますか?

4

2 に答える 2

4

現在、ReSharper は、参照している使用パターンをサポートしていません。ただし、これを可能にするために考えられる2つのオプションがあります。

  • 1 つのオプションは、すべての一般的なユース ケースのライブ テンプレートを生成することです。私はこのファイルを使用していますが、R#6.1 ではテストされていないことに注意してください。
  • 別のオプションは、これを行うプラグインを単純に作成することです。ReSharper SDK には、非常によく似た処理を行う HtmlZen の例があります。つまり、DSL 文字列をコードに展開します。ニーモニック展開についても同じことが簡単にできます。

どのオプションを選択しても、押してテンプレートを展開することはできないことに注意してくださいSpace— これは現在 ReSharper では不可能です。

ご不明な点がございましたら、お気軽にお問い合わせください。

ドミトリ

于 2011-12-28T14:18:52.680 に答える
3

Resharper に、1 文字の名前の後に 1 文字のタイプが続くテンプレートを持たせることはできないと思います。'as' などのタイプごとに新しいテンプレートを作成し、次のように定義する必要があります。

public string $NAME$ { get; set; }

使用可能な場所、つまり、型メンバー宣言が許可されている C# ファイルを変更したい場合があります。

'prop' テンプレートの名前を 'a' に変更し、次のように入力します: 'a', TAB, 's', TAB, TAB, 'property_name', TAB

于 2011-12-28T10:07:13.690 に答える