AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE IDE-Formatter erzeugt vier Leerzeichen bei if-Anweisung
Thema durchsuchen
Ansicht
Themen-Optionen

IDE-Formatter erzeugt vier Leerzeichen bei if-Anweisung

Ein Thema von TiGü · begonnen am 19. Aug 2015 · letzter Beitrag vom 21. Aug 2015
Antwort Antwort
Seite 1 von 2  1 2      
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.070 Beiträge
 
Delphi 10.4 Sydney
 
#1

IDE-Formatter erzeugt vier Leerzeichen bei if-Anweisung

  Alt 19. Aug 2015, 16:12
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;
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#2

AW: IDE-Formatter erzeugt vier Leerzeichen bei if-Anweisung

  Alt 19. Aug 2015, 17:23
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.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: IDE-Formatter erzeugt vier Leerzeichen bei if-Anweisung

  Alt 19. Aug 2015, 18:08
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;
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#4

AW: IDE-Formatter erzeugt vier Leerzeichen bei if-Anweisung

  Alt 19. Aug 2015, 20:41
Kann man die Ident-Tiefe nicht einstellen? Oder wird vielleicht mit Tab statt Spaces eingerückt?
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#5

AW: IDE-Formatter erzeugt vier Leerzeichen bei if-Anweisung

  Alt 19. Aug 2015, 23:07
Kann man die Ident-Tiefe nicht einstellen? Oder wird vielleicht mit Tab statt Spaces eingerückt?
Ja, das ist der Wert, den man unter Tools - Optionen - Umgebungsoptionen - Editor-Optionen - Quelloptionen angibt.

Ich vermute auch, daß eine Einstellung abweichend vom Standard die Ursache ist.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.070 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: IDE-Formatter erzeugt vier Leerzeichen bei if-Anweisung

  Alt 20. Aug 2015, 09:54
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:
Tools -> Options -> Formatter -> Delphi -> Line breaks -> Insert line breaks for Begin and Single instructions -> Line breaks before single instructions in control statements
Diese muss auf "Yes" stehen bleiben (Standard), bei "No" oder "As is" kommt es zu dem oben gezeigten Verhalten.

Was aber ein bisschen schade ist, denn dadurch wird folgendes:
Delphi-Quellcode:
  case BiDiMode of
    bdLeftToRight : BiDiMode := bdLeftToRight;
    bdRightToLeft : BiDiMode := bdLeftToRight;
    bdRightToLeftNoAlign : BiDiMode := bdLeftToRight;
  else
    LMsg := 'Hello';
  end;
zu sowas:
Delphi-Quellcode:
  case BiDiMode of
    bdLeftToRight :
    BiDiMode := bdLeftToRight;
    bdRightToLeft :
    BiDiMode := bdLeftToRight;
    bdRightToLeftNoAlign :
    BiDiMode := bdLeftToRight;
  else
  LMsg := 'Hello';
  end;
Ja, ich weiß...eigentlich ein Luxusproblem.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#7

AW: IDE-Formatter erzeugt vier Leerzeichen bei if-Anweisung

  Alt 20. Aug 2015, 11:26
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;
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.070 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: IDE-Formatter erzeugt vier Leerzeichen bei if-Anweisung

  Alt 20. Aug 2015, 11:54
Wenn das jetzt doch nur auf einer Zeile mit des case wäre...
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#9

AW: IDE-Formatter erzeugt vier Leerzeichen bei if-Anweisung

  Alt 20. Aug 2015, 13:27
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: Formatter mangles code in initialization/finalization
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#10

AW: IDE-Formatter erzeugt vier Leerzeichen bei if-Anweisung

  Alt 21. Aug 2015, 08:10
Ist es nicht ziemlich wurscht, wie das formatiert ist, Hauptsache immer gleich?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz