Emacs + C/C++ + Doxygen:doxymacs的替代品?与亚片段
Emacs + C/C++ + Doxygen: Alternative to doxymacs? With yasnippet?
我想使用 doxygen 在 Emacs 的.c
或.cc
文件中生成(函数)代码文档。我找到了doxymacs
,但它似乎不再维护了(最新版本 2007),如果我更改函数参数之一的名称,我也没有找到更新函数文档的方法("不幸的是",我已经习惯了.R
脚本的伟大Roxygen
可以做所有好事, 当点在函数中的某个位置时,甚至在函数之前插入文档)。
我找到了这个,但它似乎不是很有用。但是,这里有一个示例 如何使用yasnippets
.有没有人为doxygen标头编写yasnippet?不过,如果函数名称更改,它不会更新参数。在 Emacs 中使用 doxygen 有什么"更好"的方法吗?我假设有很多C/C++程序员使用Emacs,我猜应该有一个好的代码文档工具/方法。
更新
我也发现了这个。它纯粹基于 yasnippet(不过还没有尝试过)。
我使用以下方法:
# -*- mode: snippet -*-
# name: cc-doxygen
# key: dox
# type: command
# contributor: Jonathan Kotta <jpkotta@gmail.com>
# --
(let* ((next-func-alist (doxymacs-find-next-func))
(func-name (cdr (assoc 'func next-func-alist)))
(params-list (cdr (assoc 'args next-func-alist)))
(return-name (cdr (assoc 'return next-func-alist)))
(snippet-text "")
(idx 1))
(setq snippet-text (format "/**n * ${1:%s}n * n" func-name))
(setq idx 2)
(dolist (param params-list)
(unless (string= param "this")
(setq snippet-text (concat snippet-text
(format " * \param %s ${%d:}n" param idx)))
(setq idx (+ 1 idx))))
(when (and return-name (not (string= return-name "void")))
(setq snippet-text (concat snippet-text
(format " * \return ${%d:%s}n" idx return-name))))
(setq snippet-text (concat snippet-text " */"))
(yas/expand-snippet snippet-text))
1. 从 Emacs 生成氧气
您使用哪种工具进行编译?清妃?自动工具?斯康斯?
有一次我与CMake合作,我们创建了一个目标来生成doxygen的文档。
像这样的东西。
然后你必须像这样编译:
make doc
但这仅涵盖了您问题的第一部分,即每个函数之前的文档,它将手动制作。我将尝试将此解决方案与 yasnippet 集成。
相关文章:
- C++中原子的替代品<variant>
- 这个带有模板<类 Vector 的C++代码片段有什么问题>
- Opengl 3.1 GLSL 140 在 C++ 年输出白色在片段着色器中
- 这两个代码片段相似,但显示的结果不同
- 如何替换此示例代码片段中已弃用的handler_type_t或 boost::asio::handler_type?
- C++sscanf_s的替代品
- getline的替代品
- 什么是 std::function::argument_type 的替代品?
- 我需要解释给定片段的输出
- 如果我在下面的代码片段中添加"delete[] d;",为什么我得到零?
- 我遇到了这个代码片段,不明白. 它递归检查 C++ 字符串中是否存在大写字符
- 任何人都可以解释一下我是否需要 & 在第一个代码片段中
- OpenGL 片段着色器未在英特尔 HD 4000 显卡上编译
- 帧缓冲纹理变为白色(片段着色器不会影响它)
- 如何在 c++ 中检查连续片段中数字被 11 整除
- 提取狮身人面像文档中的C++代码片段
- 为什么此代码片段有效?如何取消引用空点?
- 将顶点位置从顶点传递到片段着色器 - 仅在使用 Nsight 进行调试时有效
- 有DirectShow的替代品吗?
- Emacs + C/C++ + Doxygen:doxymacs的替代品?与亚片段