1

既存のソース ファイル内の関数の doxygen コメント ブロックを自動的に生成する方法を探していました。代替案を見ていると、SRecode の既存のメカニズムへの参照があり、正しいコメントを生成することができましたsrecode-document-insert-function-comment。でタグ生成を有効にした後、M-x semantic-modeで SRecode を実行しM-x srecode-minor-modeます。すべてが機能しているように見え、SRecode デバッグ機能を使用すると、テンプレートとテーブルが c モードを検出したようです。

ただし、SRecode->Generate メニュー オプションを使用すると、doxygen 関数のコメントの代わりに、次のような単純なコメントが表示されます。

/** main --
* 
*/
void main(int argc, char **argv)

次のメッセージしか表示されませんC-h e

Adding srecode-insert-getset to srecode menu
Adding srecode-document-insert-comment to srecode menu

私はすでに他の関数でそれを試し、edebug-defun でデバッグしようとしましたが、出力を理解できませんでした。

誰かが他に必要な設定を提案できますか?

追加の詳細:

  • MARVIN 上の 2013 年 3 月 17 日の GNU Emacs 24.3.1 (i386-mingw-nt6.1.7601)
  • セマンティック 2.2
  • SRecode 1.2

更新 20131009:

  • 異なるカーソル位置 (関数内、関数名の先頭など) から再試行しても、同じ結果が得られます。
  • メニューから呼び出すか、関数を直接呼び出すと、同じ結果が得られます
  • セマンティックまたは SRemote のいずれについても、.emacs に特別なカスタマイズはありません。モードは、上記のように具体的に呼び出すまで有効になりません (おそらく、それが実際に欠けているものです。何らかのグローバル設定が必要ですか?)

更新 20131012:

  • 別の PC (別の構成) で再試行し、-q 起動オプションを使用して .emacs ファイルを無視しました。どちらの場合も、出力は同じでした。

更新 20131013:

  • 初めて生成を実行した後、*messages* バッファーで次のことに気付きました。そこにヒントがあるのではないでしょうか。

    Adding srecode-insert-getset to srecode menu
    Adding srecode-document-insert-comment to srecode menu
    Adding srecode-insert-getset to srecode menu
    Adding srecode-document-insert-comment to srecode menu
    Compiling template default.srt...
    2 templates compiled for default
    Templates default.srt has estimated priority of 80
    Compiling template c.srt...
    17 templates compiled for c-mode
    Templates c.srt has estimated priority of 90
    Compiling template c.srt...
    14 templates compiled for c-mode
    Templates c.srt has estimated priority of 90
    Compiling template doc-default.srt...
    7 templates compiled for default
    Templates doc-default.srt has estimated priority of 80
    Auto-saving...done
    
4

3 に答える 3

0

カーソルは左括弧の前にある必要があります。パラメータリスト内にいる場合、何も挿入されません。

于 2013-10-09T18:04:03.240 に答える