2016-10-04 60 views
7

我想配置鐺格式,這樣通常會牙套自己行啓動:使用鐺格式 - 保持空括號在同一行

void func() 
{ 
    if (...) 
    { 
     printf("Ta Da\n"); 
    } 
} 

但我想它是如此的時候大括號是空的,它將被保存在一行中。 (主要用於構建函數):

Bar::Bar(int val): 
    _val(val) 
{} 

目前它看起來就像這樣:

Bar::Bar(int val): 
    _val(val) 
{ 
} 

任何想法?

(編輯等問題使形勢更爲清晰)

+1

這是該風格的預期行爲。空的構造函數沒有主體,所以在同一行上寫支撐是有道理的。如果你想要更多的選擇,也許嘗試ASTYLE而不是鏗鏘的格式,但是我不知道它是否可能。 – plasmacel

+0

誤會。編輯更清晰 – user972014

回答

2

我用的 「AllowShortFunctionsOnASingleLine」組合:真實, 和 「BreakBeforeBraces」:「奧爾曼」, 宣告空構造等時,得到它的一條線...

2

更新:萬歲!現在可以使用Clang 5.0或更高版本自定義BreakBeforeBraces。 請參閱SplitEmptyFunction中的documentation

配置實施例:

BreakBeforeBraces: Custom 
BraceWrapping: 
    SplitEmptyFunction: false 

不幸的是,是不可能與鏘4.0 當前鐺格式選項來實現(如鏘4.0)

來源:我有同樣的問題。在研究了每個記錄的選項和許多調整嘗試之後,我無法實現這一點。根據我的經驗,clang格式不如人們希望的那麼靈活。一旦你想要走出預定義的樣式並根據自己的喜好調整它,它就不會削減它。

+0

我也開始注意到它的侷限性。但是,它似乎仍然是我們工作的最佳工具。 –

+1

@BernardoSulzbach Clang 5最後在同一行上啓用空括號。我更新了答案。 – AMA

相關問題