Можно ли в clang-формате выравнивать назначения переменных в столбцах? Например:
int someInteger = 42;
std::string someString = "string";
const unsigned someUnsigned = 42;
#define SOME_INTEGER 42
#define SOME_STRING_LITERAL "string"#define SOME_CONSTANT 42
enum Enum {
ONE = 1,
TWO = 2,
THREE = 3,
FOUR = 4,
FIVE = 5,
SIX = 6,
SEVEN = 7
};
более читабельно, чем:
int someInteger = 42;
const unsigned someUnsigned = 42;
std::string someString = "string";
#define SOME_INTEGER 42
#define SOME_STRING_LITERAL "string"#define SOME_CONSTANT 42
enum Enum {
ONE = 1,
TWO = 2,
THREE = 3,
FOUR = 4,
FIVE = 5,
SIX = 6,
SEVEN = 7
};
Я понимаю, что для clang-формата не всегда целесообразно делать это, но когда код, уже отформатированный вручную, как и указанный код, было бы неплохо, чтобы clang-формат оставил форматирование на месте.
Похоже, что 3.7 поддерживает что-то вроде этого (еще не проверял).
От документы
AlignConsecutiveAssignments (bool)
Если true, выравнивает последовательные назначения.Это выровняет операторы назначения последовательных строк. Это приведет к форматированию, например: code int aaaa = 12; int b = 23; int ccc = 23; ENDCODE
(Так в оригинале)
Clang-формат не имеет никакой возможности сделать это.
Если вы хотите указать clang-format оставить некоторые строки в покое, вы можете сделать это с помощью // clang-format off
а также // clang-format on
Комментарии.
Я проверил это с помощью https://github.com/mattga/ClangFormat-Xcode/tree/clang_3.7 которая является ветвью ClangFormat-Xcode, поддерживающей 3.7.
Я мог бы отформатировать = 9999; список типов, как я хотел по выбору
AlignConsecutiveAssignments = true
. Но определения не были согласованы.
Есть ли какие-либо указания для их выравнивания?