Я использую uncrustify 0.56, и я хотел бы знать, возможно ли форматировать конструкторы так:
MyClass::MyClass(int arg1, int arg2, int arg3) : m_arg1(arg1), m_arg2(arg2), m_arg3(arg3) {}
// shall be formatted to
MyClass::MyClass(int arg1, int arg2, int arg3) :
m_arg1(arg1),
m_arg2(arg2),
m_arg3(arg3)
{
}
Я не мог найти какой-либо вариант. Возможно ли это или есть другой beautifer / инструмент кода для достижения такого формата?
Заранее спасибо …
Uncrustify 0.59
:
# Whether to indent the stuff after a leading class colon.
# The term "class colon" refers to both 'class Dog: public Animal'
# ^
# and 'Dog::Dog(): Animal(), _fur(BLACK)'.
# ^
indent_class_colon = true
# Add or remove a newline around a class colon.
# Related to <pos_class_colon>, <nl_class_init_args>, and <pos_comma>.
nl_class_colon = force
# Add or remove newline after each ',' in the constructor member initialization.
nl_class_init_args = force
В настоящее время, Uncrustify
это самый гибкий и настраиваемый зверь, которого я знаю. В прошлом я пробовал разные форматы кода, в том числе несвободные. Однако я обнаружил, что в них либо отсутствуют некоторые важные параметры, либо содержатся неприятные ошибки, в том числе: встроенный форматировщик кода Eclipse CDT, AStyle, Jindent и некоторые другие.
Других решений пока нет …