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-formatが常にこれを行うのは実用的ではないかもしれませんが、コードが前述のコードのようにすでに手動でフォーマットされている場合、clang-formatがフォーマットをそのままにしておくとよいでしょう。
3.7はこのようなものをサポートしているようです(まだテストされていません)。
docs から
AlignConsecutiveAssignments(bool)
trueの場合、連続する割り当てを調整します。これにより、連続する行の代入演算子が整列します。これにより、コードint aaaa = 12のようなフォーマットになります。 int b = 23; int ccc = 23;エンドコード
(原文ママ)
Clang形式には、これを行うオプションはありません。
特定の行をそのままにしておくようにclang-formatに指示したい場合は、// clang-format off
および// clang-format on
コメントを使用してそれを行うことができます。
マクロの場合:AlignConsecutiveMacros: true
を.clang-format
に追加することで、clang10がリリースされたらこれを達成できるようです。
3.7をサポートするClangFormat-Xcodeのブランチである https://github.com/mattga/ClangFormat-Xcode/tree/clang_3.7 を使用してテストしました。
A = 9999をフォーマットできます。オプションで必要なタイプリスト
AlignConsecutiveAssignments = true
。しかし、定義は一致していませんでした。それらを揃える兆候はありますか?