web-dev-qa-db-ja.com

Resharperを使用したカスタムブレースフォーマット

Resharper 4.5を使用していますが、配列またはオブジェクトの初期化子を作成するときに中括弧のカスタムフォーマットが必要です。 Resharperはいくつかのスタイルをサポートしています。

Gnuスタイル:

int[] array = new int[]  
                  {  
                      1, 2, 3  
                  }  

しかし、私は必要です:

int[] array = new int[] 
{  
    1, 2, 3  
}  

このテンプレートをカスタマイズする方法はありますか?

78
Hadi Eskandari

ReSharperをカスタマイズして、まさにそれを行うことができます。次のことを行う必要があります(All in ReSharper-> Options-> C#-> Formatting Style):

  1. Braces Layoutで、Array and object initializerAt Next line(BSD Style)に設定します。
  2. Otherで、連続行インデント乗数1に設定されていることを確認します。
  3. Otherで、Indent配列、オブジェクト、およびコレクションの初期化ブロックチェックされていないであることを確認します。

あなたはあなたが望むスタイルを手に入れるべきです。

165
Igal Tabachnik

R#7.1以降、いくつかのオプション属性が変更されました。

  1. Braces Layoutで、Array and object initializerAt Next line(BSD Style)に設定します。
  2. Otherで、連続行インデント乗数1に設定されていることを確認します。

古いバージョンのように

  1. Otherで、Align Multiline Constructsで、配列、オブジェクト、およびコレクションの初期化子がオフになっていることを確認します。
9
mbx

この記事はあなたが探しているものに似た答えを持っているようです:

ReSharper:配列とオブジェクトの初期化子のインデントを修正

2
Alex Beynenson

(@igalと@mbxによる以前の回答の続き)

R#2017.1(および場合によっては以前のバージョン)以降、次の手順を実行します。

  1. Formatting Style-> Braces Layoutで、Array and object initializerに設定します。 )次の行で(BSDスタイル)
  2. 書式設定->その他->インデントで、連続行インデント乗数がに設定されていることを確認します1
  3. フォーマットスタイル->その他->複数行構成の整列で、配列、オブジェクト、およびコレクションの初期化子を確認します。 )はチェックされていません。同じスタイルに準拠している場合は、匿名メソッド本体のチェックを外すこともできます。
0
cristobalito