94

C#用のReSharper 4.0テンプレートを使用していますか?

これらを次の形式で共有しましょう。


[タイトル]

オプションの説明

ショートカット:ショートカット
使用可能な場所: [AvailabilitySetting]

// Resharper template code snippet
// comes here

マクロのプロパティ(存在する場合):

  • Macro1-値-EditableOccurence
  • Macro2-値-EditableOccurence

4

36 に答える 36

31

単純なラムダ

とてもシンプルでとても便利 - ちょっとしたラムダ:

ショートカット:×

Available : 式が許可されている C#。

x => x.$END$

マクロ: なし。

于 2011-02-15T07:45:49.033 に答える
22

'Dispose(bool)'メソッドを実装します

JoeDuffyのDisposeパターンを実装する

ショートカット:破棄

使用可能な場所:型メンバー宣言が許可されているC#2.0以降のファイル

public void Dispose()
{
    Dispose(true);
    System.GC.SuppressFinalize(this);
}

protected virtual void Dispose(bool disposing)
{
    if (!disposed)
    {
        if (disposing)
        {
            if ($MEMBER$ != null)
            {
                $MEMBER$.Dispose();
                $MEMBER$ = null;
            }
        }

        disposed = true;
    }
}

~$CLASS$()
{
    Dispose(false);
}

private bool disposed;

マクロのプロパティ

  • MEMBER -System.IDisposableの変数を提案します-編集可能なオカレンス#1
  • CLASS-タイプ名を含む
于 2008-10-09T15:33:46.693 に答える
14

あるタイプの新しいユニットテストフィクスチャを作成する

ショートカット: ntf
使用可能なファイル:型メンバー宣言または名前空間宣言が許可されているC#2.0以降のファイル

[NUnit.Framework.TestFixtureAttribute]
public sealed class $TypeToTest$Tests
{
    [NUnit.Framework.TestAttribute]
    public void $Test$()
    {
        var t = new $TypeToTest$()
        $END$
    }
}

マクロ:

  • TypeToTest-なし-#2
  • テスト-なし-V
于 2008-10-09T12:09:05.437 に答える
13

文字列が null または空かどうかを確認します。

.Net 4 を使用している場合は、string.IsNullOrWhiteSpace() を使用することをお勧めします。

ショートカット:スネ

利用可能: 式が許可されている C# 2.0+。

string.IsNullOrEmpty($VAR$)

マクロ プロパティ:

  • VAR - 文字列型の変数を提案します。編集可能 = true。
于 2011-02-15T18:51:45.930 に答える
11

新しいスタンドアロン単体テストケースを作成する

ショートカット: ntc
使用可能なファイル:型メンバー宣言が許可されているC#2.0以降のファイル

[NUnit.Framework.TestAttribute]
public void $Test$()
{
    $END$
}

マクロ:

  • テスト-なし-V
于 2008-10-09T12:10:12.423 に答える
10

現在のタイプのlog4netロガーを宣言します。

ショートカット:ログ

使用可能な場所:型メンバー宣言が許可されているC#2.0以降のファイル

private static readonly log4net.ILog log = log4net.LogManager.GetLogger(typeof($TYPE$));

マクロのプロパティ

  • TYPE-タイプ名を含む
于 2009-05-15T23:23:04.760 に答える
9

MSテストユニットテスト

Art OfUnitTestingにあるAAA構文と命名規則を使用した新しいMSテストユニットテスト

ショートカット:テスト(またはtst、または必要なもの)
利用可能な場所:型メンバーの宣言が許可されているC#2.0以降のファイル

[TestMethod]
public void $MethodName$_$StateUnderTest$_$ExpectedBehavior$()
{
    // Arrange
    $END$

    // Act


    // Assert

}

マクロのプロパティ(存在する場合):

  • MethodName-テスト中のメソッドの名前
  • StateUnderTest-テストしようとしている状態
  • ExpectedBehavior-あなたが期待すること
