5

javadoc 形式の doxygen コメントを使用して C++ コードにコメントを付ける必要があります。入力時に javadoc スタイルを維持できるものを emacs で探しています。

したがって、次のようなコメントを書き始めると:

/**
 * This function does the following:

「Enter」を押すと、カーソルが自動インデントされて「*」が挿入されるので、手動でフォーマットせずに入力を続けることができます。したがって、「リターン」を押すと、コメントは次のようになります (「[TAB]*」と入力しなくても):

/**
 * This function does the following:
 * 
4

3 に答える 3

3

ここで答えを見つけました : http://www.frankmeffert.de/2010/09/emacs-doxygen-doxymacs/

(defun my-javadoc-return () 
  "Advanced C-m for Javadoc multiline comments.   
Inserts `*' at the beggining of the new line if 
unless return was pressed outside the comment"
  (interactive)
  (setq last (point))
  (setq is-inside
        (if (search-backward "*/" nil t)
        ;; there are some comment endings - search forward
            (search-forward "/*" last t)
          ;; it's the only comment - search backward
          (goto-char last)
          (search-backward "/*" nil t)
      )
    )
  ;; go to last char position
  (goto-char last)
  ;; the point is inside some comment, insert `* '
  (if is-inside
      (progn 
    (insert "\n* ")
    (indent-for-tab-command))
    ;; else insert only new-line
    (insert "\n")))

(add-hook 'c-mode-common-hook (lambda () 
  (local-set-key "\r" 'my-javadoc-return)))
于 2013-10-24T13:26:57.597 に答える
2

スタイル コメントc-block-comment-prefix内の継続行のプレフィックスを制御する変数があります。/*...*/

に設定した状態で

(setq c-block-comment-prefix "* ")

そして、完全な内部のポイント—つまり、閉じた—コメントブロック(|ポイントです)

1. /|* */
2. /*| */
3. /* |*/
4. /* *|/

M-j(コマンド)を押すc-indent-new-comment-lineと、次のようになります。

/*
 * */

23 および 24 Emacsen の両方で機能します。

于 2013-10-25T09:29:46.673 に答える
2

IIUC、M-j代わりにヒットすると、RET必要な動作が得られるはずです。

于 2013-10-24T17:35:40.313 に答える