2008-09-19 7 views
8

Quand je lance tiret avec différentes options que je veux contre ma source, il fait ce que je veux, mais aussi salit avec le placement de * s dans les types de pointeur:Vous cherchez un outil plus flexible que GNU indent

-int send_pkt(tpkt_t* pkt, void* opt_data); 
    -void dump(tpkt_t* bp); 
    +int send_pkt(tpkt_t * pkt, void *opt_data); 
    +void dump(tpkt * bp); 

Je sais que mon placement de * s à côté du type n'est pas la variable non conventionnelle mais comment puis-je obtenir un retrait pour les laisser seuls? Ou y a-t-il un autre outil qui fera ce que je veux? J'ai regardé dans la page de manuel, la page d'informations, et visité une demi-douzaine de pages que Google a suggéré et je ne peux pas trouver une option pour le faire.

J'ai essayé Artistic Style (a.k.a. AStyle), mais je n'arrive pas à comprendre comment le mettre en retrait par multiples de 4, mais tous les 8 par onglet. C'est:

if (...) { 
<4spaces>if (...) { 
<tab>...some code here... 
<4spaces>} 
} 
+4

La mise en retrait de quatre espaces avec des tabulations de huit espaces est susceptible d'aggraver tout le monde qui essaie de conserver votre code. Ceux qui utilisent des onglets à quatre espaces (par exemple, les programmeurs Visual Studio) vont croire que vous avez foiré l'indentation. Ceux qui utilisent des onglets de huit espaces n'aimeront pas indenter quatre caractères. –

Répondre

17

uncrustify

uncrustify a plusieurs options sur la façon de mettre en retrait vos fichiers.

A partir du fichier de configuration:

indent_with_tabs       
    How to use tabs when indenting code 
    0=spaces only 
    1=indent with tabs, align with spaces 
    2=indent and align with tabs

Vous pouvez trouver here.

PPCB
Depuis le site Web: «programmes indentations bcpp source C/C++, en remplacement des onglets avec des espaces ou l'inverse tiret Contrairement, il fait (par la conception) ne tentera pas d'envelopper de longues déclarations. »
Trouvez-le here.

UniversalIndentGUI
Il est un outil qui prend en charge plusieurs embellisseurs/traducteurs. Cela pourrait vous conduire à encore plus d'alternatives.
Trouvez le here.

Style artistique
Vous pouvez essayer Artistic Style aka AStyle à la place (même si elle ne fait pas ce que vous avez besoin de faire, je laisse ici au cas où quelqu'un d'autre juge utile).

+0

Plus 1, juste essayé le gui de retrait universel avec uncrustify, vous donne un aperçu "en temps réel" d'un fichier source. – Nick

Questions connexes