Mar*_*ert 17 c c++ emacs doxygen
我想使用doxygen在Emacs中生成代码文档(函数).c
或.cc
文件.我发现doxymacs
,但似乎不再维护(最新版本2007),如果我更改函数的一个参数的名称,我也没有找到更新函数文档的方法("不幸的是",我已经习惯了极大Roxygen
的.R
脚本,它可以做所有的好东西,一个函数之前的权利,即使插入文档时的点在什么地方功能).
我发现了这个,但似乎不是很有用.然而,有一个例子在这里如何使用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))
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6398 次 |
最近记录: |