Emacsとdoxymacsで爆速Doxygenコーディング
Doxygen、使ってますか?
Doxygenを使えば、ソースコード中に決まった書き方のコメントを入れるだけでHTML形式のドキュメントを作成することができます。
API仕様書などを簡単に作成することができるだけでなく、コメントの書き方が一つに定まるので、チーム作業での可読性も高まります。
Emacsにdoxymacsをインストールすることで、Doxygen形式のコメントを簡単に挿入することができます。YASnippetなどに自分で登録してもよいですが、doxymacsを使ったほうが楽でしょう。
注意:doxymacsはc-modeとc++-modeでしか使えないようです
doxymacsのインストール
まずは以下のサイトにアクセスして、"Version 1.8.0"をダウンロードします。
tar.gzを展開したら、doxymacs-1.8.0の中で ./configureします。以下のように表示されればOKです。
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に以下を追記します。
;; 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などを記述しましょう。
/*!
@file hoge.cpp
@author <bitpositive@bit-plus>
@date Wed Nov 28 14:37:29 2018
@brief
*/
また、適当な関数に対してコメントを挿入しましょう。(C-c d f)
以下のようにして、自動的に引数の名前が挿入されます。あとは自分でbriefやreturnなどを記述しましょう。
//!
/*!
@param hogeNum
@param hogeStr
*/
void hogeFunc(int hogeNum, char *hogeStr){
//! Hoge hogehoge
return;
}
参考
Author And Source
この問題について(Emacsとdoxymacsで爆速Doxygenコーディング), 我々は、より多くの情報をここで見つけました https://qiita.com/willow-micro/items/5efe8f3c7a23ab286b97著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .