Bagaimana cara memiliki komentar di IntelliSense untuk fungsi di Visual Studio?

140

Di Visual Studio dan C #, saat menggunakan fungsi bawaan seperti ToString (), IntelliSense memperlihatkan kotak kuning yang menjelaskan fungsinya.

teks alt teks alt

Bagaimana saya bisa memilikinya untuk fungsi dan properti yang saya tulis?

Ali
sumber

Jawaban:

219

Untuk menghasilkan area di mana Anda dapat menentukan deskripsi untuk fungsi dan setiap parameter untuk fungsi tersebut, ketikkan yang berikut ini pada baris sebelum fungsi Anda dan tekan Enter:

  • C #: ///

  • VB: '''

Lihat Tag yang Direkomendasikan untuk Komentar Dokumentasi (Panduan Pemrograman C #) untuk info lebih lanjut tentang konten terstruktur yang dapat Anda sertakan dalam komentar ini.

Solmead
sumber
2
Untuk menekankan: Itu adalah garis miring tiga di C ++ / C # (komentar normal adalah garis miring ganda). Dan di VB, ada dua tanda petik tunggal, bukan tanda petik ganda.
abelenky
2
Ini sebenarnya tiga kutipan tunggal di vb
Joel Coehoorn
1
Sebenarnya, di VB, ada 3 tanda kutip tunggal: '' '
pulang
2
Sebagai alternatif, dalam file VB Anda dapat mengklik kanan pada fungsi atau kelas dan mengklik "Sisipkan Komentar". Untuk C # Anda dapat menggunakan StyleCop yang akan meminta Anda untuk menulis header dokumentasi yang baik
user1069816
GhostDoc adalah alat hebat yang dapat menambahkan banyak teks di komentar untuk Anda. submain.com/products/ghostdoc.aspx
Karl Gjertsen
75

Yang Anda butuhkan adalah komentar xml - pada dasarnya, mereka mengikuti sintaks ini (seperti dijelaskan secara samar oleh Solmead):

C #

///<summary>
///This is a description of my function.
///</summary>
string myFunction() {
     return "blah";
}

VB

'''<summary>
'''This is a description of my function.
'''</summary>
Function myFunction() As String
    Return "blah"
End Function
Tomas Aschan
sumber
24

<c>text</c>- Teks yang ingin Anda tunjukkan sebagai kode. Tag
< c > memberi Anda cara untuk menunjukkan bahwa teks dalam deskripsi harus ditandai sebagai kode. Gunakan < code > untuk menunjukkan beberapa baris sebagai kode.

<code>content</code>- Teks yang ingin Anda tandai sebagai kode. Tag
< code > memberi Anda cara untuk menunjukkan beberapa baris sebagai kode. Gunakan < c > untuk menunjukkan bahwa teks dalam deskripsi harus ditandai sebagai kode.

<example>description</example>- Deskripsi contoh kode. Tag
< example > memungkinkan Anda menentukan contoh cara menggunakan metode atau anggota pustaka lainnya. Ini biasanya melibatkan penggunaan tag < code >.

<exception cref="member">description</exception>- Penjelasan tentang pengecualian. Tag
< exception > memungkinkan Anda menentukan pengecualian mana yang dapat dilempar. Tag ini dapat diterapkan ke definisi untuk metode, properti, peristiwa, dan pengindeks.

<include file='filename' path='tagpath[@name="id"]' />
Tag < include > memungkinkan Anda merujuk ke komentar di file lain yang menjelaskan jenis dan anggota dalam kode sumber Anda. Ini adalah alternatif untuk menempatkan komentar dokumentasi secara langsung di file kode sumber Anda. Dengan meletakkan dokumentasi dalam file terpisah, Anda dapat menerapkan kontrol sumber ke dokumentasi secara terpisah dari kode sumber. Satu orang dapat memeriksa file kode sumber dan orang lain dapat meminta file dokumentasi untuk diperiksa. Tag < include > menggunakan sintaks XML XPath. Lihat dokumentasi XPath untuk mengetahui cara menyesuaikan penggunaan < include > Anda.

<list type="bullet" | "number" | "table">
    <listheader>
        <term>term</term>
        <description>description</description>
    </listheader>
    <item>
        <term>term</term>
        <description>description</description>
    </item>
