标签: doxygen

使用doxygen记录枚举

doxygen为枚举生成的html文档列出了左侧的枚举和右侧的文档.但是我需要为每个值提供非常详细的文档,并且一些名称非常长,因此使文档右侧列显示在右侧,看起来非常糟糕.是否有可能使每个值的文档显示在值的下方或上方而不是右侧?

html format enums doxygen

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

如何更改Doxygen创建的PDF文档的边距?

我正在使用doxygen生成我的代码文档的PDF.PDF在使用时有很大的余量PAPER_TYPE = letter.它在使用时看起来不错,a4wide但我想对它有更多的控制权.我想使用一个名为geometry的包,但无法弄清楚在哪里添加代码如下:

\usepackage[top=2.9cm,left=2in,bottom=1in,right=1in]{geometry}
Run Code Online (Sandbox Code Playgroud)

如果可能的话,我不想更改doxygen生成的tex文件.

pdf latex doxygen margin pdflatex

4
推荐指数
1
解决办法
2032
查看次数

我应该如何记录继承的成员?

考虑到我有一个复杂的类结构,其中许多元素继承自其他元素.我可能有一个GetStuff(string stuffName, int count)在接口中定义的方法,它由其他接口继承,然后由抽象类抽象地实现,然后在具体类等中实现显式等等...

我应该如何处理继承的成员,例如GetStuff()用XML注释记录我的代码,这些注释将与Doxygen或Sandcastle等工具一起使用?在每个级别复制和粘贴相同的描述似乎是错误的.我是否应该在界面级别与具体级别级别考虑不同的受众?例如,接口上的GetStuff()文档可能会考虑人们实现接口,而具体级别的文档可能会考虑使用该类的人员?

documentation sandcastle doxygen

4
推荐指数
1
解决办法
1972
查看次数

Doxygen没有在PHP中记录我的非类函数?

我正在使用Doxygen(Doxywizard GUI)来记录PHP项目.Doxygen没有记录我的非类文件.

即在某些文件中,我没有创建任何类,该文件只包含一些函数.Doxygen没有记录功能.有帮助吗?

这里是为我生成的配置文件 Doxywizard

php documentation doxygen

4
推荐指数
1
解决办法
4882
查看次数

如何编写自动包含在Doxygen输出中的自述文件?

从概念上讲,按照重构文本的方式,我想在我的不同源目录中分发自述文件,然后让Doxygen读取并包含那些自述文本文件作为生成的Doxygen输出的一部分.

这是怎么做到的?或者我需要通过创建伪C文件欺骗Doxygen,如:

README.h:

/** 
My big long readme file describing how this library 
was created and how it should be used
*/
namespace foo_readme { }
Run Code Online (Sandbox Code Playgroud)

documentation restructuredtext doxygen

4
推荐指数
1
解决办法
1735
查看次数

Doxygen没有显示如何从其他类调用记录的成员函数(包括构造函数).

Doxygen没有显示如何从其他类调用记录的成员函数(包括构造函数).?

我使用EXTRACT_ALL选项设置'自动文档'.我设置了CALL_GRAPH选项来获取调用引用.我也确实启用了graphwiz/dot(输出)选项.

这是我选择的日志:

#--------------------------------------------------------------------------- 
# Project related configuration options 
#--------------------------------------------------------------------------- 
DOXYFILE_ENCODING = UTF-8 
PROJECT_NAME = XXXXX 
PROJECT_NUMBER = 
PROJECT_BRIEF = 
PROJECT_LOGO = 
OUTPUT_DIRECTORY = C:/Projects/doxygen 
CREATE_SUBDIRS = NO 
OUTPUT_LANGUAGE = English 
BRIEF_MEMBER_DESC = YES 
REPEAT_BRIEF = YES 
ABBREVIATE_BRIEF = "The $name class" \ 
"The $name widget" \ 
"The $name file" \ 
is \ 
provides \ 
specifies \ 
contains \ 
represents \ 
a \ 
an \ 
the 
ALWAYS_DETAILED_SEC = NO 
INLINE_INHERITED_MEMB = NO 
FULL_PATH_NAMES = YES 
STRIP_FROM_PATH = 
STRIP_FROM_INC_PATH = 
SHORT_NAMES …
Run Code Online (Sandbox Code Playgroud)

c++ uml doxygen

4
推荐指数
1
解决办法
3721
查看次数

在Python中使用doxygen样式文档字符串的Vim语法高亮显示

我开始使用doxygen来生成我的Python代码的文档.我使用doxypyfilter来预处理Python文档字符串.我的目标是在Python中有一个很好的语法突出显示doxygen注释.

当写我的炫魅在专用.dox文件,我发现doxygen的注释中可以突出VIM使用下面的命令:

set syntax=c.doxygen
Run Code Online (Sandbox Code Playgroud)

