特征矩阵初始化的 clang 格式

clang-format for Eigen matrix initialization

例如要初始化 Eigen::Matrix3i 我们可以使用语法:

Eigen::Matrix3i T;
T << 1, 0, 0,
     0, 2, 0,
     0, 0, 3;

但是,当使用 clang-format(在我的例子中是 3.6)和 Google 样式时,这个漂亮的初始化变成:

Eigen::Matrix3i T;
T << 1, 0, 0, 0, 2, 0, 0, 0, 3;

有没有简单的方法可以避免这种情况?有没有办法告诉 clang-format 跳过这样的事情?

看来您唯一的选择是使用相当丑陋的 clang 格式切换语法:

Eigen::Matrix3i T;
// clang-format off
T << 1, 0, 0,
     0, 2, 0,
     0, 0, 3;
// clang-format on

你试过了吗?

Eigen::Matrix3i T;
T << 1, 0, 0, //
     0, 2, 0, //
     0, 0, 3; //