Como você altera como o intellij formata automaticamente o código? [fechadas]

13

IntelliJ faz alguma formatação estranha com código Javascript e estou tentando descobrir como fazê-lo parar de formatar dessa maneira. Sempre que eu encadeio as funções do jQuery, ele recua o código criado automaticamente, como este:

$('#something').focus(function() {
    /* Do some stuff */
}).blur(function() {
        /* this is where the cursor and closing braces end up */
        })

Eu quero que fique assim:

$('#something').focus(function() {
    /* Do some stuff */
}).blur(function() {
    /* cursor and closing braces indented normally */
});

Como eu mudo isso?

intargc
fonte
as correções aqui não funcionaram para mim, então entrei em contato com jetbrains e eles abriram um problema. Vote
JonnyRaa
4
Estou votando para encerrar esta questão como fora de tópico, porque se trata de uma ferramenta de software, no entanto, é muito antiga para migrar para o Stack Overflow.

Respostas:

11

Como o @intarg menciona, nos comentários. Você pode alterar File|Settings|Code Style|Generale, na guia Javascript, defina Continuation Indent0 para Javascript.

Isso fará com que você mais do que deseja. o problema é que seu código é na verdade uma declaração longa.

$('#something').focus(
function() {
    /* Do some stuff */
}).blur(function() {
    /* this is where the cursor and closing braces end up */
})

Não tenho certeza se existe uma opção relevante para impedir uma quebra de linha após focus(

Ah, e verifique se a guia de amostra de código Javascript está ativa quando você está alterando as opções - caso contrário, você não as alterará para Javascript.

Edição: Agora que eu olhei mais longe. O formatador Javascript é codificado para adicionar uma quebra de linha nesse caso específico, não há uma opção para isso.

sylvanaar
fonte
Isso não funciona para mim - eu ainda obter o deslizamento lateral, conforme descrito acima
JonnyRaa
0

Todas as configurações necessárias para controlar a formatação do código no intellij estão em Arquivo> Outras configurações> Configurações do modelo.

Se o Javascript não estiver listado (ou seja, você não instalou um plug-in Javascript), é possível definir a formatação do código na guia Geral e depois na guia Outros. Haverá opções para controlar o recuo e o espaçamento.

Planeta Desolado
fonte
Eu acho que o problema é que ele acha que a função de .blur () é um recuo de continuação. A única maneira de impedir isso é definir o recuo da continuação como 0, mas isso também faz com que outro código pareça ruim. Você saberia de uma maneira de dizer que isso não é um recuo de continuação ou que algumas coisas internas estão acontecendo?
Intargc #
Você instalou um plug-in Javascript no intellij? Eu sei que existem alguns disponíveis. Se você não estiver usando nenhum deles, o IDE simplesmente recuará no recuo / espaçamento padrão. Idealmente, você usaria um plug-in para conscientizar o IDE sobre essas construções.
Desolate Planet
Você já tentou jetbrains? Além disso, você já tentou fazer isso com o Eclipse. Não mexo no intellij há algum tempo, mas sei que o Eclipse tem um suporte de plug-in muito bom e é fácil o suficiente para controlar o recuo, mas você realmente não deve ter problemas com o intellij.
Desolate Planet
Como a edição da comunidade é de código aberto, você sempre pode obter o código-fonte, compilá-lo e inserir pontos de interrupção nos locais em que executa a formatação para descartar se há um problema interno. Se ele não fazer o que quiser, aplique uma correção e apresentar um patch para um dos proprietários compromissadas, se você tem tempo e disposição para fazer isso :)
Desolate Planeta
Eu tenho o plugin javascript instalado. Vou tentar jetbrains e ver se alguém tem uma pista. Obrigado.
Intargc #