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)

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.


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.


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


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


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


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.


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.


To jest VB.NET: w C # to ///
peSHIr

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.