Eclipse代码样式格式化程序:如何将初始值设定项列表的右括号保持在单独的行中?

Eclipse代码样式格式化程序:如何将初始值设定项列表的右括号保持在单独的行中?,eclipse,initializer-list,curly-braces,Eclipse,Initializer List,Curly Braces,我已经在Eclipse中的代码样式格式化程序中设置了自己的配置文件。我已将所有大括号位置设置为“下一行”,加上行内换行-表达式-初始值设定项列表“换行所有元素,每一个元素在新行上”,并已选中“强制拆分…”。然而,代码如下所示: /* * Initializer list */ int array[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13

我已经在Eclipse中的代码样式格式化程序中设置了自己的配置文件。我已将所有大括号位置设置为“下一行”,加上行内换行-表达式-初始值设定项列表“换行所有元素,每一个元素在新行上”,并已选中“强制拆分…”。然而,代码如下所示:

/*
 * Initializer list
 */
int array[] =
{
    1,
    2,
    3,
    4,
    5,
    6,
    7,
    8,
    9,
    10,
    11,
    12,
    13,
    14,
    15,
    16,
    17 };
/*
 * Initializer list
 */
int array[] =
{
    1,
    2,
    3,
    4,
    5,
    6,
    7,
    8,
    9,
    10,
    11,
    12,
    13,
    14,
    15,
    16,
    17 
};
我希望它看起来像这样:

/*
 * Initializer list
 */
int array[] =
{
    1,
    2,
    3,
    4,
    5,
    6,
    7,
    8,
    9,
    10,
    11,
    12,
    13,
    14,
    15,
    16,
    17 };
/*
 * Initializer list
 */
int array[] =
{
    1,
    2,
    3,
    4,
    5,
    6,
    7,
    8,
    9,
    10,
    11,
    12,
    13,
    14,
    15,
    16,
    17 
};
只有在将代码样式应用于代码后手动更改大括号时,选中“从不连接已包装的行”才有助于将大括号保留在单独的行中。这真的很烦人,而且花费了很多时间(巨大的代码)


有没有办法在默认设置中将右大括号保留在单独的行上?

转到
Window>Preferences>Java>code-Style>Formatter

单击活动格式化程序的编辑按钮。将出现一个对话框

转到新行选项卡。转到数组初始值设定项组


选择在打开数组初始值设定项大括号后插入新行在关闭数组初始值设定项大括号前插入新行选项保存配置文件。

我知道这是一个老问题,但我想无论如何我都会回答它,以防有人仍然试图解决这个问题

由于某些原因,您可以更改的许多选项在C/C++的“格式化程序”对话框中不可见,或者我很难找到它们,例如上面结束括号前的“插入新行”

但是,如果您将格式导出到xml文件,您会发现上面的选项实际上存在,并且可以手动修改

若要导出,请单击“编辑”按钮,无论您试图将其添加到哪个配置文件,然后可以从该对话框中将其导出为您喜欢的任何名称

导出xml后,可以使用任何编辑器编辑xml

要查找和更改的行包括:

“org.eclipse.cdt.core.formatter.insert\u space\u在数组中打开括号\u初始化器”value=“insert”

“org.eclipse.cdt.core.formatter.insert\u new\u line\u在\u数组中关闭大括号\u初始值设定项”value=“insert”

后者是我在fomatter对话框中找不到的一个,可以拯救我的生命,让我使用C/C++

然后保存更改并从相同的格式配置文件选择对话框(Windows->Preferences->C/C++->Code Style->Formatter)导入Eclipse

另外需要注意的是,在一些基于Eclipse的IDE(例如TI的CodeComposer Studio)上,您必须单击“首选项”对话框左下角的“显示高级设置”链接,才能看到C/C++首选项选项


希望这对其他人有所帮助。

我有C代码,所以它是C/C++代码样式格式化程序。在“新行”下只有一个选项:在构造函数初始值设定项列表中的冒号之前插入新行。