我有一个自动生成 C 代码的 python 脚本。 这是一个小片段:
source = open("auto_comps.c", "w")
filter_proto = """bool filter_%s_%s(char *record,
size_t field_offset,
uint64_t value,
uint64_t delta)"""
...
for op in 'eq', 'ne', 'lt', 'gt', 'le', 'ge':
for atype in 'uint8_t', 'uint16_t', 'uint32_t', 'uint64_t':
source.write(filter_proto%(op,atype))
我不想在脚本中为 C 代码显式创建缩进。 目前我让脚本生成带有乱码缩进的代码 然后使用 IDE 选择整个代码并从那里缩进。
但是,结果每次我必须手动执行此过程 调整脚本。此外,另一位开发人员可能没有这样的奢侈 一个 IDE,看着自动生成的 C 代码可能会发疯。
有没有办法以编程方式缩进脚本中的代码 在我关闭源文件之前?
请您参考如下方法:
Vaibhav Bajpai,
源代码的缩进比乍看起来要复杂得多。事实上,要正确缩进源代码,您需要有效地构建编译器的前端。看看this article对此有一个特殊的看法。
重点是,您真的非常想使用别人创建的工具。这里有一些:
- Astyle
- BCpp
- Uncrustify
- 好老indent ( wiki )
其中,我有使用 C 和 Java 的 AsStyle 的个人经验,并且很乐意推荐它。
