Benutzerdefinierte Klammerformatierung mit Resharper

78

Ich verwende Resharper 4.5 und benötige beim Schreiben eines Arrays oder Objektinitialisierers eine benutzerdefinierte Formatierung von geschweiften Klammern. Resharper unterstützt einige Stile:

Gnu-Stil:

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

aber ich brauche:

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

Gibt es eine Möglichkeit, diese Vorlagen anzupassen?

Hadi Eskandari
quelle

Antworten:

165

Sie können ReSharper anpassen, um genau das zu tun. Sie müssen Folgendes tun (Alle in ReSharper -> Optionen -> C # -> Formatierungsstil ):

  1. Setzen Sie im Klammerlayout den Array- und Objektinitialisierer auf In der nächsten Zeile (BSD-Stil) .
  2. Stellen Sie unter Andere sicher, dass der Multiplikator für den fortlaufenden Zeileneinzug auf 1 gesetzt ist .
  3. In Sonstiges , stellen Sie sicher , dass einrücken Array, Objekt und Auflistungsinitialisierer Block ist nicht markiert .

Sie sollten den Stil bekommen, den Sie wollen.

Igal Tabachnik
quelle
Schade, dass jemand dies nicht als die richtige Antwort markieren kann, weil es offensichtlich ist.
Jeremcc
1
Nein, das ist keine Lösung. Diese Einstellung setzt nicht die erste Klammer in die nächste Zeile.
Brian
1
Dies erfordert einen Schritt 4: Stellen Sie unter "Andere" sicher, dass "Initialisierungsblock für Array, Objekt und Sammlung einrücken" deaktiviert ist.
Brian
1
Überprüfen Sie die Antwort von @mbx auf neuere Versionen.
Brk
1
In Resharper 8 wurde für Schritt 3 das erste Wort "Einzug" entfernt. Sie müssen also nach "Array-, Objekt- und Sammlungsinitialisierungsblock" suchen und diese deaktivieren.
Stricq
9

Ab R # 7.1 wurden einige Optionsattribute geändert:

  1. Setzen Sie im Klammerlayout den Array- und Objektinitialisierer auf In der nächsten Zeile (BSD-Stil) .
  2. Stellen Sie unter Andere sicher, dass der Multiplikator für den fortlaufenden Zeileneinzug auf 1 gesetzt ist .

wie in älteren Versionen und

  1. In Sonstiges , bei Align mehrzeilige Konstrukten stellen Sie sicher , dass Array, Objekt und Auflistungsinitialisierer nicht aktiviert ist.
mbx
quelle
0

(Fortsetzung der vorherigen Antworten von @igal und @mbx)

Gehen Sie ab R # 2017.1 (und möglicherweise früheren Versionen) wie folgt vor:

  1. In Formatierung Style -> Zahnspangen - Layout , Satz Array und Objektinitialisierer bis bei der nächsten Zeile (BSD Style)
  2. In Formatierung Style -> Andere -> Einrückungen , stellen Sie sicher , dass kontinuierliche Zeileneinzug Multiplikator eingestellt ist 1
  3. In Formatierung Style -> Andere -> Ausrichten mehrzeilige Konstrukte , stellen Sie sicher , dass Array, Objekt und Auflistungsinitialisierer ist nicht markiert . Möglicherweise möchten Sie auch das Kontrollkästchen Anonymer Methodenkörper deaktivieren , wenn dies demselben Stil entspricht.
Cristobalito
quelle
-4

Soweit ich weiß, dass Sie nicht können, kommt Resharper mit vordefinierten Stilen, aber vielleicht funktioniert es, wenn Sie Ihre eigene Live-Vorlage erstellen und sie so einstellen, wie Sie es möchten.

hoffe das hilft.

DevMania
quelle
Es scheint, dass Sie wirklich nicht können ... Live-Vorlage macht etwas anderes, hat keinen Einfluss auf die Code-Formatierung.
Hadi Eskandari