Domanda

Sto provando IntelliJ e ho un piccolo fastidio che non riesco a capire se esiste una possibile soluzione in IntelliJ. In Eclipse e persino TextMate (così come molti altri editor con completamento automatico), se ti trovi nel mezzo di una sezione di completamento automatico come un'area di stringa o parentesi, puoi premere Invio o Tab per arrivare alla fine di quella sezione. Ad esempio:

if (blah.equals(something.toString()))

Il cursore si troverebbe nel mezzo della parentesi della parte toString. In IntelliJ, puoi digitare tra parentesi senza problemi, oppure potresti premere il tasto "Fine" chiave per arrivare alla fine. Uno è un piccolo fastidio, l'altro è più fastidioso poiché devo togliere le mani dalla fila di casa. In eclissi potrei premere il tasto Invio e mi tirerebbe fuori da questo ... TextMate, Tab.

Esiste un'impostazione che posso modificare o qualcosa che posso fare per darmi funzionalità simili in IntelliJ?

È stato utile?

Soluzione

In quel contesto se premi Ctrl-Shift-Enter come suggerisce CrazyCoder, ottieni questo comportamento. Aggiungerà le parentesi graffe e posizionerà il cursore sulla riga successiva. Puoi anche premere Maiusc-Invio che ti porterà alla riga successiva e fa meno ipotesi sul codice. Ctrl-Shift-Enter si comporta in modo diverso a seconda del codice che sta guardando, in modo che non ti dia un comportamento coerente. Ad esempio nel mezzo di una stringa ti mette alla fine della linea e aggiunge un punto e virgola.

Sembra proprio che la chiave end sia preferita qui per arrivare alla fine della riga. Puoi aggiungere nella mappa chiave una chiave aggiuntiva per andare alla fine della riga, se una combinazione di tasti diversa funziona meglio per te, ma non cambierà solo il suo comportamento perché sei nel mezzo di una parentesi.

Osservando le opzioni IDEA, sembra che il comportamento tra parentesi non sia in realtà un modello live come la creazione automatica di un ciclo for, quindi non esegui il tab out quando hai finito, piuttosto completa automaticamente le parentesi per e riconoscendo in modo intelligente che potresti voler scrivere in modo fluido come se non lo fosse.

Altri suggerimenti

ho provato cmd-shift-enter (su mac) e il risultato mi sembra più utile (nel codice javascript). sto usando una pipe ('|') per visualizzare il cursore qui:

prima

var x = func1(func2(|))

dopo aver premuto cmd-shift-enter:

var x = func1(func2());|

quindi aggiunge anche il punto e virgola alla fine della riga (ma devi ancora premere di nuovo invio per passare alla riga successiva).

Modifica

ho appena trovato questo collegamento ancora più utile:

prima

if(a == b|)

dopo aver premuto cmd-shift-enter :

if(a == b) {
    |
}

funziona sia in php che in javascript

Dal momento che queste risposte sono un po 'vecchie, non so se qualcuno sia a conoscenza del fatto che puoi uscire dal completamento automatico allegato archiviato digitando Maiusc + KEY

In Java se hai eseguito System.out.println (" Hello World! "); Se il cursore si trova all'interno di " " ;, Maiusc + " ti porterà fuori da " " e Maiusc + ) ti porterà fuori da ()

Attualmente non supportato da Intellij. È disponibile una richiesta di funzionalità aperta su http://youtrack.jetbrains.com/issue/IDEA- 74666 . I voti extra sarebbero carini.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top