doxygen为枚举生成的html文档列出了左侧的枚举和右侧的文档.但是我需要为每个值提供非常详细的文档,并且一些名称非常长,因此使文档右侧列显示在右侧,看起来非常糟糕.是否有可能使每个值的文档显示在值的下方或上方而不是右侧?
我正在使用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文件.
考虑到我有一个复杂的类结构,其中许多元素继承自其他元素.我可能有一个GetStuff(string stuffName, int count)在接口中定义的方法,它由其他接口继承,然后由抽象类抽象地实现,然后在具体类等中实现显式等等...
我应该如何处理继承的成员,例如GetStuff()用XML注释记录我的代码,这些注释将与Doxygen或Sandcastle等工具一起使用?在每个级别复制和粘贴相同的描述似乎是错误的.我是否应该在界面级别与具体级别级别考虑不同的受众?例如,接口上的GetStuff()文档可能会考虑人们实现接口,而具体级别的文档可能会考虑使用该类的人员?
我正在使用Doxygen(Doxywizard GUI)来记录PHP项目.Doxygen没有记录我的非类文件.
即在某些文件中,我没有创建任何类,该文件只包含一些函数.Doxygen没有记录功能.有帮助吗?
这里是为我生成的配置文件 Doxywizard
从概念上讲,按照重构文本的方式,我想在我的不同源目录中分发自述文件,然后让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) 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) 我开始使用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)
有人已经解决了这个问题吗?谢谢你的帮助!
使用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块也会出现同样的问题.希望你们中的一些人知道那里发生了什么.
干杯
我需要使用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) 我想将源文件中的行数限制为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忽略换行符?