Automatycznie generuj dokumentację funkcji w programie Visual Studio

91

Zastanawiałem się, czy istnieje sposób (mam nadzieję, że skrót klawiaturowy) na utworzenie nagłówków funkcji automatycznego generowania w programie Visual Studio.

Przykład:

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

I automagicznie stałoby się czymś takim ...


'---------------------------------- 
'Pre: 
'Post:
'Author: 
'Date: 
'Param1 (String): 
'Param2 (Integer): 
'Summary: 
Private Function Foo(ByVal param1 As String, ByVal param2 As Integer)
Ryan M.
źródło
1
Jeśli wylądowałeś na tej stronie, ponieważ ta funkcja wydaje się być uszkodzona w Twoim IDE, upewnij się, że Twój kod się skompiluje i spróbuj ponownie. Ta funkcja nie działa, gdy kod zawiera błędy analizy.
krowe2
Jak wygenerować listę rzeczy do zrobienia w Xamarin?
Manthan

Odpowiedzi:

162

Ustaw „trzy pojedyncze znaczniki komentarzy”

W C # to ///

który domyślnie wypluwa:

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

Oto kilka wskazówek dotyczących edycji szablonów VS.

Michael Paulukonis
źródło
7
A w VB.NET to potrójne pojedyncze cudzysłowy (jak wspomniano w innej odpowiedzi)
peSHIr
1
To całkiem fajne, nie wiedziałem o tym
Brendan
Funkcja „Generuj komentarze dokumentacji XML dla ///” nie będzie działać, jeśli poprzednia linia niebędąca białą spacją zaczyna się od „///”
Moon Waxing,
Czy można to zrobić automatycznie dla każdej metody, właściwości i zmiennej? Nawet jeśli kod już istnieje?
Robin Bruneel
wskazówki link naprawiony ponownie . przeklinam cię, jednokierunkowa sieć!
Michael Paulukonis
48

GhostDoc !

Kliknij funkcję prawym przyciskiem myszy, wybierz „Dokumentuj to” i

private bool FindTheFoo(int numberOfFoos)

staje się

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

(tak, to wszystko jest generowane automatycznie).

Obsługuje C #, VB.NET i C / C ++. Domyślnie jest mapowany na Ctrl+ Shift+ D.

Pamiętaj: do dokumentacji należy dodać informacje poza sygnaturą metody. Nie poprzestawaj na automatycznie generowanej dokumentacji. Wartość takiego narzędzia polega na tym, że automatycznie generuje dokumentację, którą można wyodrębnić z sygnatury metody, więc wszelkie dodane informacje powinny być nowymi informacjami.

Biorąc to pod uwagę, osobiście wolę, gdy metody są całkowicie samodokumentujące, ale czasami będziesz mieć standardy kodowania, które wymagają zewnętrznej dokumentacji, a wtedy takie narzędzie pozwoli ci zaoszczędzić wiele pisania Braindead.

Rasmus Faber
źródło
16
I to jest dokładnie tego rodzaju „dokumentacja”, której nie znoszę. Po prostu dodaje bajty, nie mówiąc mi niczego, czego nazwy metod i parametrów już mi nie mówią. Nie rób tego, nie
zmieniając
13
Oczywiście powinieneś go edytować, aby dodać informacje. Ale jako szablon jest bardzo ładny.
Rasmus Faber
3
@Rasmus: To szablon, który, aby uzyskać dobrą dokumentację, powinien zostać całkowicie wyrzucony i mimo wszystko przepisany, ponieważ nie zawiera żadnych informacji. Więc to w rzeczywistości więcej wysiłku, niż gdyby było po prostu puste.
Joey
36
///

jest skrótem do uzyskania bloku komentarza Method Description. Ale upewnij się, że wpisałeś nazwę funkcji i podpis przed jej dodaniem. Najpierw wpisz nazwę i podpis funkcji.

Następnie nad nazwą funkcji wpisz ///

i otrzymasz to automatycznie

wprowadź opis obrazu tutaj

Bimzee
źródło
5
niezła, niezwykła funkcja postu, twoja animacja.
n611x007
1
Jak to zrobiłeś? Podoba mi się ta odpowiedź. Nigdy wcześniej tego nie widziałem.
Matthis Kohli
2
to miłe. jednym dodatkiem byłyby parametry funkcji.
amit jha
19

Visual Assist ma również fajne rozwiązanie i jest wysoce kosztowny.

Po poprawieniu go w celu generowania komentarzy w stylu doxygen, te dwa kliknięcia dałyby -

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

}

(Przy ustawieniach domyślnych jest nieco inny).


Edycja: Sposób dostosowania tekstu „metody dokumentu” znajduje się w VassistX-> Opcje pomocy wizualnej-> Sugestie, wybierz „Edytuj fragmenty VA”, Język: C ++, Typ: Refaktoryzacja, a następnie przejdź do „Metody dokumentu” i dostosuj. Powyższy przykład jest generowany przez:

va_doxy

Ofek Shilon
źródło
Podziel się, proszę, jak to skonfigurowałeś w VA
Damian
Opracowane w odpowiedzi. Mam nadzieję że to pomoże.
Ofek Shilon
Aby wstawić fragment: z kursorem w nazwie / podpisie metody, alt + shift + q> "metoda dokumentu"
Andrew,
13

Zwykle program Visual Studio tworzy go automatycznie, jeśli dodasz trzy pojedyncze znaczniki komentarza nad rzeczą, którą chcesz skomentować (metoda, klasa).

W C # byłoby to ///.

Jeśli program Visual Studio tego nie zrobi, możesz go włączyć w

Opcje -> Edytor tekstu -> C # -> Zaawansowane

i zaznacz

Generuj komentarze do dokumentacji XML dla ///

opis na zdjęciu

Domysee
źródło
3

W Visual Basic, jeśli najpierw utworzysz funkcję / sub, a następnie w linii nad nią wpiszesz trzy razy „, automatycznie wygeneruje odpowiedni plik XML dla dokumentacji. Pojawia się również po najechaniu kursorem myszy w Intellisense i podczas korzystania z tej funkcji.

Paul Ishak
źródło
2

Możesz użyć fragmentów kodu, aby wstawić dowolne wiersze.

Ponadto, jeśli wpiszesz trzy pojedyncze cudzysłowy („”) w wierszu powyżej nagłówka funkcji, wstawi on szablon nagłówka XML, który możesz następnie wypełnić.

Te komentarze XML mogą być interpretowane przez oprogramowanie dokumentujące i są uwzględniane w danych wyjściowych kompilacji jako plik assembly.xml. Jeśli zachowasz ten plik XML z biblioteką DLL i będziesz odnosić się do tej biblioteki DLL w innym projekcie, komentarze te staną się dostępne w intelisense.

DCNYAM
źródło
To jest VB.NET: w C # to ///
peSHIr
0

Pracuję nad projektem open source o nazwie Todoc, który analizuje słowa, aby automatycznie generować odpowiednią dokumentację podczas zapisywania pliku. Szanuje istniejące komentarze i działa szybko i płynnie.

http://todoc.codeplex.com/

Mathias Lykkegaard Lorenzen
źródło