Posted at

Emacsとdoxymacsで爆速Doxygenコーディング


Doxygen、使ってますか?

Doxygenを使えば、ソースコード中に決まった書き方のコメントを入れるだけでHTML形式のドキュメントを作成することができます。

API仕様書などを簡単に作成することができるだけでなく、コメントの書き方が一つに定まるので、チーム作業での可読性も高まります。

Emacsにdoxymacsをインストールすることで、Doxygen形式のコメントを簡単に挿入することができます。YASnippetなどに自分で登録してもよいですが、doxymacsを使ったほうが楽でしょう。

注意:doxymacsはc-modeとc++-modeでしか使えないようです


doxymacsのインストール

まずは以下のサイトにアクセスして、"Version 1.8.0"をダウンロードします。

Doxymacs = Doxygen + Emacs

tar.gzを展開したら、doxymacs-1.8.0の中で ./configureします。以下のように表示されればOKです。


$ ./configure

configure: creating ./config.status

config.status: creating Makefile
config.status: creating c/Makefile
config.status: creating lisp/Makefile
config.status: creating lisp/doxymacs.el
config.status: creating no-autoconf/Makefile
config.status: executing depfiles commands

bitpositive@bit-plus ~/Downloads/doxymacs-1.8.0.tar/doxymacs-1.8.0 $


次に、~/.emacs.dの中のロードパスが通ったディレクトリ(今回は~/.emacs.d/elisp)に、doxymacs-1.8.0/lispの中のdoxymacs.elとxml-parse.elをコピーします。

最後に、~/emacs.d/init.elに以下を追記します。


init.el

;; doxymacs mode

(require 'doxymacs)

;; custom c-mode hook for doxymacs
(defun doxy-custom-c-mode-hook ()
(doxymacs-mode 1)
(setq doxymacs-doxygen-style "Qt")
(setq doxymacs-command-character "@")

(add-hook 'c-mode-common-hook 'doxy-custom-c-mode-hook)


今回はコメントをQt形式、コマンド文字を@としました。


ショートカット

キー
機能

C-c d i
ファイルへのコメントを挿入

C-c d f
カーソルの下にある関数へのコメントを挿入

C-c d ;
メンバへのコメントを挿入

C-c d m
複数行の空コメントを挿入

C-c d s
一行の空コメントを挿入


使ってみる

Emacsをc-mode/c++-modeにした上で、まずはファイルへのコメントを挿入しましょう。(C-c d i)

以下のようにして、自動的にファイル名や日付、ユーザー名が挿入されます。あとは自分でcopyrightやbriefなどを記述しましょう。


hoge.cpp

/*!

@file hoge.cpp
@author <bitpositive@bit-plus>
@date Wed Nov 28 14:37:29 2018

@brief

*/


また、適当な関数に対してコメントを挿入しましょう。(C-c d f)

以下のようにして、自動的に引数の名前が挿入されます。あとは自分でbriefやreturnなどを記述しましょう。


hoge.cpp


//!
/*!

@param hogeNum
@param hogeStr
*/
void hogeFunc(int hogeNum, char *hogeStr){
//! Hoge hogehoge

return;
}



参考