# Eclipse: Editoreinstellungen



## Guest (15. Mrz 2005)

Hi,

arbeitet jemand von Euch mit Eclipse und kann mir bei
folgendem Problem helfen?

Wenn ich einen Zeilenumbruch im Code mache, dann landet
der Cursor immer an einer falschen Stelle im Code.
z.B.
	
	
	
	





```
public static void main(String[] args) {
      |
}
```
Ich habe die Tab-Weite als 2-Zeichen eingestellt, trotzdem erscheint
der Cursor an einer falschen Stelle.
Wenn ich dann nach einer Zeile Return drücke, dann wird wieder 
Indent eingefügt.
z.B.
	
	
	
	





```
public static void main(String[] args) {
  System.out.println("BlaBla");
      |
}
```
Es kann einen zum Wahnsinn treiben. Schnelles Tippen ist damit
kaum mehr möglich.
Ich möchte am liebsten die folgende Formatierung haben

```
public class Foo extends ...
{
  public Foo()
  {
    super("BlaBla");
  }

}
...

frame.addWindowListener(
  new WindowAdapter()
  {
    public void windowClosing(WindowEvent event)
    {
      ...
    }
  }
);
```
Also jede "Ebene" immer um zwei Zeichen eingerückt und Klammern
auf der "Höhe" der Klassen-, Methodendeklarationen.

Help. Ich laufe gleich Amock.  :wink:


----------



## Beni (15. Mrz 2005)

Ist das immer so? Manchmal hilft ein Neustart von Eclipse (bei mir landet der Cursor ab und zu ausserhalb der Methode, hört sich ähnlich an)


----------



## Guest (15. Mrz 2005)

Ja, auch nach Neustart das gleiche.

Was ich verrückt finde ist auch das Einrücken im Nachhinein.
z.B. ich gebe folgendes ein

```
public void bla()
{|
```
und drücke auf return.
Das Ergebnis ist dann

```
public void bla()
{
 |
}
```
(also nur ein Zeichen eingerückt)
Dann noch folgendes (z.B. Versuch etwas Platz zwischen zwei Methoden zu schaffen)

```
|public void foo()
{
  ...    
}
```
Nach Return wird es zu

```
|public void foo()
{
  ...    
}
```
und noch andere Effekte bei Klammern wie

```
public void foo()
    {
  |
    }
```

Ich habe bisher immer nur mit JDeveloper oder anderen Editoren wie z.B. MultiEdit gearbeitet. 
Es gibt zig solche Kleinigkeiten, die mich an dem Editor von Eclipse stören.
z.B. Ich möchte eine Methode ändern und gebe . hinter einer Variablen ein.

```
f.|readInt();
```
dann mache ich nach Auswahl der Methode readLong() return.
Das Ergebnis ist
	
	
	
	





```
f.readLong|readInt();
```
Es sollte eigentlich alles bis zu der öffnenden Klammer entfernen.
Oder wenn ich den Cursor zwischen zwei Klammern in einem Methoden setze, erwarte ich
eigentlich ein Tooltip mit den Parametern der Methode etc. (in Eclipse kommt nix)

Der Editor ist zwar schön bunt aber, wenn sich das Problem nicht abstellen läßt, eher nutzlos. :bahnhof:
Ist der Editor von Eclipse wirklich so schlecht oder stehe ich da auf dem Schlauch?


----------



## Guest (15. Mrz 2005)

Ehmm.. noch etwas. Es ist die neueste Version von Eclipse (3.0.1).


----------



## Guest (15. Mrz 2005)

Noch etwas Version II. :wink: 

In MultiEdit kann ich mit dem Cursor zu stellen bewegen, wo keine Zeichen 
drin sind, ohne extra Space einzutippen.

```
public void foo()
{
                       |
}
```
Also ich gehe mit dem Cursor einfach nach rechts.
Geht es auch in dem Editor von Eclipse?

Zweite Sache Code-Templates oder Tastatur-Macros (wie auch immer man's nennt)

```
try
{
  |  <- hier kommt der Cursor
}
catch()
{
}
```
als trc + Tabulator
oder sp + Tabulator wird zu
	
	
	
	





```
System.out.println(|);
```

Geht sowas auch irgendwie? Man kann damit in paar Sekunden ziemlich viel
Code herzauber, wenn man sich für typische Probleme Shortcuts und Maros
anlegt. (Getter-/Setter-Methode mit einem Shortcut etc.)

Ich hoffe, es sind nicht zu viele Fragen auf einmal. :wink:


----------



## Beni (15. Mrz 2005)

Also das mit den Klammern kannst du unter "windows > Preferences > Java > Code Style > Formatter" umschalten (auch viele andere Kleinigkeiten gibt es da).

Die Argumente bekommst du, indem du ctrl+space drückst (ist sowieso eine Tastenkombination die immer nützlich ist).

Mit Eclipse schreib ich nur etwa 50% des Codes selbst, der Rest geht automatisch. Ich finde das ein gutes Verhältnis :wink:

P.S. Aktuell ist 3.1M5a, nicht so ein altes 3.0.1 :wink:

Edit: zu deinen neuen Fragen: immer zuerst "ctrl+space" ausprobieren. Generiert auch automatisch Getter und Setter. Falls da mal nichts kommt: mit Rechtsklick geht es weiter (da lassen sich z.B. alle Getter und Setter aufeinmal generieren)...  Das automatisch Einfügen von System.out.println und anderem existiert, ich weiss jetzt aber nicht, wo die Abkürzungen dazu stehen (jedenfalls werden sie mit ctrl+Space aktiviert).

Edit: Abkürzungen sind unter "Window>Preferences>Java>Editor>Templates" zu finden


----------



## Guest (15. Mrz 2005)

Ohh :shock: 
Ich Idiot habe es immer unter  "Windows > Preferences > Java > Editor" gesucht.
Wie geht das mit dem "Sich selbst in den A.. treten"? Ich muss es dringend probieren.  

Vielen Dank. Da komme ich der Sache schon näher.

3.1M5a ist mir zu neu. ;-) Ist doch eine Alpha-Version, die zuerst mal getestet wird. Oder?


----------



## Beni (15. Mrz 2005)

Also schon eher Beta. Ich verwende die jetzt seit Wochen, und hab keinen einzigen Fehler gesehen (dafür eine wundervolle Unterstützung von Java 1.5 :wink: ).


----------



## Guest (15. Mrz 2005)

JDK 1.5 :shock: Auch haben wollen.
Bin gleich am runterladen


----------

