Я пробовал uncrustify, и, хотя я получил много удовольствия от того, насколько он настраиваемый, я обнаружил, что иногда он решает разбить строки способами, с которыми я не согласен.
Некоторые примеры:
void functionWithLongName(int parameter1, int parameter2, int parameter3, int parameter4) {
}
.. становится:
void functionWithLongName(int parameter1, int parameter2, int parameter3, int
parameter4) {
}
Я бы предпочел, чтобы это было:
void functionWithLongName(int parameter1, int parameter2, int parameter3,
int parameter4) {
}
... так как я бы предпочел, чтобы он не разбивал имя типа и переменной, а также любые квалификаторы.
Другой пример:
ClassName::ClassName(int importantValue) : memberVariable1(0), memberVariable2(importantValue), memberVariable3(0) {}
... становится:
ClassName::ClassName(int importantValue) : memberVariable1(0), memberVariable2(
importantValue), memberVariable3(0) {}
Но я не хочу, чтобы он разрывался между круглыми скобками одного из этих инициализаторов. Я бы предпочел что-то вроде:
ClassName::ClassName(int importantValue) : memberVariable1(0),
memberVariable2(importantValue), memberVariable3(0) {}
Просматривая документы Crusify, я не нашел настроек, позволяющих указать это. Есть ли способ сделать это?
В случае, если это поможет, вот мой текущий файл конфигурации uncrustify.