我有一个包含这样的行的源文件;
#define ARC_V2_LP_START 0x002
#define ARC_V2_LP_END 0x003
#define ARC_V2_STATUS32 0x00a
所有值都很好地对齐。不幸的是,clang-format会这样做;
#define ARC_V2_LP_START 0x002
#define ARC_V2_LP_END 0x003
#define ARC_V2_STATUS32 0x00a
我找到了AlignConsecutiveDeclarations和AlignConsecutiveAssignments选项,但没有任何可以对齐连续的#defines。有可能这样做吗?
答案 0 :(得分:5)
奇怪的是,此功能尚未在clang中实现;当前缺少连续宏的格式设置选项。
许多开发人员都感兴趣,并且有一个工作请求请求已经等待批准多年:https://reviews.llvm.org/D28462?id=93341
您可以集成它,也可以等待他们是否将其添加到官方分支中,但是在这一点上,我怀疑它们是否会实现。
答案 1 :(得分:1)
快速浏览style options,看起来目前没有选项。处理预处理的唯一选项是build.gradle
,它处理 if (isset($_POST['cart_product'])) {
$id = "&PRODUCTID=" . $_POST['cart_product'];
// uses the input name from the button
}
块的缩进。
答案 2 :(得分:0)
我也找不到任何选择。 Clang删除了我所有已由emacs自动对齐的定义。
答案 3 :(得分:-1)
请注意,clang-format-9及更高版本具有AlignConsecutiveMacros: true
选项,可以为您解决问题。
要在ubuntu / Debian上安装clang-format-9,您需要检查http://apt.llvm.org/
。
例如,如果您具有Ubuntu 16.04 / xenial,则需要执行以下操作:
sudo sh -c 'echo "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-9 main" >> /etc/apt/sources.list'
sudo sh -c 'echo "deb-src http://apt.llvm.org/xenial/ llvm-toolchain-xenial-9 main" >> /etc/apt/sources.list'
sudo apt update
sudo apt install clang-format-9
可能以相同的方式处理Trusty / Ubuntu 14.04。