ide - 横幅样式的 Clang 格式
问题描述
我贡献的一个开源项目使用横幅样式(也称为 Ratliff 样式)。它看起来像这样:
// In C
for (i = 0; i < 10; i++) {
if (i % 2 == 0) {
doSomething(i);
}
else {
doSomethingElse(i);
}
}
一些 IDE (如 QtCreator)有自己的格式化配置,但其他 IDE(如 Visual Studio Code)需要.clang 格式文件。
我在网上查找现有配置,但找不到任何配置。然后我尝试使用这个 clang-format generator从头开始制作一个,但我无法正确缩进大括号。
那么,是否可以为 Ratliff/Banner 样式创建一个 clang 格式的文件,或者是否有一些缺失的配置会迫使我们使用其他一些生成器?
解决方案
这个答案不会是您正在寻找的“答案”,但这是我在过去两天挖掘 clang-format 代码时发现的。我也一直在寻找一种使用 clang-format 自动格式化横幅样式变体的方法。
clang-format 似乎缺少一些使其能够自动格式化横幅样式的功能。
例如,您需要缩进代码块的结束(右)大括号。clang-format 似乎甚至不跟踪结束大括号,但它确实在其内部跟踪起始(左)大括号。
我开始了我的学习生涯,以为我可以理解 clang-format 实现其格式化程序系统的方式,因此我可以添加所需的功能。可悲的是,这对我来说太复杂了。
也许有一天我们将能够使用 clang-format 自动格式化横幅样式,但不是今天。
如果有人知道这个答案不准确,请不要犹豫,纠正我。
编辑:您可能会发现http://astyle.sourceforge.net很有用,而不是仅仅让您验证使用 clang 格式无法完成的事情。
推荐阅读
- java - 为什么带有嵌入式 H2 的 Spring Boot 会抛出“org.h2.message.DbException”错误?
- java - Java - 使用 getClass().getResource() 的文件路径总是返回 null
- php - 我对php真的很陌生,我必须为我的学校作业写一个简单的联系表格。但我输入的数据不会显示在结果中
- java - Java Period.between 显示奇怪的输出
- java - 在 JPA 解决方法中使用 registerFunction
- python - KivyMD MDNavigationRail,按图标
- node.js - 尝试使用 LRO 运行云函数
- reactjs - 调试反应第三方依赖
- c++ - 从列表 C++ 创建队列
- meson-build - 在 Meson 中将 @BASENAME@ 与 custom_target() 的 install_dir 一起使用