Domanda

Java-mode sembra essere rimozione dell'indentazione piuttosto che il rientro dopo una dichiarazione del metodo.

Con questo intendo che mi aspetto di vedere questo:

class GoodExample {
    public void method() {
        allNicelyIndented();
        noProblemsHere();
    }
}

Ma invece ottenere questo:

class CrazyIndenting {
    public void method() {  // ((inclass 134) (topmost-intro 326))
  whyIsThisUnindented();    // ((defun-block-intro 379))
  itsMessingWithMyHead();   // ((statement 454))
    }
}

M-x c-set-style RET java e conferma quindi C-x h C-M-\ che sta utilizzando lo stile java per l'intero buffer.

Uso cc-modalità caratteristiche interattive , C-c C-s dà i simboli che ho messo nei commenti dopo il codice errato formattato, e C-c C-o suggerisce valori di default che sembrano sensibile. (0, + e 0 per dichiarazione decrescente)

Guardando attraverso le mie .emacs, non riesco a vedere tutto ciò che potrebbe essere pasticciano con cc-mode, quindi sono un po 'bloccato per le direzioni per indagare successivo. L'Unindent per l'istruzione è inferiore al rientro per la dichiarazione di metodo (2 "spazi" invece di 4), quindi forse c'è una certa confusione scheda / spazio?

Versioni:. Emacs 22.2.1, JDE 2.3.5.1 e CC-mode 5.31.5

È stato utile?

Soluzione

Anche se io non sono sicuro di quello che sta causando i vostri problemi con JDEE, posso suggerire di provare malabar -mode . E 'l'unico modo di Java in Emacs che sta incorporando roba moderna (come ad esempio l'integrazione con Maven e Groovy) ed è in fase di sviluppo attivo ...

Oltre a questo - Sono abbastanza sicuro che il rientro di base Java funziona bene con JDEE (e anche con il java-mode più vecchio), quindi il problema è causato probabilmente da voi Config (configurazione di cc-mode, in particolare, credo) .

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