我为Python尝试了相同的命令,但我什么都没得到:set syntax = python.doxygen

我也做了一些谷歌搜索,找不到任何有趣的东西

这是我要强调的一段典型代码:

class CompilationTab:
    """
    The compilation tab of the verif GUI. It contains the layout description
    and the functions required to deal with specific behaviors of the tab
    """
    def __init__(self, notebook, tab_name):
        """
        The class constructor.

        @param notebook Notebook: The parent @c Notebook widget
        @param tab_name String: The display name of the tab
        """
Run Code Online (Sandbox Code Playgroud)

有人已经解决了这个问题吗?谢谢你的帮助!

python vim doxygen syntax-highlighting

4
推荐指数
1
解决办法
1549
查看次数

为什么将enum标记为导出/导入中断Doxygen生成?

使用Doxygen,我偶然发现了这个警告:

D:/<some/path>/Camera.h:20: warning: documented symbol `enum DLLPORT 
ct::CameraCapture::ct::CameraCapture::CamType' was not declared or defined.
Run Code Online (Sandbox Code Playgroud)

现在我知道为什么Doxygen没有找到那个类(命名空间显然是重复的),我不明白为什么它甚至在搜索它.这个枚举是在一个头文件中,直接在一个类定义之上,并且找到了很好的类,它也没有生成那些双重命名空间.源代码也编译,所以它可能不是导致Doxygen这些问题的语法错误.具体来说,源代码如下所示:

#ifdef CT_EXPORTS
#define DLLPORT __declspec(dllexport)
#else
#define DLLPORT __declspec(dllimport)
#endif

#include <somelibrary>

namespace ct {
namespace CameraCapture {

/**The type of camera used:
*[...]
**/
enum DLLPORT CamType {
    CT_ENUM1=0,
    CT_ENUM2,
    CT_ENUM3,
    CT_NONE
};

/**\brief A parent-class to cameras of all types.
*[...]
**/
class DLLPORT Camera
{
   //...some content...
};
}
}
Run Code Online (Sandbox Code Playgroud)

其他enum块也会出现同样的问题.希望你们中的一些人知道那里发生了什么.

干杯

c++ enums doxygen

4
推荐指数
1
解决办法
3428
查看次数

在构建文档时,如何使doxygen忽略类似函数的宏?

我需要使用doxygen记录一个项目,但是还需要忽略一些宏,我在代码的一小部分中使用这些宏是可读的,因此在文档中出现是没有意义的.

这是一个最小的例子(我主要使用宏来索引一些C风格的2D或3D数组):

#include <cstring>
/*! \file notes.cpp
  \brief A test for macros and doxygen
*/
/// my main function
int main ()
{
   double loc_arr[9][4][4];
   memset (loc_arr, 0.0, 144 * sizeof (double));
#define BLOCK(i) (&(loc_arr[i][0][0]))
   for (int ii = 0; ii < 9; ++ii)
   {
     memset (BLOCK(ii), double(ii), 16 * sizeof (double));
   }
#undef BLOCK
   return 1;
}
Run Code Online (Sandbox Code Playgroud)

当我执行它时,使用以下设置:

ENABLE_PREPROCESSING   = YES
MACRO_EXPANSION        = YES
EXPAND_ONLY_PREDEF     = NO
SEARCH_INCLUDES        = YES
INCLUDE_PATH           =
INCLUDE_FILE_PATTERNS  =
PREDEFINED             = 
EXPAND_AS_DEFINED      = 
SKIP_FUNCTION_MACROS …
Run Code Online (Sandbox Code Playgroud)

doxygen preprocessor-directive

4
推荐指数
2
解决办法
8071
查看次数

Doxygen是否具有换行功能?

我想将源文件中的行数限制为80个字符。当使Doxygen函数链接到具有较长原型的函数时,这是一个问题,例如,由于参数的类型名较长。

生成文档时,Doxygen是否可以忽略注释中的换行符(即行继续)?

这是MWE:

我有以下文件名为 mwe.cpp

/**
 * \file mwe.cpp
 * 
 * \details
 * MWE::MWE(int a, int b, int c)
 * MWE::MWE(int a,
 *           int b, int c)
 */


class MWE
{
    public:
        /** 
         * \brief constructor with one parameter
         */
        MWE(int a);

        /** 
         * \brief constructor with three parameters
         **/
        MWE(int a, int b, int c);
}
Run Code Online (Sandbox Code Playgroud)

生成文档时,第一个链接(MWE::func(int a, int b, int c))正确指向带有三个整数参数的构造函数。但是,第二个链接(其中有一个换行符)指向仅接受单个整数参数的构造函数(参数列表也不会成为链接的一部分,而仅成为函数名称)。

有没有办法让Doxygen忽略换行符?

doxygen line-breaks

4
推荐指数
1
解决办法
669
查看次数