41 votes

Comment puis-je faire en sorte que l'autoformatter d'eclipse ignore une section de code?

Je me souviens qu'il y avait un moyen de marquer une section de code dans eclipse (commentaire spécial ou annotation?) qui faisait que la mise en forme automatique l'ignorait. Ou j'ai peut-être tenté cela ...

Utilisé principalement quand j'ai des chaînes qui recouvrent plusieurs lignes et je ne veux pas que l'autoformatter réorganise cela.

60voto

stm Points 366

Depuis eclipse 3.5 (ou 3.6), cela est possible: - Allez dans les propriétés du projet - Style de code Java - Formateur - Éditer ... - choisissez l'onglet "Balises désactivées / désactivées", - incluez les balises dans les commentaires de votre le code source, comme

 /* @formatter:on */
 

9voto

matt burns Points 6072

Vous pouvez insérer le code que vous ne voulez pas mettre en forme automatiquement entre ces commentaires spéciaux:

 normal code

/* @formatter:off */
strangely laid out code
/* @formatter:on */

normal code
 

Voici un exemple d'utilisation de base qui rend une chaîne json (légèrement) plus lisible:

 public class SomeTest {

    @Test
    public void can_deserialize_json() {
        /* @formatter:off */
        String json = "" +
        "{" +
        "   \"id\" : 123," +
        "   \"address1\" : blah," +
        "   \"shippingInfo\" : {" +
        "      \"trackingUrl\" : null," +
        "      \"price\" : 350" +
        "   }," +
        "   \"errorMessage\" : null" +
        "}";
        /* @formatter:on */
        MyClass.deserializeJson(json);
    }
}
 

2voto

Joachim Sauer Points 133411

Je ne connais que la réponse pour les commentaires:

Eclipse est suffisamment intelligent pour reformater les commentaires sans que le JavaDoc généré ne change (c.-à-d. Où les espaces n'ont pas d'importance):

 /**
 * foo <i>
 * bar </i>
 * 
 * <pre>
 *   foo
 * bar
 * </pre>
 */
 

sera reformaté en

 /**
 * foo <i> bar </i>
 * 
 * <pre>
 *   foo
 * bar
 * </pre>
 */
 

Notez que le contenu des balises <pre> n'est pas reformaté.

Pour les littéraux de chaîne longs, je suggérerais qu'ils pourraient indiquer que vous devriez externaliser certains d'entre eux.

1voto

Chris Cameron Points 3841

Je ne suis pas sûr que le exact de la fonction vous faites allusion, mais vous pouvez modifier le wrap ligne politique des expressions, ce qui peut vous aider avec vos chaînes problème. Voir:

Fenêtre->Préférences->Java->Style De Code->Formateur

Cliquez Sur "Modifier..." Bouton

Cliquez Sur "Retour À La Ligne" De L'Onglet

Dans l'arborescence, sélectionnez Expressions->Affectations, puis modifiez le retrait de la politique au bas de la fenêtre.

Bien sûr, il existe une multitude d'autres options à l'intérieur du module de formatage, vous pouvez trouver de nombreux de ces utiles aussi bien pour les autres règles, telles que l'emplacement de votre accolades, ou indentation des blocs de contrôle.

1voto

guerda Points 7417

Je viens de trouver cette question parce que je suis également agacé par l'absence de cette fonctionnalité.

Une petite recherche a montré cette question et la réponse suivante: Arrêter eclipse from line wrapping?

Eclipse 3.5 le supporte. (Il a frappé le candidat à la libération il y a quelques jours, alors il pourrait être intéressant de vérifier)

Bonne chance avec ça! :)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X