我大部分时间都使用astyle来格式化我的代码,我很喜欢它,但有一个烦恼是它无法为最大行长度指定至少一个"提示".如果您有一行代码,例如:
this->mButtonCancel->setLeftClickProc(boost::bind(&FileListDialog::cancelLeftClick, this));
我希望源代码格式化程序能够适度地智能地包装它:
this->mButtonCancel->setLeftClickProc( boost::bind(&FileListDialog::cancelLeftClick, this));
...可能是我如何格式化这行代码.对于长参数列表,我可能更喜欢在开括号上对齐,但显然在这种情况下不起作用.无论哪种方式,astyle都不支持使用不包含多个语句的长行执行任何操作.有谁知道一个工具呢?
GNU Indent支持打破长线.
http://www.gnu.org/software/indent/manual/indent.html#SEC12
我发现uncrustify命令行工具非常实用.它有很多选项,因此有点难,但经过一些练习后,它是非常宝贵的.主页在这里:http: //uncrustify.sourceforge.net/
Astyle 2.03现在支持基于最大代码长度的分割线
http://astyle.sourceforge.net/astyle.html#_max-code-length
我已对此进行了测试,并将最大代码长度= 80的行拆分,但基于最小可能的更改.我最大化了一行中的代码量,因此中断并不总是容易阅读(但它打破了它们)