2016-12-21 19 views
2

我試圖在Ubuntu 14.04上使用clang格式(版本3.8)來清理我的C代碼庫。作爲一個需求,我需要clang格式來維護(或更好地執行)多個連續聲明/定義的縮進。例如:在同一縮進級別上的多個連續聲明/定義

void foo() 
{ 
    int  a; 
    float  b; 
    myLongType c; 
} 

運行鐺格式我得到以下輸出後:

void foo() 
{ 
    int a; 
    float b; 
    myLongType c; 
} 

有沒有我不知道的保留/強制執行此格式的選項?

如果這是不可能的,是否有可能在本地擴展clang格式的功能(就像使用clang-tidy?)還是必須打開功能請求?

我知道這種格式主要用在C代碼庫中,雖然幫助信息指出「格式化工具C/C++/Java/...」,但所有選項似乎主要針對C++。

回答

4

剛剛讀過正確的選項。從Clang Format Options website

AlignConsecutiveDeclarations(布爾):

如果爲true,對齊連續的聲明。

這將對齊連續行的聲明名稱。這將導致打印格式像

int   aaaa = 12; 
float  b = 23; 
std::string ccc = 23; 
+2

從'int'沒有可行的轉換成'的std :: string' – sp2danny

+0

你是對的,第二行應包含一個有效的'float'第三是有效的'字符串'初始化這些值。雖然在鐺文檔中也是錯誤的。也許我應該首先請求修復,然後相應地更改我的答案。 – datosh

相關問題