2014-04-14 4 views
9

Kann jemand Clang-Format konfigurieren, um enum auf einzelnen Zeilen zu halten?Optionen im Clang-Format für Enums

heißt

enum { 
    ONE, 
    TOW, 
    THREE 
}; 

gegen

enum {ONE, TWO, THREE}; 

EDIT:

Hier sind die Style-Optionen i Apples Objective-C-Styleguide verwenden übereinstimmen.

http://pastebin.com/0cTEhvBv

+0

Ich habe gerade alle vordefinierten Clang-Format-Stile ausprobiert und alle Einzellinien-Enums (Ihr zweites Beispiel) in die gestrichelten enums umgewandelt (Ihr erstes Beispiel). Willst du das nicht? – jlmendezbonini

+1

Ja, die vordefinierten LLVM-, CPP-, usw. Stile brechen sie, das ist korrekt und ich will das, aber ich benutze eine Konfigurationsdatei, die eine Reihe von Stiloptionen zu Apples Objective-C Style Guide und einer von ihnen (don Ich weiß nicht, welche), ändere das Verhalten und bremse die Linien und setzt enums in eine einzige Zeile. Ich habe das OP bearbeitet, um meine Stiloptionen einzuschließen. – pixbroker

+0

Ich kann dieses Verhalten nicht reproduzieren. Ich benutze Ihre Konfigurationsdatei und bekomme immer noch Zeilenumbrüche. – jlmendezbonini

Antwort

15

Dies wurde irgendwann absichtlich eingeführt (also, wenn Sie das Verhalten zu reproduzieren nicht in der Lage sind, Sie sind auf einer älteren Version wahrscheinlich).

Im Clumb-Format werden Contracts zu einer einzelnen Zeile zusammengefasst, wenn alle Elemente in eine Zeile passen. Dies spart Platz und beeinträchtigt normalerweise nicht die Lesbarkeit. Es gibt keine Art Option, aber Sie können dies entweder außer Kraft setzen eine Linie Kommentar irgendwo Hinzufügen oder durch ein Komma nach dem letzten Aufzählungs Zugabe, zB:

enum { 
    ONE, 
    TOW, 
    THREE, 
}; 

oder

enum { 
    ONE, // This means ... 
    TOW, 
    THREE 
}; 
+1

Funktioniert wie ein Charme! – orkenstein

+0

Weißt du nicht, wie man das gleiche für die Blöcke erreicht? – orkenstein

+3

Es ist eher ein Workaround als eine Lösung –

0

Per this answer, Einstellung ColumnLimit bis 0 wird auch dieses Verhalten erreichen.