![]() |
IDE-Formatter erzeugt vier Leerzeichen bei if-Anweisung
Hat jemand eine Idee, welche Einstellung bzw. Kombination von Einstellungen, es verursachen könnte, dass mein Formatter in XE7 für einzeilige if-Anweisungen vier Leerzeichen anstatt zwei erzeugt?
Wenn die folgenden Anweisungen mit begin-end; eingeschlossen sind, ist alles wie gewünscht.
Delphi-Quellcode:
// so ist es zur Zeit
if x = 0 then Foo else Bar;
Delphi-Quellcode:
// so hätte ich es gerne (wieder)
if x = 0 then Foo else Bar; |
AW: IDE-Formatter erzeugt vier Leerzeichen bei if-Anweisung
Dein gewünschtes Verhalten ist eigentlich das Standardverhalten. Hast du irgendwas verstellt?
Du kannst ja die aktuellen Einstellungen mal als Profil speichern und dann die Einstellungen zurücksetzen. |
AW: IDE-Formatter erzeugt vier Leerzeichen bei if-Anweisung
In meinem XE3 (Neuinstallation ohne Änderungen) wird es korrekt eingerückt.
Delphi-Quellcode:
begin
if x = 0 then Foo else Bar; begin if x = 0 then Foo else Bar; end; |
AW: IDE-Formatter erzeugt vier Leerzeichen bei if-Anweisung
Kann man die Ident-Tiefe nicht einstellen? Oder wird vielleicht mit Tab statt Spaces eingerückt?
|
AW: IDE-Formatter erzeugt vier Leerzeichen bei if-Anweisung
Zitat:
Ich vermute auch, daß eine Einstellung abweichend vom Standard die Ursache ist. |
AW: IDE-Formatter erzeugt vier Leerzeichen bei if-Anweisung
Ja, ich hatte den Formatter etwas mehr an meine Vorstellungen angepasst.
Die Idee von Uwe war zielführend. Ich habe mein aktuelles Profil gespeichert und mit der Default-Config verglichen. Ich konnte das Problem auf die folgende Option zurückführen:
Code:
Diese muss auf "Yes" stehen bleiben (Standard), bei "No" oder "As is" kommt es zu dem oben gezeigten Verhalten.
Tools -> Options -> Formatter -> Delphi -> Line breaks -> Insert line breaks for Begin and Single instructions -> Line breaks before single instructions in control statements
Was aber ein bisschen schade ist, denn dadurch wird folgendes:
Delphi-Quellcode:
zu sowas:
case BiDiMode of
bdLeftToRight : BiDiMode := bdLeftToRight; bdRightToLeft : BiDiMode := bdLeftToRight; bdRightToLeftNoAlign : BiDiMode := bdLeftToRight; else LMsg := 'Hello'; end;
Delphi-Quellcode:
Ja, ich weiß...eigentlich ein Luxusproblem. :oops:
case BiDiMode of
bdLeftToRight : BiDiMode := bdLeftToRight; bdRightToLeft : BiDiMode := bdLeftToRight; bdRightToLeftNoAlign : BiDiMode := bdLeftToRight; else LMsg := 'Hello'; end; |
AW: IDE-Formatter erzeugt vier Leerzeichen bei if-Anweisung
Also bei mir sieht das so aus:
Delphi-Quellcode:
case BiDiMode of
bdLeftToRight: BiDiMode := bdLeftToRight; bdRightToLeft: BiDiMode := bdLeftToRight; bdRightToLeftNoAlign: BiDiMode := bdLeftToRight; else LMsg := 'Hello'; end; |
AW: IDE-Formatter erzeugt vier Leerzeichen bei if-Anweisung
Wenn das jetzt doch nur auf einer Zeile mit des case wäre...
|
AW: IDE-Formatter erzeugt vier Leerzeichen bei if-Anweisung
Ich weiß, was du meinst. Leider wird das case-Konstrukt (logischerweise) genauso behandelt, wie die anderen Steueranweisungen. Hier wäre eine Differenzierung wünschenswert.
Eine ähnliche Unschönheit gibt es auch hier: ![]() |
AW: IDE-Formatter erzeugt vier Leerzeichen bei if-Anweisung
Ist es nicht ziemlich wurscht, wie das formatiert ist, Hauptsache immer gleich?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:14 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz