我几乎想要用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,所以没有包装第一部分。返回值由我自己包装,因为包装器在这里也不会做任何事情。
我也尝试了所有可能找到的选项(尤其是在换行符->表达式中)。但是我找不到解决方案,是否不支持布尔表达式?
答案 0 :(得分:1)
您的问题的直接答案是,您很可能在CDT的内置格式化程序中发现了一个错误。您可以file it here。
更具有前瞻性的答案是CDT的内置格式化程序在过去的几年中几乎没有任何维护,因此任何此类错误都不太可能得到修复(除非您自己提供修复程序)。另一方面,那里有维护得更好的C ++源格式化程序(如clang-format)和将它们集成到Eclipse的插件(如CppStyle),您可能会获得更好的体验