Question

Java en mode semble être désindendation plutôt que indenter après une déclaration de méthode.

Par ce que je veux dire que je me attends de voir ceci:

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

Mais au lieu obtenir ceci:

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 puis C-x h C-M-\ confirme qu'il est utilise le style java pour le tampon entier.

Utilisation cc-modes fonctions interactives , C-c C-s donne les symboles que j'ai mis dans les commentaires après le code mal formaté, et C-c C-o suggère des valeurs par défaut qui ont l'air raisonnable. (0, + et 0 pour instruction descendante)

En regardant à travers mes emacs, je ne vois rien qui pourrait être déconner avec le mode cc, donc je suis un peu coincé pour les directions pour enquêter sur suivant. Le unindent de la déclaration est inférieur au tiret pour la déclaration de méthode (2 « espaces » au lieu de 4), alors peut-être il y a une certaine confusion onglet / espace?

Versions:. Emacs 22.2.1, JDE 2.3.5.1 et CC-mode 5.31.5

Était-ce utile?

La solution

Bien que je ne sais pas ce qui cause vos problèmes avec JDEE, je peux vous suggérer d'essayer Malabar -MODE à la place. Il est le seul mode Java dans Emacs qui est l'intégration des choses modernes (telles que l'intégration avec Maven et groovy) et est en cours de développement ...

Autre que cela - je suis sûr que indentation Java de base fonctionne bien avec JDEE (et même avec le java-ancien mode), de sorte que le problème est probablement dû vous config (configuration cc-mode dans guess particulier I) .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top