Como ter o formatador quebrar o código com o IntelliJ?


135

Não consigo formatar meu código no IntelliJ.

Eu posso ver a linha de margem (por padrão em 120 colunas), mas parece que a ativação no menu:

Código -> Reformatar código

está apenas ignorando essa margem.

Respostas:


91

Você quer dizer que o formatador não quebra linhas longas? Verifique Configurações / Configurações do projeto / Estilo do código / Quebra automática.

Atualização: nas versões posteriores do IntelliJ, a opção está em Configurações / Editor / Estilo do código. E selecione Wrap when typing reaches right margin.


1
esta opção não está mais lá, usando a versão 13.0.2, e os restos de problema ..
ipolevoy

34
@ipolevoy o nome da opção é "Garantir margem direita não é ultrapassada"
madhead

13
O "Garantir margem direita não é excedido" opção é no Arquivo / Configurações / editor / Código Estilo / Java / Embalagem e Suspensórios / Manter ao reformatar
Aaron

esses caras manter em chaves de ajuste renomear o tempo todo
ACV

Isso está correto, mas em novas versões, foram adicionadas opções adicionais para fornecer um controle mais preciso sobre o que pode ser empacotado. Consulte stackoverflow.com/a/52157389/1104581 para obter a resposta atual correta.
Ipetrik 9/10/19

160

IDÉIA IntelliJ 14, 15, 2016 e 2017

Formatar código existente

  1. Garantir que a margem direita não seja excedida

    Arquivo> Configurações> Editor> Estilo do código> Java> Embrulho e chaves> Verifique se a margem direita não é excedida

    Configurações de arquivo Garanta margem certa

  2. Reformatar código

    Código> Reformatar código ...

    Reformatar código

    ou pressione Ctrl+ Alt+L

    Aviso Se você tem algo parecido com isto:

    thisLineIsVeryLongAndWillBeChanged();   // comment
    

    será convertido para

    thisLineIsVeryLongAndWillBeChanged();   
    // comment  
    

    ao invés de

    // comment  
    thisLineIsVeryLongAndWillBeChanged();   
    

    É por isso que seleciono trechos de código antes de reformatar se o código se parece com o exemplo anterior.

Quebrar quando a digitação atinge a margem direita

  • IntelliJ IDEA 14 : Arquivo> Configurações> Editor> Estilo do código> Quebrar ao digitar atinge a margem direita

    Quebrar ao digitar

  • IDEA IntelliJ 15, 2016 e 2017 : Arquivo> Configurações> Editor> Estilo do código> Quebrar ao digitar

    Quebra de digitação


5
Sim! Esta é a resposta real, muito obrigado! O ponto é que o problema Wrap when typing reaches right marginserá tremendo quando você alterar algo em uma linha que já foi quebrada. Sua resposta apenas limpa após a invocação. Combinado com uma macro "salvar e formatar", isso é ouro puro!
Patrick

1
Gostaria de adicionar uma palavra-chave aqui, que é o que se pode procurar: é o que chamamos de invólucro rígido (em oposição ao invólucro flexível - veja a diferença aqui ).
Iled

1
Existe uma maneira de ter o número correto de linhas, em vez de apenas garantir que não exceda o máximo? Ex: digito uma linha longa, a divide em duas linhas, excluo algo na primeira linha e mescla as duas linhas novamente em uma linha.
user2259659

1
Também: Nenhuma orientação para 2.018,1
8bitjunkie

1
2017 "Quebra de digitação" não funciona. texto ainda cruza a linha e nada acontece na reformatação
tylik

16

Ativar "Garantir que a margem direita não seja excedida" não funciona para mim no Intellij IDEA 2018.2. Eu encontrei a solução alternativa, precisamos alterar todos os elementos abaixo de "Não quebrar" para "Quebra se longa".

insira a descrição da imagem aqui insira a descrição da imagem aqui

Depois disso, podemos visualizar que tipo de quebra automática será alterado olhando no painel direito. Se estivermos satisfeitos, clique em "OK" ou "Aplicar" para aplicar as alterações. Finalmente, precisamos de um formato manual usando CTRL+ ALT+ Lno Windows e Command+ Shift+ Lno MacOS.


Este também foi o problema para mim. Se essa caixa de seleção estiver definida, mas o restante for deixado como padrão, o IntelliJ tenta quebrar as linhas, mas não pode porque tudo está definido como "Não quebrar".
Robber

12

Ou você pode usar o atalho:

Ctrl + Alt + L


4
Você poderia postar o nome dessa ação (Configurações -> Mapa de teclas)? Na maioria dos Linux, a combinação CTRL + ALT + L é usada para bloquear o computador. Não consigo nem usar a "Localizar ação por atalho".
Julio

2
@tomrozb este atalho é para Código -> Reformatar Código.
precisa saber é o seguinte

1
Isso bloqueia minha tela.
8bitjunkie

3

Você pode criar uma macro para Ctrl + Shift + S (por exemplo) que faça tudo isso:

Editar> Macros> Iniciar gravação de macro (a gravação será iniciada). Clique onde você precisa.

Por exemplo:

Code > Reformat Code
Code > Auto-Indent Lines
Code > Optimize Imports
Code > Rearrange Code
File > Save All
... (all that you want)

Em seguida, clique no botão vermelho no canto inferior direito do IDE para interromper a gravação de macro.

Defina um nome de macro.

Vá para Arquivo> Configurações> Macros> SEU NOME DE MACRO .

Clique com o botão direito do mouse> Adicionar atalho de teclado e digite Ctrl + Shift + S.


Este é um recurso básico do IDE. As macros são OTT e muito complicadas para algo tão simples.
8bjunkie

2

Para quebrar o texto no editor de código na comunidade IntelliJ IDEA 2020.1, siga estas etapas:

Ctrl + Shift + "A" OR Help -> Find Action
Enter: "wrap" into the text box
Toggle: View | Active Editor Soft-Wrap "ON"

insira a descrição da imagem aqui


0

No mais recente Intellij ver 2020, temos uma opção chamada quebra automática desses arquivos. Configurações -> Editor -> Geral -> agrupe esses arquivos com facilidade. Marque esta opção e adicione o tipo de arquivo que você precisa agrupar.

opção intellij soft wrap

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.