Come si modifica la modalità di formattazione automatica di intellij? [chiuso]


13

IntelliJ esegue una formattazione strana con il codice Javascript e sto cercando di capire come farlo smettere di formattare in questo modo. Ogni volta che eseguo una catena jQuery funziona insieme, rientra nel codice creato automaticamente come questo:

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

Voglio che assomigli a questo:

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

Come lo cambio?


le correzioni qui non hanno funzionato per me, quindi sono entrato in contatto con i jetbrain e hanno aperto un problema. Si prega di votare qui: youtrack.jetbrains.com/issue/WEB-15066
JonnyRaa

4
Sto votando per chiudere questa domanda come fuori tema perché si tratta di uno strumento software, tuttavia è troppo vecchio per migrare a StackTranslate.it.

Risposte:


11

Come menziona @intarg, nei commenti. È possibile modificare File|Settings|Code Style|Generale nella scheda Javascript impostare Continuation Indentsu 0 per Javascript.

Questo ti porterà la maggior parte di ciò che vuoi. il problema è che il tuo codice è in realtà tutto 1 istruzione lunga.

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

Non sono sicuro che esista un'opzione pertinente per evitare un'interruzione di riga dopo focus(

Oh, e assicurati di avere la scheda di esempio del codice Javascript attiva quando cambi le opzioni, altrimenti non le cambierai per Javascript.

EDIT: Ora che ho guardato oltre. Il formattatore Javascript è codificato per aggiungere un'interruzione di riga in quel caso specifico, non esiste un'opzione per esso.


Questo non funziona per me - ho ancora il
brivido

0

Tutte le impostazioni necessarie per controllare la formattazione del codice in intellij sono in File> Altre impostazioni> Impostazioni modello.

Se Javascript non è elencato (ovvero non hai installato un plug-in Javascript), puoi definire la formattazione del codice nella scheda Generale e quindi nella scheda Altro. Ci saranno opzioni per controllare il rientro e la spaziatura.


Penso che il problema sia che pensa che la funzione di .blur () sia un rientro di continuazione. L'unico modo per impedire che ciò accada è impostare il rientro di continuazione su 0, ma anche quello fa apparire male l'altro codice. Ti capita di conoscere un modo per dirlo che questo non è un trattino di continuazione o che stanno succedendo alcune cose interne?
intargc,

Hai installato un plug-in Javascript in intellij? So che ce ne sono alcuni disponibili. Se non si utilizza nessuno di essi, l'IDE eseguirà semplicemente il fallback su rientro / spaziatura standard. Idealmente useresti un plugin per rendere l'IDE consapevole di questi costrutti.
Desolato pianeta

Hai provato i jetbrain? Inoltre, hai provato a farlo con Eclipse. Non ho toccato Intellij per un po ', ma so che Eclipse ha un supporto plugin abbastanza buono ed è abbastanza facile controllare l'indentazione, ma in realtà non dovresti avere problemi con Intellij.
Desolate Planet,

Poiché l'edizione della community è open source, è sempre possibile ottenere il codice sorgente, crearlo e inserire punti di interruzione in cui esegue la formattazione per escludere se si verifica un problema interno. Se non fa quello che vuoi, applica una correzione e invia una patch a uno dei proprietari di repository, se hai il tempo e la propensione a farlo :)
Desolate Planet

Ho installato il plugin javascript. Proverò jetbrains e vedrò se qualcuno ha un indizio. Grazie.
intargc,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.