Otomatis menghasilkan dokumentasi fungsi dalam Visual Studio


91

Saya bertanya-tanya apakah ada cara (semoga pintasan keyboard) untuk membuat header fungsi pembuatan otomatis di studio visual.

Contoh:

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

Dan secara otomatis akan menjadi seperti ini ...


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

1
Jika Anda telah membuka halaman ini karena fitur ini tampaknya rusak di IDE Anda, Anda harus memastikan bahwa kode Anda terkompilasi dan coba lagi. Fitur ini tidak berfungsi jika kode Anda mengalami kesalahan penguraian.
krowe2

Bagaimana cara menghasilkan daftar todo di Xamarin?
Manthan

Jawaban:


160

Jadikan itu "tiga penanda komentar tunggal"

Di C # itu ///

yang sebagai default menyemburkan:

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

Berikut beberapa tip tentang mengedit template VS.


7
Dan di VB.NET ada tiga tanda kutip tunggal (seperti yang disebutkan di jawaban lain)
peSHIr

1
Itu cukup rapi, tidak tahu tentang itu
Brendan

"Buat komentar dokumentasi XML untuk ///" tidak akan berfungsi jika baris selain spasi putih diawali dengan "///"
Moon Waxing

Apakah mungkin melakukan ini secara otomatis pada setiap metode, properti, dan variabel? Meskipun kodenya sudah ada?
Robin Bruneel

link tips diperbaiki lagi . mengutukmu, web satu arah!
Michael Paulukonis

48

GhostDoc !

Klik kanan pada fungsi tersebut, pilih "Dokumentasikan ini" dan

private bool FindTheFoo(int numberOfFoos)

menjadi

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

(ya, semuanya dibuat secara otomatis).

Ini memiliki dukungan untuk C #, VB.NET dan C / C ++. Ini secara default dipetakan ke Ctrl+ Shift+ D.

Ingat: Anda harus menambahkan informasi di luar tanda tangan metode ke dokumentasi. Jangan hanya berhenti dengan dokumentasi yang dibuat secara otomatis. Nilai alat seperti ini adalah secara otomatis menghasilkan dokumentasi yang dapat diekstrak dari tanda tangan metode, jadi informasi apa pun yang Anda tambahkan harus berupa informasi baru .

Karena itu, saya pribadi lebih suka jika metode benar-benar mendokumentasi sendiri, tetapi terkadang Anda akan memiliki standar pengkodean yang mengamanatkan dokumentasi di luar, dan kemudian alat seperti ini akan menghemat banyak pengetikan yang sudah gagal.


16
Dan inilah tepatnya 'dokumentasi' yang saya benci. Itu hanya menambahkan byte tanpa memberi tahu saya apa pun yang metode dan nama parameternya belum beri tahu saya. Jangan lakukan ini, tanpa mengedit komentar menjadi sesuatu yang berharga ... :-(
peSHIr

13
Tentu saja Anda harus mengeditnya untuk menambah informasi. Tapi sebagai template itu sangat bagus.
Rasmus Faber

3
@Rasmus: Ini adalah template yang, untuk dokumentasi yang baik, harus dibuang seluruhnya dan ditulis ulang, karena tidak memiliki konten informasi. Jadi sebenarnya ini lebih merepotkan daripada jika hanya kosong.
Joey

36
///

adalah jalan pintas untuk mendapatkan blok komentar Deskripsi Metode. Tetapi pastikan Anda telah menulis nama fungsi dan tanda tangan sebelum menambahkannya. Pertama tulis nama Fungsi dan tanda tangan.

Kemudian di atas nama fungsi ketik saja ///

dan Anda akan mendapatkannya secara otomatis

masukkan deskripsi gambar di sini


5
fitur-of-a-post yang bagus, animasi Anda.
n611x007

1
Bagaimana Anda melakukannya? Saya suka jawaban itu. Belum pernah melihat ini sebelumnya.
Matthis Kohli

2
itu bagus. satu tambahan akan menjadi parameter fungsi.
amit jha

19

Visual Assist juga memiliki solusi yang bagus , dan harganya sangat terjangkau.

Setelah menyesuaikannya untuk menghasilkan komentar bergaya doxygen, dua klik ini akan menghasilkan -

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

}

(Di bawah pengaturan default, ini sedikit berbeda.)


Edit: Cara untuk menyesuaikan teks 'metode dokumen' ada di bawah VassistX-> Opsi Bantuan Visual-> Saran, pilih 'Edit Cuplikan VA', Bahasa: C ++, Jenis: Refactoring, lalu buka 'Metode Dokumen' dan sesuaikan. Contoh di atas dihasilkan oleh:

va_doxy


Bagikan cara Anda mengaturnya di VA
Damian

Diuraikan jawabannya. Semoga ini membantu.
Ofek Shilon

Untuk Menyisipkan Cuplikan: dengan kursor di nama metode / tanda tangan, alt + shift + q> "metode dokumen"
Andrew

13

Biasanya, Visual Studio membuatnya secara otomatis jika Anda menambahkan tiga penanda komentar di atas hal yang ingin Anda beri komentar (metode, kelas).

Dalam C # ini akan menjadi ///.

Jika Visual Studio tidak melakukannya, Anda dapat mengaktifkannya di

Opsi-> Editor Teks-> C # -> Lanjutan

dan cek

Hasilkan komentar dokumentasi XML untuk ///

deskripsi bergambar


3

Dalam visual basic, jika Anda membuat fungsi / sub terlebih dahulu, lalu pada baris di atasnya, Anda mengetik 'tiga kali, maka xml yang relevan akan otomatis dibuat untuk dokumentasi. Ini juga muncul saat Anda mengarahkan mouse dalam Intellisense, dan saat Anda menggunakan fungsi tersebut.


2

Anda dapat menggunakan cuplikan kode untuk memasukkan baris apa pun yang Anda inginkan.

Selain itu, jika Anda mengetik tiga tanda kutip tunggal ('' ') pada baris di atas tajuk fungsi, template tajuk XML akan dimasukkan yang kemudian dapat Anda isi.

Komentar XML ini dapat diinterpretasikan oleh perangkat lunak dokumentasi, dan disertakan dalam output build sebagai file assembly.xml. Jika Anda menyimpan file XML tersebut dengan DLL dan mereferensikan DLL tersebut di proyek lain, komentar tersebut akan tersedia di Intellisense.


Itu VB.NET: di C # it's ///
peSHIr

0

Saya sedang mengerjakan proyek open-source bernama Todoc yang menganalisis kata-kata untuk menghasilkan keluaran dokumentasi yang tepat secara otomatis saat menyimpan file. Ini menghormati komentar yang ada dan sangat cepat dan lancar.

http://todoc.codeplex.com/

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.