标签: doxygen

Emacs + C/C++ + Doxygen:doxymacs的替代品?有yasnippet?

我想使用doxygen在Emacs中生成代码文档(函数).c.cc文件.我发现doxymacs,但似乎不再维护(最新版本2007),如果我更改函数的一个参数的名称,我也没有找到更新函数文档的方法("不幸的是",我已经习惯了极大Roxygen.R脚本,它可以做所有的好东西,一个函数之前的权利,即使插入文档时的点在什么地方功能).

我发现了这个,但似乎不是很有用.然而,有一个例子在这里如何使用yasnippets.有人写过doxygen标题的yasnippet吗?但是,如果函数名称更改,它将不会更新参数.在Emacs中使用doxygen有什么"更好"的方法吗?我认为有很多C/C++程序员可以使用Emacs,我猜想应该有一个很好的代码文档工具/方法.

更新

我也找到了这个.它完全基于yasnippet(尽管还没有尝试过).

c c++ emacs doxygen

17
推荐指数
1
解决办法
6398
查看次数

使用Doxygen测量文档覆盖率

我想询问Doxygen是否有任何功能(或附加组件)来通过命令行测量文档覆盖率.我已经知道我可以设置Doxygen将未记录的元素作为警告写入日志文件,但是为了完全评估文档的覆盖范围,我需要编写自己的警告日志解析器.这样的事情已经完成了还是有一种我找不到的更简单的方法?有没有我可以检查的附加组件?谢谢.

doxygen

17
推荐指数
1
解决办法
1800
查看次数

如何让doxygen运行得更快?

Doxygen有点慢 - 处理整个项目大约需要几分钟,因此对于小的增量更改,这比实际构建其余代码要长.有成千上万的文件没有任何文档,所以我猜它花了大部分时间来处理它们.有没有办法让它在没有任何文档的情况下跳过文件?

如何让它只处理更改的文件?

build-process doxygen

16
推荐指数
3
解决办法
7744
查看次数

从doxygen文档中排除一些类

我正在构建一个基于Qt的项目,并且在目标文档中找到了许多Qt类.

如何告诉Doxygen禁用某些类的文档生成?对于Q.*?

doxygen

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

Doxygen报告"潜在的递归类关系"

我有一个C++模板类base::Foo<class T>,我在另一个文件中有一个类base::bar::Foo : public base::Foo<Baz>.Doxygen似乎不喜欢这样,因为它会抛出一个错误

<unknown>:1: Detected potential recursive class relation between class snLib::mocTwod::DsaCell and base class DsaCell< snLib::mocTwod::ProblemTraits, detLib::cellDiffusionTwod::ProblemTraits >!
Run Code Online (Sandbox Code Playgroud)

有没有办法防止这种情况发生?Doxygen的文档没有讨论这个错误或关于"潜在的递归类关系"的任何内容.

"基础"类:

/*! \file snlib/DsaCell.hpp
 */
#ifndef snlib_DsaCell_hpp
#define snlib_DsaCell_hpp
#include "Dsa.hpp"

namespace snLib {
/*!
 * \brief  Implementation of naive cell-centered DSA
 */
template <class HoTraits_T, class LoTraits_T>
class DsaCell : public snLib::Dsa< HoTraits_T, LoTraits_T >
{
    [snip]
};
}
#endif
Run Code Online (Sandbox Code Playgroud)

导致问题的一个后代:

/*! \file snlib/twod/moc/DsaCell.hpp
 */
#ifndef snlib_twod_moc_DsaCell_hpp
#define snlib_twod_moc_DsaCell_hpp
#include "snlib/DsaCell.hpp"

#include "ProblemTraits.hpp" …
Run Code Online (Sandbox Code Playgroud)

c++ doxygen

16
推荐指数
1
解决办法
1207
查看次数

如何在我的doxygen文档中添加外部资源(pdf文件)

我生成了一个doxygen文档.在我的一个"页面"中,我有一个pdf文件的链接:

<a href="../documents/xxx.pdf" target="_blank"><b>Overview</b></a>
Run Code Online (Sandbox Code Playgroud)

此文件位于我的项目中的另一个目录中.文档最终在名为"html"的文件夹中.

如何告诉doxygen将pdf文件复制到html中?

doxygen

16
推荐指数
1
解决办法
9750
查看次数

如何记录python函数参数类型?

我知道参数可以是任何对象,但对于文档而言,指定您期望的内容非常重要.

首先是如何指定下面的参数类型?

  • str(或使用Stringstring?)
  • int
  • list
  • dict
  • 功能()
  • tuple
  • 类的对象实例 MyClass

第二,如何指定可以是多种类型的参数,比如可以处理单个参数的函数,int或者可以是str

