1

我的 doxygen 文档显示了每个类成员函数的源代码。我的源代码有时在函数之间包含多个空行。

如何让 doxygen压缩剥离这些多条空白行?(而不是在预览中显示它们)

答案(从下方)

下面的答案为我指明了正确的方向:INPUT_FILTER(doxygen 文档)

INPUT_FILTER 标记可用于指定 doxygen 应调用的程序来过滤每个输入文件。Doxygen 将通过执行(通过 popen())命令来调用过滤程序:

<filter> <input-file>

其中 是 INPUT_FILTER 标记的值, 是输入文件的名称。然后 Doxygen 将使用过滤器程序写入标准输出的输出。

我很快写了一个执行“压缩”的python脚本(我在Win7上):

import re
import sys

if len(sys.argv) != 2:
  exit()

with open(sys.argv[1]) as f:
  original = f.read()
  compact = re.sub('\n\n\n+', '\n\n', original)
  print(compact)

然后我将它添加到过滤器中:

INPUT_FILTER = "python ../DoxyCompact.py"

这也为在 doxygen 读取源之前修改源提供了很多可能性!

4

1 回答 1

1

我能想到的唯一方法是在 doxygen 使用文档中的源代码之前定义一些预处理器来去除多个空行。要定义对源文件执行的操作(或过滤器),请使用INPUT_FILTER配置文件选项。

警告:以下内容未经测试。

来自问题如何在 bash 中用一个空行替换多个空行?似乎可以使用

sed /^$/d

去除多个空行,所以在你的配置文件中,设置

INPUT_FILTER = sed /^$/d
于 2012-04-13T09:31:42.770 回答