我需要生成具有编号的参考块列表的文档,这些参考块包含标记,递增编号和实际代码块(最好带有链接)。我至少可以处理标签,唯一编号和真正的代码块。
所以这个:
C ++代码:
int a = 5;
int b = 10;
int c, d;
/**
* @method{} Multiply
*/
c = a*b;
/** @endmethod */
/**
* @method{} Divide
*/
d = a/b;
/** @endmethod */
并将其转换为名为“方法”的“相关页面”下的“Doxygen”页面,其中列出了这两个方法的标题,如:
Doxygen输出 - 相关页面 - 方法:
Function foobar
Method 1: Multiply <-- {} First argument turns to a number?
c = a*b; <-- More important: This gets pulled from the code?
Method 2: Divide
d = a/b;
也许有更好的工具呢?
通过在Doxyfile中添加此别名,我已经通过我的评论在“相关页面”下生成“方法”页面:
的Doxyfile :
ALIASES += "method=\xrefitem method \"Method \" \"Methods\" "
但我无法找到一种方法来获取实际代码以插入文档...或者如何自动或手动编号(我可以预处理)...最接近我得到的是 @code 和群组这很黑,但没有用?
答案 0 :(得分:0)
自动编号似乎不可用,最接近抓取代码的东西似乎是@snippet命令,但这不符合我的架构,因为我不需要使用任何@ref或@anchors或自定义@pages,只是将代码插入到@xrefitem块的文档中。
所以答案我想出了最好的结果(除非其他人用更好的东西做出回应!)是破解@code块我只能假设是一种不受支持的方式,但碰巧完全适用于我需要(标签号需要预处理,所以我将它们保留为{},直到文档或使用预提交钩子):
的Doxyfile:
ALIASES += "mynotes=\verbatim My Notes:\n"
ALIASES += "endmynotes=\endverbatim"
ALIASES += "model=\xrefitem model \"Model\" \"Models\" "
ALIASES += "model{1}=\xrefitem mathmodel \"Model\" \"Models\" #\1: "
代码:
/// @model{10} Do this thing with a preprocessed tag number
/// @mynotes
/// Place my notes here verbatim
/// @endmynotes
/// @code{.cpp}
m_serr << "Bad contents!" << std::endl;
/// @endcode
输出HTML文档:
模型((链接到模型页面)):
#10:用预处理的标签号
My Notes:
Place my notes here verbatim
{.cpp}
m_serr << "Bad contents!" << std::endl;