我参与的一个开源项目使用了 旗帜式 也叫拉特利夫式)。看起来是这样的。
// In C
for (i = 0; i < 10; i++) {
if (i % 2 == 0) {
doSomething(i);
}
else {
doSomethingElse(i);
}
}
有些IDE,比如QtCreator,有自己的格式化配置, 但其他IDE,比如Visual Studio Code,则需要一个... .clang-format 文件。
我在网上找了一下现有的配置,没有找到。然后我试着用 这个clang格式生成器但我无法正确地缩进括号。
那么,是否可以为RatliffBanner样式创建一个clang格式的文件,或者是否有一些缺失的配置会迫使我们使用其他的生成器?
这个答案不会是你要找的 "答案",但这是我这两天翻阅clang-format的代码时发现的。我也一直在寻找一种用clang-format自动格式化banner样式的方法。
clang-format似乎缺少了一些能让它自动格式化banner样式的功能。
例如,你需要在代码块的结尾处缩进(右)大括号。clang-format甚至没有跟踪结尾处的大括号,但它确实跟踪了内部的起始(左)大括号。
我在开始学习的时候,以为自己可以理解clang-format实现其格式化系统的方式,所以我可以添加所需的功能。遗憾的是,这对我来说太复杂了。
也许有一天我们可以用clang-format自动格式化banner样式,但不是今天。
如果有人知道这个答案不准确,请毫不犹豫地纠正我。
edit: 与其只给你验证什么不能用clang-format做,也许你会发现 http:/astyle.sourceforge.net。 有用的。