2017-08-09 2 views
1

wenn meine Methode eine einzige Anweisung enthält ...Eclipse-schlecht formatiert eine Methode mit einer return-Anweisung

if (some-condition) { 
    return someObject.methodOne().methodTwo().methodThree().methodFour(); 
} 

Eclipse-Formatierung "kollabiert", um es ...

if (some-condition) {return someObject.methodOne().methodTwo().methodThree().methodFour();} 

Wenn aber mein Methode enthält mehr als eine Anweisung ...

if (some-condition) { 
     int a = 42; 
return something; 
} 

Eclipse-Formatierung räumt auf und hält mehrere Zeilen fest ...

if (some-condition) { 
    int a = 42; 
    return something; 
} 

Wenn meine Methode nur eine einzige return-Anweisung hat ich noch möchte es mehrere Zeilen besetzen. I nie möchte es zu einer einzigen Zeile "kollabiert".

Wie kann ich die Eclipse-Formatierung für das gewünschte Verhalten konfigurieren? Ich habe eine ganze Weile ohne Erfolg mit den Einstellungen gespielt.

Danke!

+0

Ihre Methode * nicht * kann nur enthalten 'if (some-condition) { return someObject.methodOne() methodTwo() methodThree() methodFour()...; }, hätten Sie einen Weg, um ans Ende zu kommen, ohne zurückzukehren. Meinst du nur Kontrolle Aussage oder Zweig? Und für welche Sprache ist das? – nitind

+0

@nitind Sorry, ich habe vergessen zu sagen, dass dies Java ist.
Ja, eine Methode _can_ kann nur eine return-Anweisung enthalten. Dies ist ein vereinfachtes Beispiel, das das * spezifische * Problem darstellt. Übrigens zeigt der Eclipse-Formatierer das gleiche Verhalten, wenn die Methode nur eine "throw" -Anweisung enthält - ein anderes allgemeines Muster.
Zurück zur Frage des Eclipse Formatierer ... Danke! – CurtisB

Antwort

0

Sie können folgendes tun:

Erste: Zum Preferences > Java > Code Style > Formatter und setzen Sie alle Optionen, die Sie, indem Sie Ihr eigenes Profil wollen oder eine Standard verwenden.

Zweitens: Speichern Sie die ‚custom‘ Präferenzen durch einen neuen Profilnamen geben (exportiert sie für zukünftige Wiederherstellung)

Dann könnten Sie die Abkürzung benutzen und es versuchen. Siehe auch diese interessanten Antworten hier Eclipse Code Formatter Plugin

+0

Danke, aber ich habe viel Zeit damit verbracht, diese Einstellungen zu optimieren. Kann nichts finden, das diesen speziellen Fall anspricht. Wenn Sie einige * spezifische * Einstellungen kennen, wäre das großartig! – CurtisB

0

Gefunden der Einstellung in dem Formatter (Neon), die dieses Verhalten steuert:

  • Control Statement -> 'else if' -> Halten 'Rückkehr' oder 'throw' -Klausel auf einer Linie
Verwandte Themen