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
TiGü

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

IDE-Formatter erzeugt vier Leerzeichen bei if-Anweisung

  Alt 19. Aug 2015, 15: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.629 Beiträge
 
Delphi 12 Athens
 
#2

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

  Alt 19. Aug 2015, 16: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.352 Beiträge
 
Delphi 11 Alexandria
 
#3

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

  Alt 19. Aug 2015, 17: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, 19: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.629 Beiträge
 
Delphi 12 Athens
 
#5

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

  Alt 19. Aug 2015, 22: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.073 Beiträge
 
Delphi 10.4 Sydney
 
#6

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

  Alt 20. Aug 2015, 08: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
Antwort Antwort


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 18:27 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