请使用以下示例演示使用您提出的解决方案记录此文档所需的语法.请注意,希望能够从文档内部超链接对"Image"类的引用.

def myMethod(self, name, image):
    """
    Does something ...

    name String: name of the image
    image Image: instance of Image Class or a string indicating the filename.

    Return True if operation succeeded or False.
    """
    return True
Run Code Online (Sandbox Code Playgroud)

请注意,只要能够处理要求,欢迎您使用任何文档工具(sphinx,oxygen,...).

更新:

它表示在doxygen中记录参数类型有一些支持.一般.下面的代码可以工作但是会给param名称添加一个烦人的$(因为它最初是为php制作的).

    @param str $arg description
    @param str|int $arg description
Run Code Online (Sandbox Code Playgroud)

python doxygen

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

包括doxygen的LaTeX输出作为更大文档的附录

我有一个使用LaTeX的"项目书" \documentclass{report}("报告"就像一个更紧凑的版本\documentclass{book}).我想在本书中附上一个附录,其中包含项目中软件的Doxygen生成的API文档.

我通过设置Doxygen的配置选项LATEX_HEADERLATEX_FOOTER空文件来实现这一点.这使得生成的latex/refman.tex具有如下顶级命令:\section{\-Namespace \-Index},此时我可以用顶级文档包装它,如:

\documentclass{report}
\usepackage{doxygen.sty}
% the "import" package helps to find Doxygen files in the latex/ subdirectory
\usepackage{import}
% [...] title page and the rest of the book

\appendix
\chapter{API reference (generated by Doxygen)
subimport{latex/}{refman.tex}

% [...] final stuff
\end{document}
Run Code Online (Sandbox Code Playgroud)

这工作得相当好,我得到doxygen.sty了这个特殊的doxygen调用:

doxygen -w latex /dev/null /dev/null doxygen.sty
Run Code Online (Sandbox Code Playgroud)

一个问题是,这会在整个文档上放置一个"自动生成"的标题(而不仅仅是在doxygen附录上).我可以通过编辑来解决这个问题doxygen.sty(实际上我也将它重命名为包含它)并注释掉以该块开头的块% Setup fancy headings.

在这一点上,我有一些我可以忍受的东西,但我想更进一步:"doxygen"风格修改了LaTeX文档样式的许多其他方面,我更喜欢它.

所以我的问题是(两个级别的卓越):

  1. 什么是最小的LaTeX命令集放在doxygen.sty文件中,可以很好地渲染doxygen附录但不会干扰LaTeX文档的其余部分?

  2. 更好的是,有人想出办法

    \usepackage{doxygen_standalone}
    % [... until you need doxygen]
    \begin{doxygen} …
    Run Code Online (Sandbox Code Playgroud)

latex doxygen

16
推荐指数
1
解决办法
2611
查看次数

隐藏Doxygen的模板实现细节

C++的一个(如此多)不幸的设计缺陷是,当使用模板元编程时,基本上不可能将实现与接口分开.

在我的图书馆里,我有类似的东西:

template <typename Ma, typename Mb>
typename boost::enable_if_c<
            detail::IsMatrix<Ma>::val and detail::IsMatrix<Mb>::val and
            detail::MatrixDimensionCheck<Ma,Mb>::isStaticMatch, 
        bool>::type
operator==(const Ma &a, const Mb &b) {
    return detail::matrixEqual(a,b);
}
Run Code Online (Sandbox Code Playgroud)

如果这是不可读的,我不怪你.bool如果参数是矩阵并匹配维度,那么大部分混乱只是定义返回类型,如果它们是其他东西则是未定义的(因此依赖SFINAE来防止此运算符隐藏其他重要事物).

由于本质上是静态类型检查函数的内容现在已嵌入到我的普通C++函数的签名中,因此这些实现内容将出现在生成的文档中.

我不希望用户必须阅读此内容.他们需要知道的是,这个函数返回一个bool(通过阅读上面几乎不可能知道).在文档中,我可以用简单的英语简洁地解释这个操作符只接受矩阵.

有没有办法说服Doxygen将那种类型弄得乱七八糟bool?(我假设在代码中或多或少没有办法在代码中直接清除它,但如果你能想到某些东西,欢迎这些想法).

c++ templates doxygen

16
推荐指数
1
解决办法
1249
查看次数

我该如何运行doxywizard?

我已经成功下载并安装了doxygen.我正在尝试运行doxygen,但是配置文件有点不知所措.我看到有一个名为doxywizard的实用程序可以指导您完成配置文件的创建.如何运行此向导?我看到有一个名为Doxywizard的文件夹.我是否在此文件夹中运行其中一个文件?

doxygen

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

标签 统计

doxygen ×10

c++ ×3

build-process ×1

c ×1

emacs ×1

latex ×1

python ×1

templates ×1