2017-10-14 237 views
0

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

在生成文档时,Doxygen是否可以忽略注释中的换行符(即换行符)?

这里是一个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忽略换行符?

+0

您使用的是哪个版本的doxygen ae? – albert

+0

\ detail应该读取文件中的\ details,除非您将\ detail定义为ALIAS,但在这种情况下,请在您的问题中提及此问题,或者更好地调整您的问题,以便使用标准doxygen命令。 – albert

+0

@albert我正在使用Doxygen版本1.8.13。 – AcId

回答

2

感谢albert的comment,我开始搜索Doxygen的错误报告,发现this相关的错误报告。

显然诀窍在于在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); 
} 

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

+0

请将您的示例添加到错误报告中,因为它在问题上有点不同。 – albert

+0

@albert我看到你已经将这个例子添加到了bug报告中。谢谢,非常感谢:) – AcId