于 2010-08-27T22:08:42.080 に答える
8

変数が null かどうかを確認する

ショートカット: ifn
で利用可能: C# 2.0+ ファイル

if (null == $var$)
{
    $END$
}

変数が null でないかどうかを確認する

ショートカット: ifnn
利用可能なファイル: C# 2.0+ ファイル

if (null != $var$)
{
    $END$
}
于 2009-09-30T15:50:54.003 に答える
7

たくさんのラムダ

ネストを容易にするために、異なる変数宣言を使用してラムダ式を作成します。

ショートカット: la、lb、lc

使用可能なファイル:式またはクエリ句が許可されているC#3.0以降のファイル

laは次のように定義されます。

x => x.$END$

lbは次のように定義されます。

y => y.$END$

lcは次のように定義されます。

z => z.$END$

これは、ラムダを簡単にネストできるように複数のラムダライブテンプレートを定義することを除いて、上記のSeanKearonに似ています。「la」が最も一般的に使用されますが、次のような式を処理する場合に役立つものもあります。

items.ForEach(x => x.Children.ForEach(y => Console.WriteLine(y.Name)));
于 2011-02-16T16:24:26.287 に答える
7

クラス コンストラクターの StyleCop 準拠の概要を記述する

(StyleCop ルール SA1642 に準拠するように、コンストラクターごとに長い標準要約を常に入力するのにうんざりしている場合)

ショートカット: csum

利用可能な言語: C# 2.0+

Initializes a new instance of the <see cref="$classname$"/> class.$END$

マクロ:

  • classname - 型名を含む - V
于 2011-01-25T07:16:20.043 に答える
7

Assert.AreEqual

単体テストにアサートを追加するためのシンプルなテンプレート

ショートカット: ae
使用可能: ステートメントが許可されている C# 2.0+ ファイル

Assert.AreEqual($expected$, $actual$);$END$

流暢なバージョン:

Assert.That($expected$, Is.EqualTo($actual$));$END$
于 2008-12-02T09:49:46.913 に答える
6

それを待つ...

コンソールアプリケーションを終了する前に、ユーザー入力を一時停止します。

ショートカット:一時停止

利用可能な場所:ステートメントが許可されているC#2.0以降のファイル

System.Console.WriteLine("Press <ENTER> to exit...");
System.Console.ReadLine();$END$
于 2011-02-16T16:26:39.607 に答える
6

依存プロパティの生成

依存関係プロパティを生成します

ショートカット: dp
利用可能: C# 3.0 (メンバー宣言が許可されている場合)

public static readonly System.Windows.DependencyProperty $PropertyName$Property =
        System.Windows.DependencyProperty.Register("$PropertyName$",
                                                   typeof ($PropertyType$),
                                                   typeof ($OwnerType$));

    public $PropertyType$ $PropertyName$
    {
        get { return ($PropertyType$) GetValue($PropertyName$Property); }
        set { SetValue($PropertyName$Property, value); }
    }

$END$

マクロ プロパティ (存在する場合):

PropertyName - マクロなし - #3
PropertyType - この時点で予想されるタイプを推測 - #2
OwnerType - タイプ名を含む - 編集可能なオカレンスはありません

于 2011-04-18T07:32:24.287 に答える
5

プロパティが変更されたことを通知

私は頻繁に使用し、多くの仕事をしてくれるので、これは私のお気に入りです。

ショートカット:npc

利用可能: 式が許可されている C# 2.0+。

if (value != _$LOWEREDMEMBER$)
{
  _$LOWEREDMEMBER$ = value;
  NotifyPropertyChanged("$MEMBER$");
}

マクロ:

  • MEMBER - 含まれるメンバー型名。編集不可。注: これがリストの最初にあることを確認してください。
  • LOWEREDMEMBER - 最初の文字が小文字の MEMBER の値。編集不可。

使用法: 次のようなプロパティ セッター内:

