[英]clang-format with only minimal specific rules - no defaults
我正在使用 clang-format 並且我試圖只設置例如 120 列限制但無論我嘗試什么 clang 都應用除此之外的許多規則。 如果我指定所有規則並設置它們的值,那么它會做我想做的,但我,例如,只想設置一個換行規則。 clang-format 可以做到嗎?
謝謝
這是我的.clang-format
文件,它位於源文件的父目錄中:
---
Language: Cpp
ColumnLimit: 120
...
請注意,我沒有BasedOnStyle
字段,因此我預計 clang 不會使用樣式的默認值。
這是我的運行方式:
clang-format -style=file -i src/foo.cpp
這是 foo.cpp
int main(int argc, char const *argv[]) {
int rc = -1;
// This if clause should be wrapped at 120 by clang which it does
if (argc == 1 && && argc != 2 && argc != 3 && argc != 4 && argc != 5 && argc != 6 && argc != 7 && argc != 8 && argc != 9 && argc != 10) {
rc = 0;
}
// This if clause shouldn't be touched by clang. but it is.
if(args > 1)
{
rc = 1;
}
return rc;
}
預期結果:僅換行超過 120 個字符的行。
int main(int argc, char const *argv[]) {
int rc = -1;
// This if clause should be wrapped at 120 by clang which it does
if (argc == 1 && && argc != 2 && argc != 3 && argc != 4 && argc != 5 && argc != 6 && argc != 7 && argc != 8 &&
argc != 9 && argc != 10) {
rc = 0;
}
// This if clause shouldn't be touched by clang. but it is.
if(args > 1)
{
rc = 1;
}
return rc;
}
實際結果:應用了許多規則並且每一行都被更改。 在這種情況下,例如縮進變為 2 個空格。 我是一個真實世界的例子,許多規則適用於具有更多代碼的文件。
int main(int argc, char const *argv[]) {
int rc = -1;
// This if clause should be wrapped at 120 by clang which it does
if (argc == 1 && &&argc != 2 && argc != 3 && argc != 4 && argc != 5 && argc != 6 && argc != 7 && argc != 8 &&
argc != 9 && argc != 10) {
rc = 0;
}
// This if clause shouldn't be touched by clang. but it is.
if (args > 1) {
rc = 1;
}
return rc;
}
這個問題與How can I apply only one clang-format action?重復。
該問題的公認答案仍然正確/有效,因此最新版本的 clang-format 不可能滿足您的要求。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.