如何在Eclipse中正确格式化布尔表达式

时间:2019-01-29 15:20:44

标签: eclipse eclipse-cdt code-formatting

我几乎想要用eclipse-cdt中的代码格式化程序,但是布尔表达式存在问题。

这是代码格式化程序的输出:

if (ACM_SlewRight)
    mStopWallSlewRight = (leftSide && absAngleCur > 900) || (rightSide && absAngleCur < 900);

}

return mStopWallSlewLeft||
mStopWallSlewRight ||
mStopWallBoom1_Up ||
mStopWallBoom1_Down ||
mStopWallBoom2_Up ||
mStopWallBoom2_Down ||
mStopWallTeleOut;

我希望它看起来像这样:

if (ACM_SlewRight)
{
    mStopWallSlewRight = (leftSide && absAngleCur > 900) || 
                         (rightSide && absAngleCur < 900);

}

return mStopWallSlewLeft||
       mStopWallSlewRight ||
       mStopWallBoom1_Up ||
       mStopWallBoom1_Down ||
       mStopWallBoom2_Up ||
       mStopWallBoom2_Down ||
       mStopWallTeleOut;

我不明白为什么将第一行的最大行宽配置为80而不是98,所以没有包装第一部分。返回值由我自己包装,因为包装器在这里也不会做任何事情。

我也尝试了所有可能找到的选项(尤其是在换行符->表达式中)。但是我找不到解决方案,是否不支持布尔表达式?

1 个答案:

答案 0 :(得分:1)

您的问题的直接答案是,您很可能在CDT的内置格式化程序中发现了一个错误。您可以file it here

更具有前瞻性的答案是CDT的内置格式化程序在过去的几年中几乎没有任何维护,因此任何此类错误都不太可能得到修复(除非您自己提供修复程序)。另一方面,那里有维护得更好的C ++源格式化程序(如clang-format)和将它们集成到Eclipse的插件(如CppStyle),您可能会获得更好的体验