Visual Studioでの関数ドキュメントの自動生成


89

Visual Studioで自動生成関数ヘッダーを作成する方法(できればキーボードショートカット)があるかどうか疑問に思っていました。

例:

Private Function Foo(ByVal param1 As String, ByVal param2 As Integer)

そして、それは自動的にこのようなものになるでしょう...


'---------------------------------- 
'Pre: 
'Post:
'Author: 
'Date: 
'Param1 (String): 
'Param2 (Integer): 
'Summary: 
Private Function Foo(ByVal param1 As String, ByVal param2 As Integer)

1
IDEでこの機能が壊れているように思われるためにこのページにアクセスした場合は、コードがコンパイルされていることを確認して、もう一度試してください。この機能は、コードに解析エラーがある場合は機能しません。
krowe2 2017年

XamarinでToDoリストを生成する方法は?
マンタン2018年

回答:


158

「3つの単一コメントマーカー」を作成する

C#では ///

デフォルトで吐き出します:

/// <summary>
/// 
/// </summary>
/// <returns></returns>

ここだVSテンプレートを編集するにいくつかのヒントを。


7
そして、VB.NETでそれのトリプル単一引用符(他の回答で述べたように)
peSHIr

1
それはかなりすっきりしていて、それについては知らなかった
ブレンダン

前の非空白行が「///」で始まる場合、「///のXMLドキュメントコメントを生成する」は機能しません
Moon Waxing

すべてのメソッド、プロパティ、変数でこれを自動的に行うことは可能ですか?コードがすでに存在していても?
Robin Bruneel 2017

ヒントリンクが再び修正されました。一方通行のウェブを呪います!
Michael Paulukonis 2017

48

GhostDoc

関数を右クリックし、「これを文書化」を選択して、

private bool FindTheFoo(int numberOfFoos)

なる

/// <summary>
/// Finds the foo.
/// </summary>
/// <param name="numberOfFoos">The number of foos.</param>
/// <returns></returns>
private bool FindTheFoo(int numberOfFoos)

(はい、すべて自動生成されます)。

C#、VB.NET、C / C ++をサポートしています。それはにマッピングされたデフォルトの単位ですCtrl+ Shift+ D

覚えておいてください。メソッドのシグネチャを超えた情報をドキュメントに追加する必要があります。自動生成されたドキュメントだけで停止するのではありません。このようなツールの価値は、メソッドシグネチャから抽出できるドキュメントを自動的に生成することです。そのため、追加する情報はすべて新しい情報である必要があります。

そうは言っても、私は個人的にメソッドが完全に自己文書化されている場合を好みますが、場合によっては、外部の文書化を義務付けるコーディング標準があり、このようなツールを使用すると、多くの頭の悪いタイピングを節約できます。


16
そして、これはまさに私が嫌う一種の「ドキュメント」です。メソッドとパラメーターの名前ではまだ教えてくれないので、バイトを追加するだけです。コメントを編集して価値のあるものにしない限り、これを行わないでください... :-(
peSHIr

12
もちろん、情報を追加するために編集する必要があります。しかし、テンプレートとしてはとてもいいです。
Rasmus Faber、

3
@Rasmus:これはテンプレートです。適切なドキュメントを作成するには、情報のコンテンツがないため、完全に破棄して書き直してください。だから、それは単に空白である場合よりも実際にはより多くの努力です。
ジョーイ

35
///

メソッド説明コメントブロックを取得するためのショートカットです。ただし、追加する前に、関数名とシグネチャを書き込んだことを確認してください。まず、関数名と署名を記述します。

次に、関数名の上に///と入力します

あなたはそれを自動的に取得します

ここに画像の説明を入力してください


4
素晴らしい珍しい投稿機能、アニメーション。
n611x007 16

1
どうやったの?私はその答えが好きです。これまでに見たことがない。
Matthis Kohli 2017

2
いいね。1つの追加は、関数へのパラメーターになります。
amit jha

19

Visual Assistにも優れたソリューションがあり、コストも非常に高くなります。

doxygenスタイルのコメントを生成するためにそれを微調整した後、これらの2つのクリックは以下を生成します-

/**
* Method:    FindTheFoo
* FullName:  FindTheFoo
* Access:    private 
* Qualifier:
* @param    int numberOfFoos
* @return   bool
*/
private bool FindTheFoo(int numberOfFoos)
{

}

(デフォルト設定では、少し異なります。)


編集:「ドキュメントメソッド」テキストをカスタマイズする方法は、VassistX-> Visual Assist Options-> Suggestionsの下にあり、「Edit VA Snippets」、言語:C ++、タイプ:Refactoringを選択し、「Document Method」に移動してカスタマイズします。上記の例は、以下によって生成されます。

va_doxy


これをVAでどのように設定したかを共有してください
ダミアン

答えを詳しく説明しました。お役に立てれば。
Ofek Shilon、2016年

スニペットを挿入するには:メソッド名/シグネチャにカーソルを置き、alt + shift + q> "ドキュメントメソッド"
Andrew

13

通常、コメントを付けたいもの(メソッド、クラス)の上に3つの単一コメントマーカーを追加すると、Visual Studioによって自動的に作成されます。

C#では、これはになります///

Visual Studioがこれを行わない場合は、

オプション->テキストエディター-> C#->詳細

そしてチェック

///のXMLドキュメントコメントを生成する

写真の説明


3

Visual Basicでは、最初にfunction / subを作成してから、その上の行に 'を3回入力すると、ドキュメントに関連するxmlが自動生成されます。これは、インテリセンスでマウスオーバーしたとき、および関数を使用しているときにも表示されます。


2

コードスニペットを使用して、必要な行を挿入できます。

また、関数ヘッダーの上の行に3つの単一引用符( '' ')を入力すると、XMLヘッダーテンプレートが挿入され、そこに入力できます。

これらのXMLコメントは、ドキュメントソフトウェアによって解釈でき、アセンブリの出力にassembly.xmlファイルとして含まれます。DLLでそのXMLファイルを保持し、別のプロジェクトでそのDLLを参照すると、それらのコメントはインテリセンスで利用できるようになります。


それはVB.NETです:C#では///
peSHIr

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.