private string _dateOfBirth;
public string DateOfBirth
{
   get { return _dateOfBirth; }
   set
   {
      npc<--tab from here
   }
}

バッキング変数が「_」で始まることを前提としています。これを使用するものに置き換えます。また、次のようなプロパティ変更メソッドがあることも前提としています。

private void NotifyPropertyChanged(String info)
{
   if (PropertyChanged != null)
   {
      PropertyChanged(this, new PropertyChangedEventArgs(info));
   }
}

実際には、私が使用するこれのバージョンはラムダベースであり (「ラムダが大好きだから!)、以下を生成します。原則は上記と同じです。

public decimal CircuitConductorLive
{
   get { return _circuitConductorLive; }
   set { Set(x => x.CircuitConductorLive, ref _circuitConductorLive, value); }
}

それは、非常にエレガントで便利なPostSharp を使用して INotifyPropertyChanged のすべてを手間をかけずに実行していないときです。

于 2011-02-15T19:24:50.677 に答える
5

クイック ExpectedException ショートカット

単体テスト属性に追加する簡単なショートカットです。

ショートカット:ええ

利用可能な環境: 利用可能な環境: 型メンバー宣言が許可されている C# 2.0+ ファイル

[ExpectedException(typeof($TYPE$))]
于 2009-03-12T17:22:26.440 に答える
5

AutoMapper プロパティ マッピング

ショートカット: fm

使用可能:ステートメントが許可されている C# 2.0+ ファイル

.ForMember(d => d$property$, o => o.MapFrom(s => s$src_property$))
$END$

マクロ:

  • プロパティ - 編集可能なオカレンス
  • src_property - 編集可能なオカレンス

ノート:

