2008-09-19 40 views
8

Khi tôi chạy thụt lề với các tùy chọn khác nhau tôi muốn chống lại nguồn của tôi, nó làm những gì tôi muốn mà còn messes với các vị trí của * s trong các loại con trỏ:Tìm kiếm một công cụ linh hoạt hơn GNU thụt

-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); 

Tôi biết vị trí của tôi * s bên cạnh loại không phải là biến là độc đáo nhưng làm thế nào tôi có thể nhận được indent để chỉ để lại cho họ một mình? Hay là có một công cụ khác sẽ làm những gì tôi muốn? Tôi đã xem trang người đàn ông, trang thông tin và truy cập một nửa tá trang mà Google đề xuất và tôi không thể tìm thấy tùy chọn để thực hiện việc này.

Tôi đã thử Phong cách nghệ thuật (a.k.a. AStyle) nhưng dường như không thể tìm ra cách để làm cho nó thụt lề trong bội số của 4 nhưng làm cho mỗi 8 tab. Đó là:

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

thụt lề bởi bốn không gian với tám điểm dừng tab có khả năng làm trầm trọng thêm tất cả những người khác cố gắng duy trì mã của bạn. Những người sử dụng các tab bốn dấu cách (ví dụ, các lập trình viên Visual Studio) sẽ tin rằng bạn đã làm hỏng sự thụt đầu dòng. Những người sử dụng các tab 8 dấu cách sẽ không thích thụt lề bốn ký tự. –

Trả lời

17

Uncrustify

Uncrustify có một số tùy chọn về cách thụt tập tin của bạn.

Từ tập tin cấu hình:

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

Bạn có thể tìm thấy nó here.

BCPP
Từ trang web: "bcpp indents C/C++ chương trình nguồn, thay thế các tab với không gian hoặc ngược lại thụt Không giống như, nó (do thiết kế) không cố gắng để quấn báo cáo dài."
Tìm nó here.

UniversalIndentGUI
Đó là công cụ hỗ trợ một số trình làm đẹp/định dạng. Nó có thể đưa bạn đến nhiều lựa chọn thay thế hơn.
Tìm nó here.

Artistic Phong cách
Bạn có thể thử Artistic Style aka AStyle thay vì (mặc dù nó không làm những gì bạn cần nó để làm, tôi sẽ để nó ở đây trong trường hợp ai đó tìm thấy nó hữu ích).

+0

Plus 1, chỉ cần thử ra guent indent phổ quát với uncrustify, cung cấp cho bạn "thời gian thực" xem trước của một tập tin nguồn. – Nick

Các vấn đề liên quan