Doxymacs

http://doxymacs.sourceforge.net/

doxymacs を使うと emacsdoxygen 用のコメントを楽に書くことができる.

使い方

~/.emacs などに以下のように記述.

;;; -- for doxymacs
;;  sumomo-emacs,  w3-emacs のRPMと
;;  doxymacs.el などが必要
(require 'doxymacs)
(add-hook 'c-mode-common-hook 'doxymacs-mode) 
;;(setq doxymacs-doxygen-style "C++") ;; Qt or JavaDoc or C++
(setq doxymacs-doxygen-style "JavaDoc") ;; Qt or JavaDoc or C++
(defun my-doxymacs-font-lock-hook ()
  (if (or (eq major-mode 'c-mode) (eq major-mode 'c++-mode))
      (doxymacs-font-lock)))
(add-hook 'font-lock-mode-hook 'my-doxymacs-font-lock-hook)

キーバインド

  • C-c d i で,ファイルのヘッダのテンプレートの挿入
  • C-c d f で,関数のコメント文のテンプレートの挿入
  • C-c d ; で,末尾にコメント文を挿入.

てな感じ.

利用例

たとえば,

int 
foo(int a, int b)
{
   return a+b;
}

というコードがあったときに 最初の行にカーソルを合わせた状態で
C-c C-d f と入力すると

/// 
///
/// @param a 
/// @param b 
///
/// @return 
///
int 
foo(int a, int b)

のようにコメント文が挿入される.あとは,説明を追加するだけ.

/// a+b の値を返す.
///
/// @param a  a
/// @param b  b
///
/// @return  a+b を返す.
///
int 
foo(int a, int b)

これがないと doxygen なんて使ってられません.


さらにうれしい事に,この doxymacs は c-mode で動くので php-mode でも使えます.便利じゃ.

ただし欠点も一つある.なぜか doxymacs を使うと mew の挙動がおかしくなります.