</list>

Blok < listheader > digunakan untuk menentukan baris judul dari tabel atau daftar definisi. Saat menentukan tabel, Anda hanya perlu menyediakan entri untuk istilah di judul. Setiap item dalam daftar ditentukan dengan blok < item >. Saat membuat daftar definisi, Anda perlu menentukan istilah dan deskripsi. Namun, untuk tabel, daftar berpoin, atau daftar bernomor, Anda hanya perlu menyediakan entri untuk deskripsi. Daftar atau tabel dapat memiliki blok < item > sebanyak yang diperlukan.

<para>content</para>
Tag < para > digunakan di dalam tag, seperti < summary >, < remarks >, atau < return >, dan memungkinkan Anda menambahkan struktur ke teks.

<param name="name">description</param>
Tag < param > harus digunakan dalam komentar untuk deklarasi metode untuk mendeskripsikan salah satu parameter metode. Untuk mendokumentasikan beberapa parameter, gunakan beberapa tag < param >.
Teks untuk tag < param > akan ditampilkan di IntelliSense, Object Browser, dan di Code Comment Web Report.

<paramref name="name"/>
Tag < paramref > memberi Anda cara untuk menunjukkan bahwa sebuah kata dalam komentar kode, misalnya dalam blok < summary > atau < remarks > merujuk ke parameter. File XML dapat diproses untuk memformat kata ini dengan beberapa cara yang berbeda, seperti dengan huruf tebal atau miring.

< permission cref="member">description</permission>
The < izin > tag memungkinkan Anda mendokumentasikan akses anggota. Kelas PermissionSet memungkinkan Anda menentukan akses ke anggota.

<remarks>description</remarks>
Tag < remarks > digunakan untuk menambahkan informasi tentang suatu tipe, melengkapi informasi yang ditentukan dengan < summary >. Informasi ini ditampilkan di Object Browser.

<returns>description</returns>
Tag < return > harus digunakan dalam komentar untuk deklarasi metode guna mendeskripsikan nilai yang dikembalikan.

<see cref="member"/>
Tag < see > memungkinkan Anda menentukan tautan dari dalam teks. Gunakan < seealso > untuk menunjukkan bahwa teks harus ditempatkan di bagian Lihat Juga. Gunakan atribut cref untuk membuat hyperlink internal ke halaman dokumentasi untuk elemen kode.

<seealso cref="member"/>
Tag < seealso > memungkinkan Anda menentukan teks yang mungkin ingin Anda tampilkan di bagian Lihat Juga. Gunakan < lihat > untuk menentukan tautan dari dalam teks.

<summary>description</summary>
Tag < summary > harus digunakan untuk mendeskripsikan tipe atau tipe anggota. Gunakan < komentar > untuk menambahkan informasi tambahan ke deskripsi tipe. Gunakan Atribut cref untuk mengaktifkan alat dokumentasi seperti Sandcastle untuk membuat hyperlink internal ke halaman dokumentasi untuk elemen kode. Teks untuk tag < ringkasan > adalah satu-satunya sumber informasi tentang tipe di IntelliSense, dan juga ditampilkan di Object Browser.

<typeparam name="name">description</typeparam>
Tag < typeparam > harus digunakan dalam komentar untuk tipe generik atau deklarasi metode untuk menjelaskan parameter tipe. Tambahkan tag untuk setiap parameter tipe dari tipe atau metode generik. Teks untuk tag < typeparam > akan ditampilkan di IntelliSense, laporan web komentar kode Browser Objek.

<typeparamref name="name"/>
Gunakan tag ini agar konsumen file dokumentasi dapat memformat kata dengan cara yang berbeda, misalnya dalam huruf miring.

<value>property-description</value>
Tag < value > memungkinkan Anda mendeskripsikan nilai yang diwakili oleh sebuah properti. Perhatikan bahwa ketika Anda menambahkan properti melalui wizard kode di lingkungan pengembangan Visual Studio .NET, itu akan menambahkan tag < ringkasan > untuk properti baru. Anda kemudian harus menambahkan tag < value > secara manual untuk mendeskripsikan nilai yang diwakili oleh properti.

Max
sumber
12

Lakukan komentar XML, seperti ini

