【问题标题】:Does Doxygen have a line-continuation feature?Doxygen 是否具有续行功能?
【发布时间】:2017-10-14 12:30:28
【问题描述】:

我想将源文件中的行长度限制为 80 个字符。当将 Doxygen 函数链接到具有长原型的函数时,这是一个问题,例如因为参数的类型名称很长。

是否可以让 Doxygen 在生成文档时忽略 cmets 中的换行符(即续行)?

这是一个 MWE:

我有一个名为mwe.cpp的文件

/**
 * \file mwe.cpp
 * 
 * \details
 * MWE::MWE(int a, int b, int c)
 * MWE::MWE(int a,
 *           int b, int c)
 */


class MWE
{
    public:
        /** 
         * \brief constructor with one parameter
         */
        MWE(int a);

        /** 
         * \brief constructor with three parameters
         **/
        MWE(int a, int b, int c);
}

在生成文档时,第一个链接 (MWE::func(int a, int b, int c)) 正确指向采用三个整数参数的构造函数。但是,有换行符的第二个链接指向的构造函数只接受一个整数参数(参数列表也不会成为链接的一部分,只有函数名)。

有没有办法让 Doxygen 忽略换行符?

【问题讨论】:

  • 您使用的是哪个版本的 doxygen ae?
  • \detail 应该在您的文件中读取 \details,除非您将 \detail 定义为别名,但在这种情况下,请在您的问题中提及这一点或更好地调整您的问题,以便它使用标准的 doxygen 命令。
  • @albert 我使用的是 Doxygen 1.8.13 版。
  • 我不知道有这种可能性。我认为最好的办法是提交错误报告并要求将续行视为空白。我不知道会对解析器产生什么影响,所以我不知道它是否会被兑现。

标签: doxygen line-breaks


【解决方案1】:

感谢 albert 的comment,我开始搜索 Doxygen 错误报告,并找到了this 相关的错误报告。该错误报告现已迁移到 Github here

显然,诀窍是将换行符放在 HTML 注释中。

MWE 生成的代码是:

/**
 * \file mwe.cpp
 * 
 * \details
 * MWE::MWE(int a, int b, int c)
 * MWE::MWE(int a, <!--
 * -->         int b, int c)
 */


class MWE
{
    public:
        /** 
         * \brief constructor with one parameter
         */
        MWE(int a);

        /** 
         * \brief constructor with three parameters
         **/
        MWE(int a, int b, int c);
}

不完全是续行功能,但它解决了问题。现在两个链接是相同的,并且正确地指向了带有三个整数参数的构造函数。

【讨论】:

  • 请将您的示例添加到错误报告中,因为它对问题的看法有所不同。
  • @albert 我看到您已将示例添加到错误报告中。谢谢,非常感谢:)
猜你喜欢
  • 1970-01-01
  • 2023-02-09
  • 1970-01-01
  • 2017-03-30
  • 1970-01-01
  • 1970-01-01
  • 2014-10-14
  • 2022-07-11
  • 1970-01-01
相关资源
最近更新 更多