Công cụ định dạng / làm đẹp mã C ++ tốt nhất


127

Có rất nhiều công cụ định dạng mã nguồn ra khỏi đó. Những cái nào hoạt động tốt nhất cho C ++?

Tôi quan tâm đến các công cụ dòng lệnh hoặc những thứ khác có thể tự động chạy khi kiểm tra mã vào / ra, tốt nhất là không cần khởi chạy trình soạn thảo hoặc IDE.

(Nếu bạn thấy câu trả lời bạn thích đã được liệt kê dưới dạng câu trả lời, hãy bỏ phiếu. Nếu không có, hãy thêm nó vào.)

Câu trả lời:


120

AStyle có thể được tùy chỉnh rất chi tiết cho C ++ và Java (và những người khác nữa)

Đây là một công cụ định dạng mã nguồn.


clang-format là một công cụ dòng lệnh mạnh mẽ đi kèm với trình biên dịch clang xử lý ngay cả các cấu trúc ngôn ngữ khó hiểu nhất theo cách mạch lạc.

Nó có thể được tích hợp với Visual Studio, Emacs, Vim (và những người khác) và có thể định dạng chỉ các dòng được chọn (hoặc với git / svn để định dạng một số khác biệt).

Nó có thể được cấu hình với một loạt các tùy chọn được liệt kê ở đây .

Khi sử dụng các tệp cấu hình (được đặt tên .clang-format) có thể là mỗi thư mục - tệp gần nhất trong thư mục mẹ sẽ được sử dụng cho một tệp cụ thể.

Các kiểu có thể được kế thừa từ một giá trị đặt trước (giả sử LLVM hoặc Google) và sau đó có thể ghi đè các tùy chọn khác nhau

Nó được Google và những người khác sử dụng và đã sẵn sàng sản xuất.


Cũng nhìn vào dự án UniversalIndentGUI . Bạn có thể thử nghiệm với một số người thụt lề bằng cách sử dụng nó: AStyle, Uncrustify, GreatCode, ... và chọn thứ tốt nhất cho bạn. Bất kỳ trong số chúng có thể được chạy sau từ một dòng lệnh.


Uncrustifyrất nhiều tùy chọn cấu hình. Có lẽ bạn cũng cần GUI thụt chung (theo trả lời của Konstantin) để định cấu hình nó.


1
Chúng tôi có một số tệp nguồn lộn xộn chứa đầy các macro phức tạp, khiến chúng tôi khó hiểu cách sửa đổi mã hoặc đặt điểm dừng. Chúng tôi đã hủy macro nó bằng gcc -E, dẫn đến các dòng lồng nhau rất dài, nếu các câu lệnh v.v ... Astyle đã sửa nó để có thể đọc được, tiết kiệm cho chúng tôi rất nhiều rắc rối. Astyle có một vị trí cố định trên công cụ phần mềm của tôi!
DarenW

8
Mẹo Vim: nếu bạn muốn làm đẹp mã trong tệp bạn đang chỉnh sửa hiện tại, hãy sử dụng:%! Astyle
tonylo

Đây là một công cụ tuyệt vời. Tôi chạy astyle mỗi lần tôi phải làm việc trên cùng một dự án với cả MSVStudio trên windows (tại nơi làm việc) và emacs trên linux (ở nhà). Tôi sử dụng kiểu BSD với emacs và astyle (gần với kiểu tôi sử dụng với trình soạn thảo MSVC) và tôi luôn có mã nguồn được thụt lề đúng cách. Nó thậm chí trông đẹp độc lập với kích thước tab!
Alexandre C.

1
Thử nó. Rất dễ dàng để có được kết quả nhanh chóng (doc là tốt). Thật là xấu hổ vì không có quá nhiều lựa chọn! Một số lập trình viên rất sáng tạo với cách họ đệm mã của họ bằng khoảng trắng và AStyle không xử lý tất cả sự sáng tạo đó.
giận dữ

Không có tùy chọn chiều rộng dòng tối đa. Điều này nên là phải có.
Sogartar
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.