我正在使用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
有没有办法让它排成一行“&lt;&lt;&lt;在下一行?
修改
我还尝试使用以下文件(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;
}
答案 0 :(得分:8)
最终结论是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分钟之后,我确信它是一种风格bug。
编辑以包含错误链接:bug感谢Markh44
答案 1 :(得分:2)
@Catskul,你是对的,这是一个错误。
我最终发现了这个:
http://sourceforge.net/tracker/index.php?func=detail&aid=1713990&group_id=2319&atid=102319