我的团队的惯例是始终使用带条件的大括号,并在开头的大括号之前使用换行符的循环,但对于单行语句,我们不在大括号之间包含任何换行符。例如:
if( condition )
{ doIt(); }
我们使用clang格式来自动格式化代码,但据我所知,这不是clang格式可以处理的约定。结果是,我必须非常小心,不要自动格式化整个源文件,否则我会固定每一行if
、else
、for
等。我发现自己重复地撤消了同一源文件中相同的自动格式化行。
我刚刚开始使用CLion,我可以很容易地设置它的默认格式,以匹配我们使用clang格式所做的操作,但我仍然不知道如何匹配我们的大括号封闭的单行约定。
有没有一种方法可以告诉CLion或clang格式这样做?显而易见的解决方案是要么完全避免自动格式化,要么说服我的团队采用一种更容易适应的约定,但两者都不是一种选择(他们是一群非常挑剔的人,对代码风格有着非常坚定的意见(。
-
您不能遵循
if(condition(
{doIt((;}CLion本机格式化程序中的调用,对不起。
-
CLion支持开箱即用的
clang-format
。