首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用Doxygen生成JavaScript文档

使用Doxygen生成JavaScript文档
EN

Stack Overflow用户
提问于 2011-09-06 21:12:37
回答 1查看 31.7K关注 0票数 24

我在我的项目中使用PHP和JavaScript,完全使用netbeans 7.0.1编写代码。我真的很喜欢netbeans包含和使用JavaDoc注释风格的方式,包括PHP和JS代码。

现在,我希望从PHP和JS代码生成代码文档。我知道有几种方法可以做到这一点,但我的主要目标是将两个部分的文档都放在一个文档中。

进一步解释:例如,我可以使用Doxygen来处理PHP文件,并使用JsDoc来处理JS文件。结果是,我现在在两个不同的文件夹中有两个不同的文档--这是我不喜欢的结果。正如我所提到的,我希望在一个文档中同时包含这两个文档。

因此,首先我使用了doxygen helper js2doxy.pl (http://jsunit.berlios.de/internal.html),但这不够灵活。它可以很好地处理“普通”定义的函数,但不能处理匿名的js函数。

经过一些尝试之后,我想为什么不改变document的FILE_PATTERNS选项来处理.js文件,因为注释的JavaDoc样式与PHP使用的样式几乎相同。而且,结果看起来很有希望,但是文档中缺少一些函数。

下面是一些示例:

代码语言:javascript
复制
/**
 * Definitions for the languages.
 * @memberof Language
 */
Language.Definitions = (function()
{
...
}

这工作得很好,我可以看到文档。但是:

代码语言:javascript
复制
**
 * Definitions for the languages
 * @memberof Language
 */
Language.Definitions = (function()
{
    var Translations = {};

    /**
     * Replaces strings.
     * @memberof Language
     * @param string translation Translation string 
     * @param array parameters (optional) List of parameters
     * 
     * @return string replaced string
     */
    function replaceStrings(translation, parameters)
    {
       ...
    }

在本例中,我看到了Language.Definitions的文档,但没有看到replaceStrings()的文档。你知道我做错了什么吗?同样的构造被JsDoc处理得很好。

还有(Language.Definitions的一部分) ..。

代码语言:javascript
复制
... 
return {
        /**
         * Initialize translations
         * 
         * @memberof Language
         */
        initTranslations: function()
        {
           ...
        } 
... 
}

..。文档中未显示。

我也不介意有人告诉我如何最好地将doxygen和JsDoc的两个输出合并到一个文档中。

提前谢谢你!

欢迎光临!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-23 01:59:14

请参阅特殊命令\fn,以便在doxygen中显式声明函数,最好是在源代码的头部中,如下所示:

代码语言:javascript
复制
/*!
 * Language
 * Declare the root class
 * \Class Language
 */

/*! 
 * definitions is a property in the Language class
 * \property Definitions definitions
 */

/*!
 * Document the Definitions static class that used as property in the Language class
 * \Class Definitions
 */

/*!
 * Replaces strings
 * Document the static method for the Definitions class
 * \fn string replaceStrings(translation, parameters)
 * \memberof Definitions
 * \param string translation Translation string 
 * \param array parameters (optional) List of parameters
 * \return string replaced string
 */

Language.definitions = (function()
{
    var Translations = {};

    function replaceStrings(translation, parameters)
    {
       ...
    }
票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7320464

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档