2008-09-19 4 views
8

Wenn ich indent mit verschiedenen Optionen betreibe ich gegen meine Quelle will, tut es, was ich will, sondern auch mit der Platzierung von * s in Zeigertypen verunstaltet:für ein flexibleres Werkzeug der Suche als 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); 

Ich kenne meine Platzierung von * s neben dem Typ nicht die Variable ist unkonventionell, aber wie kann ich Einzug bekommen, um sie in Ruhe zu lassen? Oder gibt es ein anderes Werkzeug, das tun wird, was ich will? Ich habe auf der Manpage, der Infoseite, nachgesehen und ein halbes Dutzend Seiten besucht, die Google vorgeschlagen hat, und ich kann keine Option dafür finden.

Ich habe versucht, Artistic Style (a.k.a.AStyle), aber kann nicht herausfinden, wie man es in Vielfachen von 4 Einzug machen, aber alle 8 ein Tab machen. Das heißt:

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

Das Einrücken von vier Leerzeichen mit Tabstopps mit acht Leerzeichen erschwert wahrscheinlich alle anderen, die versuchen, Ihren Code beizubehalten. Diejenigen, die Tabulatoren mit vier Leerzeichen verwenden (z. B. Visual Studio-Programmierer) werden glauben, dass Sie die Einrückung vermasselt haben. Diejenigen, die Tabulatoren mit acht Leerzeichen verwenden, mögen es nicht, vier Zeichen einzurücken. –

Antwort

17

Uncrustify

Uncrustify hat mehrere Optionen, wie Sie Ihre Dateien einrücken.

aus der Konfigurationsdatei:

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

Sie können es here finden.

BCPP
Von der Website: "bcpp Einzüge C/C++ Source-Programme, Tabs mit Leerzeichen oder umgekehrt ersetzt Anders als Gedankenstrich tut es (mit Absicht) nicht versuchen, lange Erklärungen zu wickeln."
Finden Sie here.

UniversalIndentGUI
Es ist ein Werkzeug, das mehr Verschönerungs/Formatter unterstützt. Es könnte Sie zu noch mehr Alternativen führen.
Finden Sie es here.

Kunststil
Sie Artistic Style aka AStyle stattdessen versuchen könnte (auch wenn es nicht das, was man braucht es tun, um zu tun, ich werde es für den Fall, lassen sich hier jemand anderes findet es sinnvoll).

+0

Plus 1, probieren Sie einfach die universelle Einzug Gui mit uncrustify, gibt Ihnen "Echtzeit" Vorschau einer Quelldatei. – Nick

Verwandte Themen