Comment empêcher le formateur Eclipse de placer toutes les énumérations sur une seule ligne

J’ai des énumérations comme:

public static enum Command { login, register, logout, newMessage } 

Lors du formatage du fichier, la sortie devient:

 public static enum Command { login, register, logout, newMessage } 

La réponse de @wjans a bien fonctionné pour les énumérations normales, mais pas pour les énumérations avec des arguments. Pour développer un peu sa réponse, voici les parameters qui ont fourni le format le plus judicieux pour moi dans Eclipse Juno:

  1. Window > Preferences > Java > Code Style > Formatter
  2. Cliquez sur Edit
  3. Sélectionnez l’onglet Line Wrapping
  4. Sélectionnez le treenode de déclaration enum
  5. Définissez la Line wrapping policy de Wrap all elements, every element on a new line (...) à la Line wrapping policy sur Wrap all elements, every element on a new line (...) pour indiquer maintenant 3 sur 3 entre parenthèses.
  6. Désélectionnez Force split, even if line shorter than maximum line width (...) et indique donc 3 sur 3 entre parenthèses.
  7. Sélectionnez le treenode des Constants
  8. Vérifier Force split, even if line shorter than maximum line width

Cela définit les 3 sous-noeuds pour le code source enum sur la même politique d’emballage, et la même stratégie de fractionnement de la force à l’exception du treenode Constants , afin que vos énumérations avec des arguments soient formatées sur leur propre ligne. Les arguments ne seront renvoyés que s’ils dépassent la largeur de ligne maximale.

Exemples:

@wjans

 enum Example { CANCELLED, RUNNING, WAITING, FINISHED } enum Example { GREEN( 0, 255, 0), RED( 255, 0, 0) } 

Solution décrite ci-dessus:

 enum Example { CANCELLED, RUNNING, WAITING, FINISHED } enum Example { GREEN(0, 255, 0), RED(255, 0, 0) } 

Vous pouvez spécifier ceci dans vos préférences de formatage:

  • Préférences: Java – Code Style – Formatter
  • Cliquez sur Modifier
  • Sélectionnez l’onglet ‘Line Wrapping’
  • Sélectionnez ‘enum’ declaration -> Constantes dans la case de gauche
  • Définissez la stratégie de retour à la ligne sur “Envelopper tous les éléments, chaque élément sur une nouvelle ligne”
  • Cochez ‘Force split …’

C’est un peu moche aussi, mais si la politique de votre entreprise vous empêche de modifier le formateur, vous pouvez simplement mettre des commentaires à la fin des lignes que vous ne voulez pas encapsuler.

 public static enum Command { login,// register,// logout,// newMessage// }; 

Ce n’est pas bien mais vous pouvez désactiver le formateur Eclipse pour certaines sections de code …

 // @formatter:off public static enum Command { login, register, logout, newMessage }; // @formatter:on 

L’option est dans le Windows-> Préférences-> Java-> Style de code-> Formateur-> Édition-> Off / On Tags

Vous devez définir la stratégie de retour à la ligne sous la déclaration enum pour “Constantes”.

Définissez la stratégie d’emballage sur

  • Enveloppez tous les éléments, chaque élément sur une nouvelle ligne

ET

  • Cochez la case “Force Split, même si la ligne est plus courte que ,,,,,