Eclipse CDT中的格式(换行)构造函数初始化列表

时间:2010-08-04 19:43:49

标签: c++ eclipse constructor formatting eclipse-cdt

我试着找到一个解决方案,现在~30分钟,找不到任何解决方案。 我正在尝试在CDT中设置代码样式,因此它给了我:

MyClass::MyClass() :    
var1(1), 
var2(2), 
var3(3){

}

而不是

MyClass::MyClass() :    
var1(1), var2(2), var3(3){

}

但我找不到这样做的选项。

我能找到的唯一“初始化列表”选项实际上是数组,因此对我没用。

我的问题是:我错过了正确的位置吗?是否有插件可以比CDT更好地格式化C ++代码?

3 个答案:

答案 0 :(得分:2)

@Eric提供手动解决方案,但要使此设置自动化,您需要编辑eclipse首选项。

点击:
窗口 - >选择

转到:
C / C ++ - >代码风格 - >格式化器

在这里,首先要创建一个新的配置文件。

选择标签:
换行

转到:
功能声明 - >构造函数初始化列表

在底部,您必须设置:

  • 换行策略:换行所有元素,新行上的每个元素。
  • 检查"强制拆分,即使行数小于最大值"
  • 缩进政策:缩进列

答案 1 :(得分:1)

好吧,我不能确切地告诉你如何做到这一点,但如果你不介意多一点额外的空白,我可以让你接近。在每一行之间输入一个空行。那就是:

MyClass::MyClass() :    
var1(1), 

var2(2), 

var3(3){
}

现在,当您重新格式化时,此布局将会坚持下去。我知道这不完全是你想要的,但我想我会张贴,以防你不知道这个解决方法。

答案 2 :(得分:1)

试试这个。我没有CDT包,所以我无法测试,但格式化在Java中做了类似的事情。

如果您在一行的末尾添加评论,则会保留换行符

MyClass::MyClass() : //
var1(1), //
var2(2), //
var3(3){ //

}