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;
}

参考