none
VB.NetにおけるXMLコメントタグのカスタマイズ RRS feed

  • 質問

  • VB.Netにおいて、XMLドキュメントコメントのテンプレートが、'''で追加されますが、

    この中に、独自のタグを追加されるようにするには、どのようにしたらよいでしょうか?

    ex)標準

        ''' <summary>
        '''
        ''' </summary>
        ''' <param name="num1"></param>
        ''' <returns></returns>
        ''' <remarks></remarks>
    たとえば、作成日、作成者等のタグを自動追加

        ''' <summary>
        '''
        ''' </summary>
        ''' <param name="num1"></param>
        ''' <returns></returns>
        ''' <returns></returns>
        ''' <author></author>
        ''' <create></create>

    2006年3月6日 3:06

回答

  • author などは、属性でやるべきことのように思えます。
    何に利用したいのでしょうか?

    2006年3月6日 10:30
  • 質問のポイントがよく分からなかったのですが,

     wata は書きました:

    たとえば、作成日、作成者等のタグを自動追加

        ''' <summary>
        '''
        ''' </summary>
        ''' <param name="num1"></param>
        ''' <returns></returns>
        ''' <returns></returns>
        ''' <author></author>
        ''' <create></create>

    上のようなコメントを書いた関数を Visual Basic 2005 でビルドしたところ,生成された XML ファイルには <author> も <create> も記録されていました.
    後はこの XML ファイルを処理するプログラム (例えば NDoc なり自作のアセット管理ツールなり) の仕事だと思います.
    というわけで独自のタグが使いたければ好きに使えばいいのだと思います.

    で,そのあたりは分かっていて,「自動追加」というのが質問のポイントなのですか?
    最初に ''' と入力した段階で行われる自動展開で <author> も <create> もひな形を作って欲しいと.(あるいは IntelliSense で補完候補に表示して欲しいとか)

    # ちなみに Visual Basic 2005 には ".NET" は付かないので,2005 を指して VB.NET と書かれているのであればご注意を.

    2006年3月6日 22:59
  • さるべーじと申します。

    あまり深く調べてはいないのですが、どうも「'''」によるドキュメントコメントの
    自動挿入は、そのコメントがつけられるメソッドやクラスなどにより動的に変化するよう
    コードエディタモジュールの中で組み立てているようです。

    どこかに挿入文字列を記録しておき「'''」の入力をトリガとして貼り付ける、と
    いうような単純なものではないようですね。

    で。

    このへんを拡張できるような方法はないかなーと探してみたら、
    msdnマガジンオンラインの2005/07月号に、

    Visual Studioでマクロを使用してコードを瞬時にドキュメント化する

    という記事を見つけました。

    タイトルだけ見るとよくある「ドキュメントコメントのドキュメント化」のように
    思えますが、これ、IDEマクロを使ってドキュメントコメントを取得・整形・書き戻すと
    いう、非常に応用の利くおもしろい手法の紹介となっています。

    対象言語がC#、2005β2前提、IDEマクロを使うのでExp.Edは不可、というあたりで
    なかなか油断のできない情報ではありますが、考え方としては一読の価値があると
    思います。

    ご参考になれば。

    # msdnマガジンオンラインBackIssueの閲覧は、.NET PassportによるSignInが
    # 必要です。念のため。

    2006年3月16日 4:32

すべての返信

  • author などは、属性でやるべきことのように思えます。
    何に利用したいのでしょうか?

    2006年3月6日 10:30
  • 質問のポイントがよく分からなかったのですが,

     wata は書きました:

    たとえば、作成日、作成者等のタグを自動追加

        ''' <summary>
        '''
        ''' </summary>
        ''' <param name="num1"></param>
        ''' <returns></returns>
        ''' <returns></returns>
        ''' <author></author>
        ''' <create></create>

    上のようなコメントを書いた関数を Visual Basic 2005 でビルドしたところ,生成された XML ファイルには <author> も <create> も記録されていました.
    後はこの XML ファイルを処理するプログラム (例えば NDoc なり自作のアセット管理ツールなり) の仕事だと思います.
    というわけで独自のタグが使いたければ好きに使えばいいのだと思います.

    で,そのあたりは分かっていて,「自動追加」というのが質問のポイントなのですか?
    最初に ''' と入力した段階で行われる自動展開で <author> も <create> もひな形を作って欲しいと.(あるいは IntelliSense で補完候補に表示して欲しいとか)

    # ちなみに Visual Basic 2005 には ".NET" は付かないので,2005 を指して VB.NET と書かれているのであればご注意を.

    2006年3月6日 22:59
  • 質問が不明確ですみませんでした。

    ご指摘のとおり、「自動追加」が知りたいポイントです。

    自動展開時に作成される雛形をカスタマイズしたというのが目的です。

    どこかに、雛形XMLのテンプレート的なものがあり、それを変更可能なのでしょうか?

     

    2006年3月7日 7:21
  • さるべーじと申します。

    あまり深く調べてはいないのですが、どうも「'''」によるドキュメントコメントの
    自動挿入は、そのコメントがつけられるメソッドやクラスなどにより動的に変化するよう
    コードエディタモジュールの中で組み立てているようです。

    どこかに挿入文字列を記録しておき「'''」の入力をトリガとして貼り付ける、と
    いうような単純なものではないようですね。

    で。

    このへんを拡張できるような方法はないかなーと探してみたら、
    msdnマガジンオンラインの2005/07月号に、

    Visual Studioでマクロを使用してコードを瞬時にドキュメント化する

    という記事を見つけました。

    タイトルだけ見るとよくある「ドキュメントコメントのドキュメント化」のように
    思えますが、これ、IDEマクロを使ってドキュメントコメントを取得・整形・書き戻すと
    いう、非常に応用の利くおもしろい手法の紹介となっています。

    対象言語がC#、2005β2前提、IDEマクロを使うのでExp.Edは不可、というあたりで
    なかなか油断のできない情報ではありますが、考え方としては一読の価値があると
    思います。

    ご参考になれば。

    # msdnマガジンオンラインBackIssueの閲覧は、.NET PassportによるSignInが
    # 必要です。念のため。

    2006年3月16日 4:32
  • みなさんこんにちは。森田 知良です。

     

    回答を投稿してくださったみなさん、有用な情報ありがとうございました。

     

    wataさん、フォーラムのご利用ありがとうございます。
    その後いかがでしょうか?
    かなり間が空いてしまいましたが、みなさんの情報は有用な情報と思われましたので、
    勝手ながら回答済みチェックをつけさせていただきました。
    wataさんは、回答済みチェックを解除することもできますのでご確認ください。

     

    回答済みチェックが付くことにより、有用な情報を探している方が情報を見つけやすくなります。
    有効な回答があった場合は、なるべく回答済みボタンを押してチェックを付けてくださるようお願いします。

     

    また、追加の質問がありましたら、是非もう一度投稿してくださるようお願いします。

     

    それでは、これからもフォーラムのご利用をよろしくお願いいたします。

     

    2008年4月23日 6:59