Automatische Generierung der Funktionsdokumentation in Visual Studio

89

Ich habe mich gefragt, ob es eine Möglichkeit gibt (hoffentlich eine Tastenkombination), automatisch generierte Funktionsheader in Visual Studio zu erstellen.

Beispiel:

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

Und es würde automatisch so etwas werden ...


'---------------------------------- 
'Pre: 
'Post:
'Author: 
'Date: 
'Param1 (String): 
'Param2 (Integer): 
'Summary: 
Private Function Foo(ByVal param1 As String, ByVal param2 As Integer)
Ryan M.
quelle
1
Wenn Sie auf dieser Seite gelandet sind, weil diese Funktion in Ihrer IDE anscheinend nicht funktioniert, sollten Sie sicherstellen, dass Ihr Code kompiliert wird, und es erneut versuchen. Diese Funktion funktioniert nicht, wenn Ihr Code Analysefehler aufweist.
Krowe2
Wie erstelle ich eine Aufgabenliste in Xamarin?
Manthan

Antworten:

158

Machen Sie das "drei einzelne Kommentar-Marker"

In C # ist es ///

was standardmäßig ausspuckt:

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

Hier einige Tipps zum Bearbeiten von VS-Vorlagen.

Michael Paulukonis
quelle
7
Und in VB.NET sind es dreifache einfache Anführungszeichen (wie in einer anderen Antwort erwähnt)
peSHIr
1
Das ist ziemlich ordentlich, wusste nichts davon
Brendan
Das "Generieren von XML-Dokumentationskommentaren für ///" funktioniert nicht, wenn die vorherige nicht weiße Leerzeile mit "///" beginnt
Moon Waxing
Ist dies bei jeder Methode, Eigenschaft und Variablen automatisch möglich? Auch wenn der Code bereits existiert?
Robin Bruneel
Tipps Link wieder behoben . verfluche dich, One-Way-Web!
Michael Paulukonis
48

GhostDoc !

Klicken Sie mit der rechten Maustaste auf die Funktion, wählen Sie "Dokumentieren" und

private bool FindTheFoo(int numberOfFoos)

wird

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

(Ja, alles wird automatisch generiert).

Es unterstützt C #, VB.NET und C / C ++. Es ist standardmäßig Ctrl+ Shift+ zugeordnet D.

Denken Sie daran: Sie sollten der Dokumentation Informationen hinzufügen, die über die Methodensignatur hinausgehen. Hören Sie nicht nur mit der automatisch generierten Dokumentation auf. Der Wert eines solchen Tools besteht darin, dass es automatisch die Dokumentation generiert, die aus der Methodensignatur extrahiert werden kann. Daher sollten alle Informationen, die Sie hinzufügen, neue Informationen sein.

Abgesehen davon bevorzuge ich persönlich, wenn Methoden vollständig selbstdokumentierend sind, aber manchmal haben Sie Codierungsstandards, die externe Dokumentation vorschreiben, und dann erspart Ihnen ein solches Tool viel Braindead-Typisierung.

Rasmus Faber
quelle
16
Und genau diese Art von "Dokumentation" verabscheue ich. Es werden nur Bytes hinzugefügt, ohne dass mir etwas gesagt wird. Die Methoden- und Parameternamen sagen es mir noch nicht. Tun Sie dies nicht, ohne den Kommentar in etwas Wertvolles zu bearbeiten ... :-(
peSHIr
12
Natürlich sollten Sie es bearbeiten, um Informationen hinzuzufügen. Aber als Vorlage ist es sehr schön.
Rasmus Faber
3
@Rasmus: Es ist eine Vorlage, die für eine gute Dokumentation komplett weggeworfen und trotzdem neu geschrieben werden sollte, da sie keinen Informationsgehalt enthält. Es ist also tatsächlich mehr Aufwand, als wenn es nur leer wäre.
Joey
35
///

ist die Verknüpfung zum Abrufen des Kommentarblocks "Methodenbeschreibung". Stellen Sie jedoch sicher, dass Sie den Funktionsnamen und die Signatur geschrieben haben, bevor Sie sie hinzufügen. Schreiben Sie zuerst den Funktionsnamen und die Signatur.

Geben Sie dann über dem Funktionsnamen einfach /// ein.

und Sie erhalten es automatisch

Geben Sie hier die Bildbeschreibung ein

Bimzee
quelle
4
schöne ungewöhnliche Funktion eines Beitrags, Ihre Animation.
n611x007
1
Wie hast du das gemacht? Ich mag diese Antwort. Noch nie gesehen.
Matthis Kohli
2
es ist schön. Eine Ergänzung wären Parameter für die Funktion.
Amit Jha
19

Visual Assist hat auch eine gute Lösung und ist sehr kostümierbar.

Nach dem Optimieren, um Kommentare im Sauerstoffstil zu generieren, würden diese beiden Klicks Folgendes erzeugen:

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

}

(In den Standardeinstellungen ist es etwas anders.)


Bearbeiten: Die Möglichkeit, den Text 'Dokumentmethode' anzupassen, finden Sie unter VassistX-> Visual Assist-Optionen-> Vorschläge. Wählen Sie 'VA-Snippets bearbeiten', Sprache: C ++, Typ: Refactoring, gehen Sie zu 'Dokumentmethode' und passen Sie ihn an. Das obige Beispiel wird generiert von:

va_doxy

Ofek Shilon
quelle
Bitte teilen Sie, wie Sie dies in VA
Damian
Ausgearbeitet bei der Antwort. Hoffe das hilft.
Ofek Shilon
So fügen Sie das Snippet ein: mit dem Cursor in Methodenname / Signatur, Alt + Umschalt + q> "Dokumentmethode"
Andrew
13

Normalerweise erstellt Visual Studio es automatisch, wenn Sie drei einzelne Kommentarmarkierungen über dem Element hinzufügen, das Sie kommentieren möchten (Methode, Klasse).

In C # wäre das ///.

Wenn Visual Studio dies nicht tut, können Sie es in aktivieren

Optionen-> Texteditor-> C # -> Erweitert

und prüfe

Generieren Sie XML-Dokumentationskommentare für ///

abgebildete Beschreibung

Domysee
quelle
3

Wenn Sie in Visual Basic zuerst Ihre Funktion / Ihr Sub erstellen und dann in der darüber liegenden Zeile dreimal 'eingeben, wird die relevante XML für die Dokumentation automatisch generiert. Dies wird auch angezeigt, wenn Sie in Intellisense mit der Maus darüber fahren und die Funktion verwenden.

Paul Ishak
quelle
2

Sie können Codefragmente verwenden, um beliebige Zeilen einzufügen.

Wenn Sie drei einfache Anführungszeichen ('' ') in die Zeile über dem Funktionsheader eingeben, wird die XML-Header-Vorlage eingefügt, die Sie dann ausfüllen können.

Diese XML-Kommentare können von der Dokumentationssoftware interpretiert werden und sind in der Build-Ausgabe als Assembly.xml-Datei enthalten. Wenn Sie diese XML-Datei mit der DLL behalten und auf diese DLL in einem anderen Projekt verweisen, werden diese Kommentare in Intellisense verfügbar.

DCNYAM
quelle
Das ist VB.NET: in C # ist es ///
peSHIr
0

Ich arbeite an einem Open-Source-Projekt namens Todoc, das Wörter analysiert, um beim Speichern einer Datei automatisch die richtige Dokumentationsausgabe zu erhalten. Es respektiert vorhandene Kommentare und ist sehr schnell und flüssig.

http://todoc.codeplex.com/

Mathias Lykkegaard Lorenzen
quelle