我正在记录一些使用元编程的代码,例如:
template<rysq::type A, rysq::type B, rysq::type C, rysq::type D, class Transform>
struct Kernel<meta::braket<A,B,C,D>, Transform,
typename boost::enable_if<
quadrature<meta::braket<A,B,C,D>, Transform> >::type>
: Eri <Transform> {
Run Code Online (Sandbox Code Playgroud)
使用doxygen记录这种构造的好方法是什么?
如何使用Doxygen在C++中记录宏函数,并在我的非Evil代码的文档中引用它?
更具体地说,我在Message.H中定义了一些名为"Message"的常规类,用户可以继承它来定义自己的消息.在另一个文件("MessageHelpers.H")中,我有一个像这样的疯狂宏:
//! Users must call this macro to register their messages...
/*!
...lest they be forced to type all sorts of boring and
error-prone boiler plate code.
blah blah blah... More specific documentation and explanation...
*/
#define REGISTER_MESSAGE_TYPE(MSGTYPE) \
do_some(MSGTYPE); \
seriously(); \
crazy_stuff(MSGTYPE);
Run Code Online (Sandbox Code Playgroud)
在Message的文档中,如果短语"REGISTER_MESSAGE_TYPE"可以自动成为链接并指向我的宏文档,我会很高兴.例如
//! A cool message class
/*!
Users can inherit from this class to create their own cool messages.
Just be sure to call REGISTER_MESSAGE_TYPE after your class definition!
*/
class Message
{
virtual void …Run Code Online (Sandbox Code Playgroud) 我正在使用Doxygen记录C++库的头文件.在Doxyfile,我定义
INPUT = include/
Run Code Online (Sandbox Code Playgroud)
希望Doxygen会为所有头文件生成文档include/Foo,但它不会:只index.html生成文件.我可以设置INPUT到include/Foo,但随后的文件中列出了头与他们的基本名称(Reader.hh),而我希望客户包括标头,Foo/Reader.hh等等.
如何在子目录中查看Doxygen?
我正在尝试在我们庞大的78,000文件C++代码库上设置自动Doxygen运行.它可以提取基本类型和层次结构信息,但我想更好地了解已经存在的文档注释.
多年来积累的大多数评论都遵循一般模式,尽管不是Doxygen预期的模式.他们大多看起来像
// class description
class foo
{
// returns ascii art of a fruit
const char* apples( void );
// does something to some other thing
customtype_t baz( foo &other );
enum
{
kBADGER, // an omnivorous mustelid
kMUSHROOM, // tasty on pizza
kSNAKE, // oh no!
};
}
Run Code Online (Sandbox Code Playgroud)
这是双重削减,而不是Doxygen期望的///或//!风格评论.
搜索和替换所有这些评论的文件太多了,而且我的许多程序员对于在代码中看到三重斜杠都非常过敏,所以我想找到一些方法让Doxygen读取普通评论作为JavaDoc评论,当他们在正确的地方.有没有一种方法,使Doxygen的阅读//作为///?
我找不到任何这样的配置参数,所以我想我需要以某种方式转换输入.一般来说,我使用的规则是:
///
注释. //
评论在同一行后面有声明,则将其视为a///<但我不知道怎么去教Doxygen这条规则.我能想到的两种方式是:
//s转换为///s,如上所述.但是这种转换太复杂了,不能作为正则表达式,我真的不想写一个完整的C++解析器只是为了将输入提供给另一个C++解析器!此外,为每个文件启动一个INPUT_FILTER程序会降低Doxygen的速度:在我们的源代码中运行已超过30分钟,并且添加一个INPUT_FILTER …我在我的项目中使用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函数.
经过一些尝试后,我想为什么不改变文件的FILE_PATTERNS选项来处理.js文件,因为注释的JavaDoc样式几乎与PHP使用的相同.好吧,结果看起来很有希望,但文档中缺少一些功能.
以下是示例:
/**
* Definitions for the languages.
* @memberof Language
*/
Language.Definitions = (function()
{
...
}
Run Code Online (Sandbox Code Playgroud)
这很好用,我可以看到文档.但:
**
* 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, …Run Code Online (Sandbox Code Playgroud) 我有一个main.cpp,它包含一个struct,一些全局常量和一个main函数.
我运行doxygen,我在输出index.html中获得的唯一文档是我的struct.
我想doxygen将index.html文件记录到我的main()中.我做错了什么?
/// Definition of Pi
const auto Pi = 3.141592653589793238462643383279502884197169399;
/// \struct myStruc
/// \brief myStruc description
///
struct myStruc
{
/// Comments inside myStruc
};
/// \file
/// \brief Main function
/// \param argc An integer argument count of the command line arguments
/// \param argv An argument vector of the command line arguments
/// \return an integer 0 upon exit success
int main(int argc, char** argv)
{
/// Comments I would like to be documented in …Run Code Online (Sandbox Code Playgroud) 我想知道是否可以从自动链接功能中排除符号.我有一个带有通用名称的命名空间(例如Ball),在文档中我在与命名空间完全无关的短语中使用该名称(例如,当球进入目标时你得分的足球)我不希望它链接.有没有办法实现这个目标?提前致谢!
我注意到doxygen使用graphviz库来创建图表.您是否曾使用graphviz生成文档?是否值得在doxygen范围之外学习graphviz用于文档目的?或者我最好坚持像Visio这样的标准数据建模软件包?
我理解它作为图形库的优点,但是为了尝试表示更复杂的UML(或类似的),它还值得研究吗?
在PHP项目中,即使前端控制器逻辑用于主应用程序,也可以有许多独立脚本,ajax片段等.
是否有标准化的方法 - PHPDoc或其他 - 在脚本的第一个注释块中定义脚本将接受/要求的GET和/或POST参数以及它们的类型?
我通常只是通过添加@params 来帮助自己,好像文件是一个函数,并@return解释脚本的作用和返回,但也许有一种我不知道的更专业的方式.
我需要在Android Studio中为我的应用创建一个文档.我已经在eclipse中使用Doxygen创建了文档,但我不知道如何在Android Studio中使用Doxygen来生成自动文档.我尝试在网上搜索但我能找到的只是Eclipse Doxygen插件,任何人都可以在Android工作室中使用Doxygen吗?