# Code-Formatierung in Eclipse



## Suncrusher (9. Jan 2007)

Hallo,

ich habe ein Problem bei der automatischen Formatierung von Code in Eclipse. Wenn ich einen String habe, und diesen, der Übersicht wegen, auf mehrere Zeilen umbreche, werden die Umbrüche wieder entfernt.
Bsp.:

String a = "aa aa" +

    "bb bb";

wird zu
String a = "aa aabb bb";

Dies stört mich besonders bei größeren SQL-Anweisungen.

Was gibt es da für Möglichkeiten?

Thx & VG


----------



## Lucifer002 (9. Jan 2007)

wenn du zwei Strings 'addierst' werden die beiden aneinandergereiht. Eine Formatierung im Quelltext - vorallem ausserhalt der anführungszeichen - haben keine Auswirkung auf das Programm, da diese vom Compiler dann sowieso verworfen wird! Wenn du einen String mit einem Zeilenumbruch haben möchtest, solltest du ein \n bzw. \r\n (für Unix) einfügen.

z.B.

```
String tst = "a a a \n bbbb " + "\n" + "bbb";
```


----------



## Suncrusher (9. Jan 2007)

Hi,

ich will ja keinen Zeilenumbruch im String, sondern nur, dass im Quelltext der String auf mehrere Zeilen verteilt bleibt. Mir geht es ja darum, dass der SQL-String übersichtlich bleibt.

THX & VG


----------



## Wildcard (9. Jan 2007)

Schau mal ob du im Formatter was findest, aber ich denke da hast du Pech.
Naja, du hast wohl kaum SQL über 20 Klassen verteilt und bei den 1-3 Klassen die Statements enthalten musst du ja nicht unbedingt Formattieren lassen.


----------



## Suncrusher (9. Jan 2007)

Ist ein größeres Projekt und es sind wohl eher Richtung 200 Klassen oder mehr...


----------



## Wildcard (9. Jan 2007)

Du schleifst SQL durch 200 Klassen?  :shock:  :noe:
Ursprünglich PHP-Frickler?


----------



## Suncrusher (9. Jan 2007)

Ich schleife nicht durch (was immer du darunter verstehen magst). In unserem Java-Projekt haben wir ca. 4000 Java-Dateien. Und in vielleicht 200 sind SQL-Strings...


----------



## gast (9. Jan 2007)

wenn es mit Strings in mehreren Zeilen verteilt nicht geht, dann würde ich so versuchen
Somit bleibt SQL-Query übersichtlicher, als alles in einer Zeile.


```
StringBuffer query = new StringBuffer();
query.append("SELECT name, city FROM person ");
query.append("WHERE name='doo' );
query.append("ORDER BY name");
```

dann query.toStrign();


----------



## Lucifer002 (9. Jan 2007)

wodruch du dir gleich n*200 Objekte sparen würdest. Was der Performance und Speicherverbrauch auch nicht schlecht tun würde


----------



## Suncrusher (9. Jan 2007)

Da hast du wohl recht. Nur wird sich keiner finden, der alle SQL-Strings umschreiben wird. Zudem kommen die SQL-Anweisungen aus einem SQL-Editor, der gleich eine "schöne" Java-Source-Ausgabe bietet (halt mit + & Umbruch).
Gibt es keine Möglichkeit, dem Formatter zu sagen, er soll keine solchen Strings Formatieren. Ein definierter Bereich, den der Formatter nicht anrührt wäre auch denkbar. Also dass man vor und  unter dem String ein Tag setzt um diesen Bereich zu kennzeichnen.


----------



## Wildcard (9. Jan 2007)

Das müsstest du wohl selbst schreiben. Mir ist nichts derartiges bekannt.


----------

