我正在使用 astyle,它非常适合将标准样式应用于现有代码。但是我注意到,当它遇到这个时:
ostringstream myStream;
myStream << 1
<< 2;
它重新格式化为:
ostringstream myStream;
myStream << 1
<< 2;
这是我的选项文件:(版本 1.23)
--indent=spaces --brackets=break --indent-switches --indent-namespaces --min-conditional-indent=4 --break-closing-brackets --pad-paren-in --unpad-paren --convert-tabs
有什么办法可以让它和下一行的“<<”对齐吗?
编辑:
我还使用以下文件 (test.cpp) 尝试了 1.22 版:
void main()
{
ostringstream myStream;
myStream << 1
<< 2;
}
使用以下选项 (format.txt):
--indent=spaces
--brackets=break-closing
--indent-switches
--indent-namespaces
--min-conditional-indent=4
--pad=paren-in
--unpad=paren
--convert-tabs
和以下命令行:
astyle --options=format.txt test.cpp
它产生了这个:
void main()
{
ostringstream myStream;
myStream << 1
<< 2;
}
最佳答案
最终结论是 bug 见底
我试图复制你的问题,但无法得到你正在谈论的行为(OP 问题更新否定了这一点)
编辑:(删除内容更新)
参数名称在 1.22 和 1.23 之间发生了变化。
如果两者都不能解决您的问题,请尝试上传更多代码作为示例,或者尝试仅使用您在此处粘贴的代码来复制您的问题。(由 OP 完成)
我还发现选项的顺序有时似乎有所不同。例如:
astyle --indent=tab --style=ansi test.cpp
不同于:
astyle --style=ansi --indent=tab test.cpp
指定第二个“--style=ansi”有效地否定了“--indent=tab”。
如果这可能是您的问题,我不会感到惊讶。
...但在玩了 20 分钟之后,我确信这是一个 astyle bug .
编辑以包含错误链接:bug感谢 Markh44
关于c++ - astyle格式化多行<<,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1333339/