标签: doxygen

Doxygen:如何在php中描述类成员变量?

我正在尝试使用doxygen将php代码解析为xml输出.Doxygen不解析类成员变量的描述.

这是我的示例php文件:

<?php
class A
{
    /**
      * Id on page.
      *
      * @var integer
      */
    var $id = 1;
}
?>
Run Code Online (Sandbox Code Playgroud)

请注意,注释具有简要描述和变量类型.这是我从这个来源获得的xml:

<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xsi:noNamespaceSchemaLocation="compound.xsd" version="1.7.2">
  <compounddef id="class_a" kind="class" prot="public">
<compoundname>A</compoundname>
  <sectiondef kind="public-attrib">
  <memberdef kind="variable" id="class_a_1ae97941710d863131c700f069b109991e" prot="public" static="no" mutable="no">
    <type></type>
    <definition>$id</definition>
    <argsstring></argsstring>
    <name>$id</name>
    <initializer> 1</initializer>
    <briefdescription>
    </briefdescription>
    <detaileddescription>
    </detaileddescription>
    <inbodydescription>
    </inbodydescription>
    <location file="C:/projects/version6-7/asprunner/PHP/source/classes/a.php" line="11" bodyfile="C:/projects/version6-7/asprunner/PHP/source/classes/a.php" bodystart="11" bodyend="-1"/>
  </memberdef>
  </sectiondef>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<location file="C:/projects/version6-7/asprunner/PHP/source/classes/a.php" line="5" bodyfile="C:/projects/version6-7/asprunner/PHP/source/classes/a.php" bodystart="4" bodyend="12"/>
<listofallmembers>
  <member refid="class_a_1ae97941710d863131c700f069b109991e" prot="public" virt="non-virtual"><scope>A</scope><name>$id</name></member>
</listofallmembers> …
Run Code Online (Sandbox Code Playgroud)

php variables doxygen

15
推荐指数
1
解决办法
7919
查看次数

Gitlab和HTML文档

我的开发环境包括Git存储库,GitLab存储库管理器和Jenkins.在构建过程中,使用HTML格式的Doxygen生成文档.

是否可以将该文档存储在GitLab项目的维基上?我知道Gollum不支持HTML,这是Gitlab的wiki引擎.由于HTML文件中指向其他HTML文件的内部链接,将HTML转换为Markdown并不令人满意.

我应该将文档存储在单独的wiki中,而只提交指向GitLab项目wiki的链接吗?

doxygen jenkins gitlab

15
推荐指数
1
解决办法
2872
查看次数

Doxygen:隐藏私人/受保护的方法......和提示

我正在使用Doxygen为我们的API生成文档,用C#编写.但是,它暴露了私人/受保护的成员.有没有办法隐藏那些?

我想出了如何隐藏文件:EXCLUDE =文件名列表

然而,我需要更多的粒度,从而保护用户免受不必要的API噪音.一个样本Doxygen文件将被赞赏以及提示/技巧.

您使用什么工具从源代码生成API?

我觉得有点遗留在18世纪,因为我在C#中通过C++使用Doxygen.

c# documentation doxygen

14
推荐指数
3
解决办法
3万
查看次数

是否存在用于编辑doxygen评论的"wiki"?

我正在开发一个相当大的开源RTS游戏引擎(Spring).我最近添加了一堆可由Lua调用的新C++函数,我想知道如何最好地记录它们,同时也激发人们为许多现有的Lua标注编写/更新文档.

所以我认为如果我最初可以将文档编写为C++函数附近的doxygen注释可能会很好 - 这很容易,因为函数体明确定义了函数的功能.但是,我希望游戏开发人员使用引擎来改进文档,因为引擎通常对git(我们使用的VCS)或C++几乎一无所知.

因此,如果有一种方法可以自动生成C++文件中的apidocs,而且还有一个类似wiki的Web界面,允许更广泛的受众更新注释,添加示例等,这将是理想的.

所以我想知道,是否存在一个web工具,它集成了doxygen样式格式,这些注释的wiki编辑(最好不允许编辑源文件的任何其他部分)和git?(将通过Web界面更改的注释提交到特殊分支)

然后我们的开发人员可以不时地合并这个分支,然后将改进添加到主分支,同时开发人员对文档的任何改进都会在这个Web工具上结束,只需将master分支合并到这个特殊的科.

我还没有找到任何东西,怀疑这个具体存在的东西,所以欢迎任何建议!

