Existe alguma variável no formatador externo (org.eclipse.jdt.core.formatter ......) para impor cada variável enum em uma linha separada?
Paramesh Korrakuti
Respostas:
198
A resposta de @wjans funcionou bem para enums normais, mas não para enums com argumentos. Para expandir um pouco sua resposta, aqui estão as configurações que forneceram a formatação mais adequada para mim no Eclipse Juno:
Window> Preferences> Java> Code Style>Formatter
Clique Edit
Selecione a Line Wrappingguia
Selecione o enumtreenode de declaração
Defina Line wrapping policycomo Wrap all elements, every element on a new line (...)assim agora diz 3 de 3 entre parênteses.
Desmarque Force split, even if line shorter than maximum line width (...)para que agora diga 3 de 3 entre parênteses.
Selecione o Constantstreenó
Verifica Force split, even if line shorter than maximum line width
Isso define os 3 subnós do treenó enum para a mesma política de agrupamento e a mesma política de divisão de força, exceto para o Constantstreenó, de modo que seus enums com argumentos serão formatados cada um em sua própria linha. Os argumentos só serão quebrados se excederem a largura máxima da linha.
Eu tive esse problema por meses. A única coisa que eu não tentei foi "forçar divisão". Não sei por que ele deve ser necessário, já que você pensaria que "envolver todos os elementos" na verdade envolveria todos os elementos! Obrigado pela solução.
LegendLength
11
É um pouco feio também, mas se a política da sua empresa impedir que você altere o formatador, você pode simplesmente colocar comentários no final das linhas que não deseja quebrar.
Respostas:
A resposta de @wjans funcionou bem para enums normais, mas não para enums com argumentos. Para expandir um pouco sua resposta, aqui estão as configurações que forneceram a formatação mais adequada para mim no Eclipse Juno:
Window
>Preferences
>Java
>Code Style
>Formatter
Edit
Line Wrapping
guiaenum
treenode de declaraçãoLine wrapping policy
comoWrap all elements, every element on a new line (...)
assim agora diz 3 de 3 entre parênteses.Force split, even if line shorter than maximum line width (...)
para que agora diga 3 de 3 entre parênteses.Constants
treenóForce split, even if line shorter than maximum line width
Isso define os 3 subnós do treenó enum para a mesma política de agrupamento e a mesma política de divisão de força, exceto para o
Constants
treenó, de modo que seus enums com argumentos serão formatados cada um em sua própria linha. Os argumentos só serão quebrados se excederem a largura máxima da linha.Exemplos:
@wjans
Solução descrita acima:
fonte
Você pode especificar isso nas preferências do formatador:
fonte
É um pouco feio também, mas se a política da sua empresa impedir que você altere o formatador, você pode simplesmente colocar comentários no final das linhas que não deseja quebrar.
fonte
Não é legal, mas você pode desligar o formatador Eclipse para algumas seções do código ...
a opção está no painel Windows-> Preferências-> Java-> Estilo de Código-> Formatador-> Editar-> Off / On Tags
fonte
Você precisa definir a política de quebra de linha sob a declaração enum para "Constantes".
Defina a política de embalagem para
E
fonte
Acabei de adicionar o Eclipse 2018.9
Window > Preferences > Java > Code Style > Formatter
-Edit
Line Wrapping
nó da árvore.Wrapping settings
'enum' declaration
Constants
eConstant arguments
.As constantes precisam ser
Wrap all elements, every element on a new line
. Argumentos constantes precisam serWrap where necessary
.fonte