Autoformatter und break;

Hallo,

ich wollte ein Sketch compilieren und strg+R drücken, habe statt des R aber das T erwischt und nun hat der Autoformatter meinen Code verunstaltet.
Er hat alle break; statements eingerückt, so daß sie nun nicht mehr unter dem dazugehörenden switch stehen, sondern unter dem Inhalt des Blocks.
Leider habe ich vorher nicht gespeichert und sofort danach auch noch mal strg+R gedrückt.
In der Formatter.conf kann ich aber anscheinend nirgendwo einstellen, daß das Break da steht, wo ich es haben will. Kann man das irgendwie ändern und dem Autoformatter sagen, daß er die Break wieder nach vorne holen soll?

Deine, mir vollkommen unbekannten, Formatierungswünsche kann meine Glaskugel nicht erleuchten.
Warum drückst Du nicht STRG-Z.

daß ich die break unter den dazugehörenden case stehen haben möchte, hatte ich aber geschrieben. :wink:

leider klappt strg+Z nicht, weil ich zwischendurch, bevor ich es wirklich bemerkt habe, noch einiges geändert habe. :frowning:

Du kannst ganz oft STRG-Z drücken... da geht einiges.
Mein Hinweis dazu:
STRG-A STRG-C Neues Fenster aufmachen STRG-A STRG-V
Ins alte Fenster zurück und STRG-Z bis das case wieder da ist, wo es hin soll.

So hab ich es nun gemacht.

Aber kann man dem Autoformatter nicht irgendwie sagen, er soll die Break unter den case stehen lassen oder sie dort hin schieben, damit mir sowas nicht noch mal passiert?

Da das break auch zum Inhalt des Blocks gehört, hat er es richtig dahin geschoben. Nicht jedes case braucht zwingend ein break.

Gruß Tommy

Dann musst Du den Bereich aus der Formatierung ausklammern. Mit allen Konsequenzen.

void loop()
{
  switch (foo)
  {
    // *INDENT-OFF*
    case bar:
    break;
    case another bar:
    break;
    // *INDENT-ON*  
  }
}