Tôi có tập tin .clang-format tiếp theo trong thư mục gốc của dự án của tôi:Làm thế nào để tự động thụt lề một lớp C++ với 4 dấu cách bằng cách sử dụng định dạng clang?
---
AlignTrailingComments: true
AllowShortFunctionsOnASingleLine: false
AllowShortIfStatementsOnASingleLine: true
AllowShortLoopsOnASingleLine: true
BreakBeforeBinaryOperators: false
IndentWidth: 4
SortIncludes: false
NamespaceIndentation: All
...
Vấn đề xảy ra khi tôi chạy kêu vang-format trên c của tôi ++ tiêu đề, các lớp học trở thành autoindented như thế này:
Như bạn có thể thấy, nhãn công khai & riêng chỉ được thụt vào với 2 dấu cách. Nhưng những gì tôi đang cố gắng để đạt được là sản phẩm dưới đây (thụt đầu dòng được bằng tay tinh chỉnh):
Bằng cách đó mã sụp đổ trở thành một cái gì đó thực sự thú vị để làm.
Làm cách nào để tinh chỉnh định dạng .clang của tôi để đạt được hiệu ứng này?
EDIT:
Tôi đã cố gắng sử dụng các giá trị unsuccesfully AccessModifierOffset, tôi đã sử dụng {} -2,0,2,4 exampe dưới đây:
Như bạn có thể thấy tuyên bố bên trong khối công cộng sẽ không được thụt lề đúng cách.
EDIT2:
Tôi đã thử các giải pháp @Henrique Jung và đó là chắc chắn không phải những gì tôi đang yêu cầu, nếu sử dụng kết hợp đó kết quả sẽ là một cái gì đó như thế này:
Và như bạn có thể thấy, nội dung bên trong các hàm được thụt vào 8 dấu cách thay vì 4, không tốt.
EDIT3:
Tôi đã đưa ra một số tiền thưởng vài tháng trước vì vậy tôi sẽ thử lại vì điều này thực sự thú vị. Nếu tôi có đủ kiến thức về mã nguồn định dạng clang tôi sẽ cho nó một shot, tiếc là tôi không ... Tôi hy vọng một số dev dev sẽ có một cái nhìn này và đưa ra một số gợi ý.
thử "AccessModifierOffset". Đây là bản sao có thể có của một câu hỏi SO khác: http://stackoverflow.com/questions/29198963/how-can-i-tell-clang-format-to-indent-visibility-modifiers – caoanan
@caoanan Không thực sự, tôi đã đã thử AccessModifierOffset vài ngày trước và vì một lý do nào đó nó không thụt lề đúng các lớp. Trong khi đó là sự thật rằng nó sẽ thụt lề công cộng/tư nhân/bảo vệ nó không thụt lề các báo cáo bên dưới chúng. Hãy nhìn vào câu hỏi của tôi, tôi đã đưa cho bạn một ví dụ – BPL
Eh, nếu chỉ tôi có thể dán một ảnh chụp màn hình [vào đây] (http://clang-format.me/). Có vẻ như bạn thích cài đặt kiểu Webkit. –