我很好奇Doxygen是否解析了Javadoc的评论? - 也就是说,doxygen接受类似的东西:
/**
Greet with a "Hello" message.
@param a string containing the name of the person or entity
@ret return a string containing "Hello" and the name of the greeted person or entity.
*/
public String sayHello(string name)
{
return "Hello" + name;
}
Run Code Online (Sandbox Code Playgroud)
还有一件事,是否有更正确的方式来做这些评论,doxygen风格?
我正在使用一些遗留代码,我正在使用doxygen生成XML文档.我对这种代码有两个问题.首先它包含无效的评论.例如:
///@struct E
enum E
{
E1, E2, E3;
};
Run Code Online (Sandbox Code Playgroud)
这会导致doxygen为具有name的struct生成输出E,该输出不在代码中.我的第二个问题是HTML链接.例如,对于以下输入:
///@brief For info about this struct see: <a href="http://www.foo.com/bar&bar"\>
struct S
{
int i;
}
Run Code Online (Sandbox Code Playgroud)
doxygen生成的输出不是有效的XML,因为&链接中的链接未正确转义.
由于上述原因,我想doxygen忽略一些评论.这可能吗?
在C/C++中,您可以强制doxygen识别注释是否适用于行前面的文本.任何这些:
int my_variable; /*!< This is my variable */
int my_variable; /**< This is my variable */
int my_variable; //!< This is my variable
int my_variable; ///< This is my variable
Run Code Online (Sandbox Code Playgroud)
将字符串添加到文档中my_variable.在Python中尝试等效的东西似乎不起作用.这有效:
## This is my variable
my_variable = None
Run Code Online (Sandbox Code Playgroud)
这个:
my_variable = None ## This is my variable
my_other_variable = None
Run Code Online (Sandbox Code Playgroud)
my_other_variable正如您所期望的那样,附上文档,但这两者都是:
my_variable = None ##< This is my variable
my_variable = None #!< This is my variable
Run Code Online (Sandbox Code Playgroud)
似乎只是放弃了文档.有没有办法//!<在Python中做相同的操作?
我有一个接口Collection<T extends Item>,以及一个实现该接口的类Movies implements Collection<Movie>.该界面有几种抽象方法可供电影覆盖.
我想知道的是,我怎样才能让Doxygen在类电影中使用Collection.sort()和Collection.safeSort()中的文档?知道它是有用的,因为那时我可以编写接口的文档,而不是接口的每个实现.如果我可以-add-文档到被覆盖的方法,那将是伟大的,但这不是100%必要的.
INHERIT_DOCS设为YES顺便说一下,我相信Doxygen的挣扎,因为它实现Collection<Movie>,而不是Collection<T extends Item>.
是否可以在Doxygen文档中对函数参数进行分组,以便我不必复制注释?例如,我想要类似的东西:
/**
<...>
@param {{a, b}} <long documentation>
*/
Run Code Online (Sandbox Code Playgroud)
氧气输出:
<...>
Parameters:
a,b - <long documentation>
Run Code Online (Sandbox Code Playgroud) 我正在尝试建立一个涉及外部工具的构建,它生成一个目录作为输出(doxyindexer对于好奇的).到目前为止,我基本上得到了这些命令:
target = "doxysearch.db/iamchert"
doxygen.Doxyindexer(target,["project1.xml","project2.xml","project3.xml"])
Default([target])
Default(Install(ARGUMENTS["cgibin"],"doxysearch.db"))
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是我认为我想target成为目录本身,而不是目录中的一些随机文件.我没有什么可以全球化的,因为在我构建它之前目标不存在而且我不想假设任何Dimitri可能会改变!当我使用目录作为目标时,我收到此错误:
TypeError: Tried to lookup Dir 'doxysearch.db' as a File.:
Run Code Online (Sandbox Code Playgroud)
这就是我选择iamchert成为目标的原因.这些线条似乎都按预期工作,即使我的方法是黑客.但是,我无法让最后一行工作.我需要将目录复制doxysearch.db到cgi-bin目录中,该目录由用户在命令行中指定.也许有人可以解释如何正确地完成这一步骤?对于scons来说,我是个新人!
我在搜索答案时遇到了麻烦,因为所涉及的所有搜索词都太常见了,无法找到我特别的帮助!
我正在使用doxygen来记录一些像这样的c ++枚举:
/** Members */
enum {
MEMBER_ONE, /*!< This is member one */
MEMBER_TWO /*!< This is member two */
} members;
Run Code Online (Sandbox Code Playgroud)
文档看起来不错,但问题是带有文档超链接的代码(我在谈论文件文档中的部分,如下所示:
文件文档
file1.h
枚举{MEMBER_ONE,MEMBER_TWO};
在枚举源代码的所有成员中没有任何换行符.有什么方法可以强制doxygen尊重换行或插入它们?把
评论里面只适用于文档本身
我正在使用Doxygen组,因此可以按照预期在模块下的Doxygen导航树中看到它们.我的项目是使用Zend模块记录集成,因此Doxygen模块和Zend模块往往会使术语模块过载并使读者感到困惑.我的问题是:有没有办法,最好是自动化方式,将树中和右窗格页面中的Doxygen术语模块更改为其他内容?
我在名称空间内部有一个枚举,但在类外部。除非我启用EXTRACT_ALL,否则Doxygen不会记录该枚举,这会提取过多不必要的内容。
使用它的地方不会链接枚举(如果使用,它会链接EXTRACT_ALL)。枚举及其成员已记录在文档中(文档按预期显示EXTRACT_ALL)。没有该设置,枚举将不会出现在文档中的任何地方。
我还有其他设置可以使用EXTRACT_ALL吗?
我现在有EXTRACT_PRIVATE,EXTRACT_PACKAGE,EXTRACT_STATIC,EXTRACT_LOCAL_CLASSES,和EXTRACT_ANON_NSPACES启用,各种HIDE_*设置被关闭。
我们已经对Doxygen产生了浓厚的兴趣,它显然可以创建外观最好的文档。
但是,我们使用PHP,并且在生成的文档中只是忽略/不存在Traits。
我们在这里错过了一个把戏吗,还是特质根本不兼容?