をヒットできるように、ラムダの「ドット」をオフのままにします。すぐにプロパティ インテリセンスを取得します。AutoMapper ( http://automapper.codeplex.com/ ) が必要です。

于 2011-04-04T19:36:47.490 に答える
4

必要に応じて呼び出す

非 UI スレッドからメソッドを呼び出すことができ、そのメソッドが呼び出しを UI スレッドにマーシャリングする必要がある WinForms アプリケーションを開発する場合に役立ちます。

ショートカット: inv

利用可能: C# 3.0+ ファイル ステートメントが許可されています

if (InvokeRequired)
{
    Invoke((System.Action)delegate { $METHOD_NAME$($END$); });
    return;
}

マクロ

  • METHOD_NAME - 含まれる型メンバー名

通常、このテンプレートを特定のメソッドの最初のステートメントとして使用すると、結果は次のようになります。

void DoSomething(Type1 arg1)
{
    if (InvokeRequired)
    {
        Invoke((Action)delegate { DoSomething(arg1); });
        return;
    }

    // Rest of method will only execute on the correct thread
    // ...
}
于 2009-03-04T09:21:55.020 に答える
4

MSTest テスト方法

これは少し不自由ですが、便利です。うまくいけば、誰かがそれから何らかの有用性を得るでしょう。

ショートカット: testMethod

利用可能な言語: C# 2.0

[TestMethod]
public void $TestName$()
{
    throw new NotImplementedException();

    //Arrange.

    //Act.

    //Assert.
}

$END$
于 2009-03-12T17:09:40.107 に答える
4

新しい C# ガイド

新しく生成された guid 値に初期化された新しい System.Guid インスタンスを生成します

ショートカット: csguid で利用可能: C# 2.0+ ファイル

new System.Guid("$GUID$")

マクロのプロパティ:

  • GUID - 新しい GUID - False
于 2010-09-16T17:22:27.553 に答える
4

NUnit Teardown メソッド

ショートカット
:ティアダウン

[NUnit.Framework.TearDown]
public void TearDown()
{
    $END$
}
于 2009-09-29T15:37:28.943 に答える
4

NUnit のテスト ケース スタブを作成する

これは、(他の無視されたテストと同様に) 単体テスト ランナーに表示される (実装またはテストする機能の) リマインダーとして機能します。

ショートカット: nts
使用可能:型メンバー宣言が許可されている C# 2.0+ ファイル

[Test, Ignore]
public void $TestName$()
{
    throw new NotImplementedException();
}
$END$
于 2008-10-10T15:31:36.870 に答える
4

NUnit セットアップ方法

ショートカット:セットアップ
利用可能:利用可能: 型メンバー宣言が許可されている C# 2.0+ ファイル

[NUnit.Framework.SetUp]
public void SetUp()
{
    $END$
}
于 2009-09-29T15:32:58.813 に答える
3

呼び出し不要のアサート

コードが特定の項目の正しいスレッドで実行されていることを確認したい WinForms アプリケーションを開発する場合に役立ちます。Controlを実装していることに注意してくださいISynchronizeInvoke

ショートカット:アニ

利用可能: C# 2.0+ ファイル ステートメントが許可されています

Debug.Assert(!$SYNC_INVOKE$.InvokeRequired, "InvokeRequired");

マクロ

  • SYNC_INVOKE - 提案変数System.ComponentModel.ISynchronizeInvoke
于 2009-03-04T09:09:06.627 に答える
3

引数が null にならないようにサニティ チェックを作成する

ショートカット: eann
使用可能:型ステートメントが許可されている C# 2.0+ ファイル

Enforce.ArgumentNotNull($inner$, "$inner$");

マクロ:

  • 内部- パラメータの提案 - #1

備考: このスニペットはオープン ソースの .NET Lokad.Sharedライブラリを対象としていますが、他のタイプの引数チェックにも簡単に適用できます。

于 2008-10-22T18:31:23.180 に答える
3

新しい COM クラス

ショートカット: コムクラス

使用可能: 型メンバー宣言または名前空間宣言が許可されている C# 2.0+ ファイル

[ComVisible(true)]
[ClassInterface(ClassInterfaceType.None)]
[Guid("$GUID$")]
public class $NAME$ : $INTERFACE$
{
    $END$
}

マクロ

  • GUID - 新しい GUID
  • 名前- 編集可能
  • インターフェース- 編集可能
于 2009-02-02T16:25:11.340 に答える
2

トレース - フォーマット付きの書き込み行

書式設定された文字列でトレースを追加するための非常に単純なテンプレート (Debug.WriteLine が既にサポートしているように)。

ショートカット: twlf
使用可能:ステートメントが許可されている C# 2.0+ ファイル

Trace.WriteLine(string.Format("$MASK$",$ARGUMENT$));

マクロのプロパティ:

  • 引数- value- EditableOccurence
  • マスク- "{0}"- EditableOccurence
于 2008-11-03T16:10:58.360 に答える
1

私は現在Unityを使用しているので、生活を少し楽にするためにいくつか考え出しました。


タイプエイリアス

ショートカット:ta
利用可能:*。xml; * .config

<typeAlias alias="$ALIAS$" type="$TYPE$,$ASSEMBLY$"/>

型宣言

これは名前も引数もないタイプです

ショートカット:tp
利用可能:*。xml; * .config

<type type="$TYPE$" mapTo="$MAPTYPE$"/>

タイプ宣言(名前付き)

これは名前があり、引数がないタイプです

ショートカット:tn
利用可能:*。xml; * .config

<type type="$TYPE$" mapTo="$MAPTYPE$" name="$NAME$"/>

コンストラクターを使用した型宣言

これは名前があり、引数がないタイプです

ショートカット:tpc
で利用可能:*。xml; * .config

<type type="$TYPE$" mapTo="$MAPTYPE$">
  <typeConfig>
    <constructor>
        $PARAMS$
    </constructor>
  </typeConfig>
</type>

等....

于 2010-04-20T17:22:49.340 に答える
1

新しい Typemock アイソレーターの偽物

ショートカット: フェイク
利用可能: [ステートメントが許可されている c# 2.0 ファイル内]

$TYPE$ $Name$Fake = Isolate.Fake.Instance();
Isolate.WhenCalled(() => $Name$Fake.)

マクロのプロパティ:
* $TYPE$ - 新しい変数のタイプを提案する
* $Name$ -別の変数の値( Type ) の最初の文字を小文字にする

于 2009-10-01T11:17:58.133 に答える
1

メソッドを仮想化する

仮想キーワードを追加します。NHibernate、EF、または同様のフレームワークを使用して、遅延読み込みまたはプロキシを有効にするためにメソッドやプロパティを仮想化する必要がある場合に特に役立ちます。

ショートカット: v

使用可能:型メンバー宣言が許可されている C# 2.0+ ファイル

virtual $END$

ここでのコツは、上ではわかりにくいかもしれない virtual の後のスペースです。実際のテンプレートは、再フォーマット コードが有効になっている「仮想 $END$」です。これにより、下の挿入ポイント (| で示される) に移動し、v を入力できます。

public |string Name { get; set; }
于 2011-02-16T16:36:13.033 に答える
1

等しい

一般に、.NET もデフォルトの「equals」テンプレートも、優れた単純な Equals メソッドを簡単に作成することはできません。良い Equals メソッドの書き方についてはさまざまな考えがありますが、単純なケースの 90% では次の方法で十分 思い ますより複雑な場合、特に継承に関しては、 Equals をまったく使用しない方がよい場合があります。

ショートカット: equals
で利用可能: C# 2.0+ 型メンバー

public override sealed bool Equals(object other) {
    return Equals(other as $TYPE$);
}

public bool Equals($TYPE$ other) {
    return !ReferenceEquals(other, null) && $END$;
}

public override int GetHashCode() {
    // *Always* call Equals.
    return 0;
}

マクロのプロパティ:

  • TYPE - タイプ名を含む - 編集不可
于 2012-02-10T23:38:04.247 に答える
1

log4net XML 構成ブロック

テンプレートを直接インポートできます。

<TemplatesExport family="Live Templates">
  <Template uid="49c599bb-a1ec-4def-a2ad-01de05799843" shortcut="log4" description="inserts log4net XML configuration block" text="  &lt;configSections&gt;&#xD;&#xA;    &lt;section name=&quot;log4net&quot; type=&quot;log4net.Config.Log4NetConfigurationSectionHandler,log4net&quot; /&gt;&#xD;&#xA;  &lt;/configSections&gt;&#xD;&#xA;&#xD;&#xA;  &lt;log4net debug=&quot;false&quot;&gt;&#xD;&#xA;    &lt;appender name=&quot;LogFileAppender&quot; type=&quot;log4net.Appender.RollingFileAppender&quot;&gt;&#xD;&#xA;      &lt;param name=&quot;File&quot; value=&quot;logs\\$LogFileName$.log&quot; /&gt;&#xD;&#xA;      &lt;param name=&quot;AppendToFile&quot; value=&quot;false&quot; /&gt;&#xD;&#xA;      &lt;param name=&quot;RollingStyle&quot; value=&quot;Size&quot; /&gt;&#xD;&#xA;      &lt;param name=&quot;MaxSizeRollBackups&quot; value=&quot;5&quot; /&gt;&#xD;&#xA;      &lt;param name=&quot;MaximumFileSize&quot; value=&quot;5000KB&quot; /&gt;&#xD;&#xA;      &lt;param name=&quot;StaticLogFileName&quot; value=&quot;true&quot; /&gt;&#xD;&#xA;&#xD;&#xA;      &lt;layout type=&quot;log4net.Layout.PatternLayout&quot;&gt;&#xD;&#xA;        &lt;param name=&quot;ConversionPattern&quot; value=&quot;%date [%3thread] %-5level %-40logger{3} - %message%newline&quot; /&gt;&#xD;&#xA;      &lt;/layout&gt;&#xD;&#xA;    &lt;/appender&gt;&#xD;&#xA;&#xD;&#xA;    &lt;appender name=&quot;ConsoleAppender&quot; type=&quot;log4net.Appender.ConsoleAppender&quot;&gt;&#xD;&#xA;      &lt;layout type=&quot;log4net.Layout.PatternLayout&quot;&gt;&#xD;&#xA;        &lt;param name=&quot;ConversionPattern&quot; value=&quot;%message%newline&quot; /&gt;&#xD;&#xA;      &lt;/layout&gt;&#xD;&#xA;    &lt;/appender&gt;&#xD;&#xA;&#xD;&#xA;    &lt;root&gt;&#xD;&#xA;      &lt;priority value=&quot;DEBUG&quot; /&gt;&#xD;&#xA;      &lt;appender-ref ref=&quot;LogFileAppender&quot; /&gt;&#xD;&#xA;    &lt;/root&gt;&#xD;&#xA;  &lt;/log4net&gt;&#xD;&#xA;" reformat="False" shortenQualifiedReferences="False">
    <Context>
      <FileNameContext mask="*.config" />
    </Context>
    <Categories />
    <Variables>
      <Variable name="LogFileName" expression="getOutputName()" initialRange="0" />
    </Variables>
    <CustomProperties />
  </Template>
</TemplatesExport>
于 2010-09-10T08:04:28.747 に答える
0

Rhinoモックはメソッドを期待します

ショートカット:RhinoMocksExpectMethod

利用可能なファイル: C#2.0以降のファイル

Expect.Call($EXPECT_CODE$).Return($RETURN_VALUE$);

ショートカット:RhinoMocksExpectVoidMethod

利用可能なファイル: C#2.0以降のファイル

Expect.Call(delegate { $EXPECT_CODE$; });
于 2010-04-13T06:57:41.833 に答える
0

Rhino モックの記録再生構文

ショートカット: RhinoMocksRecordPlaybackSyntax *

利用可能: C# 2.0+ ファイル

注:このコード スニペットは、MockRepository ( var mocks = new new MockRepository();) が既に宣言され、別の場所で初期化されていることに依存しています。

using (mocks.Record())
{
    $END$
}

using (mocks.Playback())
{

}

*ショートカット名としては少し長いように見えるかもしれませんが、入力時にインテリセンスがあれば問題ありません。Rhino モック用の他のコード スニペットも用意されているため、名前を完全に修飾すると視覚的にグループ化しやすくなります

于 2010-03-16T05:57:39.663 に答える
0

Machine.Specifications - それ

ショートカット:それ

使用可能:型メンバー宣言または名前空間宣言が許可されている C# 2.0 以降のファイル

Machine.Specifications.It $should_$ =
    () => 
    {

    };

マクロ プロパティ(存在する場合):

  • should_ - (マクロなし) - EditableOccurence
于 2011-07-06T10:50:21.250 に答える
0

Machine.Specifications - のため

mspec のヘビー ユーザーとして、私は MSpec 専用のライブ テンプレートをいくつか持っています。これは、理由を設定してエラーをキャッチするための簡単な方法です。

ショートカット: bece
使用可能:型メンバー宣言または名前空間宣言が許可されている C# 2.0+ ファイル

bece - ため (キャッチを除く)

Protected static Exception exception;
Because of = () => exception = Catch.Exception(() => $something$);
$END$

于 2011-04-04T16:47:24.720 に答える
0

Drew Noakes の優れたアイデアを借りて、Silverlight の呼び出しの実装を次に示します。

ショートカット: dca

利用可能なファイル: C# 3.0 ファイル

if (!Dispatcher.CheckAccess())
{
    Dispatcher.BeginInvoke((Action)delegate { $METHOD_NAME$(sender, e); });
    return;
}

$END$

マクロ

  • $METHOD_NAME$現在含まれているメソッドの編集不可能な名前。
于 2010-08-27T21:54:37.807 に答える