/// <summary>
/// This does something that is awesome
/// </summary>
public void doesSomethingAwesome() {}
Michael Walts
sumber
6
Untuk parameter tambahkan:///<param name="paramName">Tralala</param>
The Oddler
10

gunakan /// untuk memulai setiap baris komentar dan minta komentar berisi xml yang sesuai untuk pembaca meta data.

///<summary>
/// this method says hello
///</summary>
public void SayHello();

Meskipun secara pribadi, saya percaya bahwa komentar ini biasanya salah arah, kecuali jika Anda mengembangkan kelas di mana kode tidak dapat dibaca oleh konsumennya.

DevelopingChris
sumber
2
mereka bagus untuk pengingat pintasan, atau di mana pun Anda memiliki kode perpustakaan di mana mungkin kodenya dapat dibaca tetapi perlu sedikit usaha ekstra untuk mendapatkannya.
Joel Coehoorn
1
Saya setuju dengan Anda secara teori, tetapi jika Anda menggunakan hal ghostdoc itu, maka Anda meningkatkan rasio kebisingan / sinyal sedemikian rupa sehingga komentar lainnya tidak berguna.
DevelopingChris
9

Itu disebut Komentar XML . Mereka telah menjadi bagian dari Visual Studio sejak lama.

Anda dapat membuat proses dokumentasi Anda lebih mudah dengan menggunakan GhostDoc , add-in gratis untuk Visual Studio yang menghasilkan komentar XML-doc untuk Anda. Cukup letakkan tanda sisipan Anda pada metode / properti yang ingin Anda dokumentasikan, dan tekan Ctrl-Shift-D.

Berikut contoh dari salah satu postingan saya .

Semoga membantu :)

Igal Tabachnik
sumber
6

Di CSharp, Jika Anda membuat garis besar metode / fungsi dengan Parms, maka saat Anda menambahkan tiga garis miring ke depan, bagian ringkasan dan parms akan otomatis dibuat.

Jadi saya memasukkan:

public string myMethod(string sImput1, int iInput2)
{
}

Saya kemudian meletakkan tiga /// di depannya dan Visual Studio memberi saya ini:

/// <summary>
/// 
/// </summary>
/// <param name="sImput1"></param>
/// <param name="iInput2"></param>
/// <returns></returns>
public string myMethod(string sImput1, int iInput2)
{
}
Semperfi89
sumber
6

Tentukan Metode seperti ini dan Anda akan mendapatkan bantuan yang Anda butuhkan.

    /// <summary>
    /// Adds two numbers and returns the result
    /// </summary>
    /// <param name="first">first number to add</param>
    /// <param name="second">second number to </param>
    /// <returns></returns>
    private int Add(int first, int second)
    {
        return first + second;
    }

Tangkapan layar penggunaan kode

Recev Yildiz
sumber
2

Semua jawaban lain ini masuk akal, tetapi tidak lengkap. Visual Studio akan memproses komentar XML tetapi Anda harus mengaktifkannya. Berikut cara melakukannya:

Intellisense akan menggunakan komentar XML yang Anda masukkan dalam kode sumber Anda, tetapi Anda harus mengaktifkannya melalui Opsi Visual Studio. Pergi ke Tools> Options> Text Editor. Untuk Visual Basic, aktifkan Advanced> Generate XML documentation comments for '''pengaturan. Untuk C #, aktifkan pengaturan Advanced> Generate XML documentation comments for ///. Intellisense akan menggunakan komentar ringkasan saat dimasukkan. Mereka akan tersedia dari proyek lain setelah proyek yang direferensikan dikompilasi.

Untuk membuat eksternal dokumentasi, Anda perlu untuk menghasilkan file XML melalui Project Settings> Build> XML documentation file:jalan yang kontrol compiler /docpilihan. Anda memerlukan alat eksternal yang akan mengambil file XML sebagai input dan menghasilkan dokumentasi dalam format output pilihan Anda.

Ketahuilah bahwa membuat file XML dapat meningkatkan waktu kompilasi Anda secara nyata.

Suncat2000
sumber
1

Juga doc visual studio add-in ghost akan mencoba untuk membuat dan mengisi komentar header dari nama fungsi Anda.

Mark Rogers
sumber
0

Solmead punya jawaban yang benar. Untuk info lebih lanjut Anda dapat melihat Komentar XML .

Ed S.
sumber