c++ git documentation wiki doxygen

14
推荐指数
1
解决办法
1689
查看次数

Doxygen评论的"使用命名空间"

我的库的所有类都在命名空间中定义.当我为Doxygen创建一个主页时,我必须在注释中明确使用这个命名空间来使Doxygen生成链接.我想对整个注释块使用"using namespace"之类的东西.

一个例子:

/**
* \mainpage My Library
*
* Use MyLibraryNamespace::MyClass to ...
*/
Run Code Online (Sandbox Code Playgroud)

这里Doxygen自动生成MyLibraryNamespace :: MyClass文档的链接.

/**
* \mainpage My Library
*
* Use MyClass to ...
*/
Run Code Online (Sandbox Code Playgroud)

这里Doxygen没有生成MyLibraryNamespace :: MyClass文档的链接(因为我想在不同的命名空间中可能有多个MyClass定义).为了简化阅读,我想在注释中省略名称空间前缀.这可能而不必\ref MyLibraryNamespace::MyClass "MyClass"每次都打字吗?

doxygen namespaces

14
推荐指数
1
解决办法
2497
查看次数

抑制Doxygen警告

有没有办法抑制Doxygen对特定文件提供"未记录"的警告?我的项目有几个自动生成的代码头,导致它抛出数百或数千个错误,使得难以筛选.

doxygen

14
推荐指数
2
解决办法
9628
查看次数

doxygen函数参数文档(//!<vs @param)

如果我在函数参数的"成员之后"文档中使用,例如,//!<在每个参数之后使用,而不是在标题中使用@param,则"Parameters"部分始终位于生成的输出文件中的"Return"之后.

是否可以定义顺序,以便"返回"之前放置"参数"?

/**
 *****************************************************************************************
 *  @brief      Test API
 *
 *  @usage      This API can be called at any time
 *
 *  @return     0 if successful; or 1 if failed
 ****************************************************************************************/

int TestAPI(
    int argument1,       //!< first argument
    int argument2        //!< second argument
    );
Run Code Online (Sandbox Code Playgroud)

doxygen

14
推荐指数
1
解决办法
2万
查看次数

在doxygen中对重载进行分组

在我的库中,我有很多函数重载的形式:

/// \brief Does thing.
///
/// \details The thing that is done is very special.
template<typename T>
void do_stuff(const T& t);

/// \brief Does thing repeatedly. 
/// \copydetails do_stuff()
template<typename T>
void do_stuff(const T& t, std::size_t x);
Run Code Online (Sandbox Code Playgroud)

这通常是有效的,并且非常好,但是多次创建相同的文档部分.我想要的是将这些功能组合在一起.有详细说明和每个重载注释的简要说明.我也不反对可以做这样的事情或输入过滤器的别名.

我可以想象的一种方式是:

文档结果应如下所示:

template<typename T>
void do_stuff(const T& t);                (1)

template<typename T>
void do_stuff(const T& t, std::size_t x); (2)

The things that is done is very special.

(1) Does thing.

(2) Does thing repeatedly.
Run Code Online (Sandbox Code Playgroud)

当然我可以创建一个新页面并手动编写这种文档,但是它需要我在页面上重复函数声明,然后将链接打到实际的函数文档中,但这比其他任何东西都要糟糕.

有没有办法轻松实现这一目标?甚至暗示将其破解为doxygen也会受到赞赏.

c++ documentation doxygen overloading

14
推荐指数
2
解决办法
3031
查看次数

Javadoc文档在适当的位置呈现.可以在IDE中看到漂亮的打印文档吗?

Eclipse(或Visual Studio)是否有一个插件可以将javadoc(或doxygen)渲染到位,即代码中有一个漂亮的打印而不是显示javadoc源作为注释?

默认情况下,可以折叠方法体.切换可能很有用:完整的源代码,源代码和渲染的javadoc,纯渲染的javadoc.

所述插件可以生成如下所示的内容:

c++ java javadoc doxygen eclipse-plugin

14
推荐指数
1
解决办法
975
查看次数

如何在Linux上制作docset?

我使用Zeal在Linux上查找API文档.它要求文件采用Apple docset格式.

我有C++代码,我可以使用Doxygen生成文档.Doxygen可以构建一个docset,但它需要docsetutil程序,这在Linux上是不可用的.

是否还有其他方法可以在Linux上创建C++代码库的docset?

linux doxygen docset zeal

14
推荐指数
1
解决办法
1250
查看次数