我有这篇文档:
/**
* This method creates an import job for the given @arg item
*
* The default implementation should be suitable for most needs,
* it'll create an instance of @class ImportProjectJob
*
* @return a job that imports the project
*/
virtual KJob* createImportJob(ProjectFolderItem* item);
然而,@class
并不意味着像这样使用,并且在doxygen中没有像@instanceof
那样的东西。
我应该如何格式化?
答案 0 :(得分:2)
在Doxygen的automatic link generation rules下,如果某些文档文本与已记录的类的名称匹配,并且该文本使用interCaps命名样式,那么Doxygen会自动将该文本转换为指向该文本的链接文档页面。因此,如果您只使用" ImportProjectJob",Doxygen将找到该类(如果已记录)并将该文本转换为指向它的链接。
但是,如果您的班级/功能没有使用interCaps命名,您可以通过@ref
明确链接到已记录的实体:
* The default implementation should be suitable for most needs,
* it'll create an instance of @ref ImportProjectJob
FYI:@arg
用于启动函数参数定义列表。类似的东西:
@arg @c AlignLeft left alignment.
@arg @c AlignCenter center alignment.
@arg @c AlignRight right alignment
您正在寻找的是@p
,它是引用参数名称等的内联格式。
答案 1 :(得分:2)
只需使用@ref
代替@class
,并记录声明它的类。
通常(默认情况下,即AUTOLINK_SUPPORT
为YES
时),甚至不需要明确引用它。 Doxygen会在检测到名称时自动链接它。
顺便说一句,您对@arg
的使用并不像预期的那样。使用@p
进行内联参考,使用@param
进行文档方法参数。
/**
* @brief This method creates an import job for the given @p item
*
* @details The default implementation should be suitable for most needs,
* it'll create an instance of ImportProjectJob
*
* @param item this is a folder item
*
* @return a job that imports the project
*/
virtual KJob* createImportJob(ProjectFolderItem* item);
这是声明ImportProjectJob
的地方:
/**
* @brief short desc of the class
*
* @details A long description
*/
class ImportProjectJob : public KJob
{};