จะมีความคิดเห็นใน IntelliSense สำหรับฟังก์ชันใน Visual Studio ได้อย่างไร


140

ใน Visual Studio และ C # เมื่อใช้ฟังก์ชันในตัวเช่น ToString () IntelliSense จะแสดงกล่องสีเหลืองอธิบายสิ่งที่ทำ

ข้อความแสดงแทน ข้อความแสดงแทน

ฉันจะมีฟังก์ชั่นและคุณสมบัติที่ฉันเขียนได้อย่างไร

คำตอบ:


219

ในการสร้างพื้นที่ที่คุณสามารถระบุคำอธิบายสำหรับฟังก์ชันและแต่ละพารามิเตอร์สำหรับฟังก์ชันให้พิมพ์ข้อความต่อไปนี้ในบรรทัดก่อนฟังก์ชันของคุณและกดEnter:

  • ค#: ///

  • VB: '''

ดูแท็กที่แนะนำสำหรับความคิดเห็นเกี่ยวกับเอกสาร (คู่มือการเขียนโปรแกรม C #)สำหรับข้อมูลเพิ่มเติมเกี่ยวกับเนื้อหาที่มีโครงสร้างที่คุณสามารถรวมไว้ในความคิดเห็นเหล่านี้


2
เพื่อเน้น: นั่นคือการทับสามครั้งใน C ++ / C # (ความคิดเห็นปกติคือเครื่องหมายทับคู่) และใน VB มีเครื่องหมายอัญประกาศเดี่ยวสองคำไม่ใช่เครื่องหมายคำพูดคู่
abelenky

2
จริงๆแล้วมันเป็นคำพูดสามคำใน vb
Joel Coehoorn

1
ที่จริงแล้วใน VB มีเครื่องหมายอัญประกาศ 3 ตัวคือ '' '
hometoast

2
อีกทางเลือกหนึ่งในไฟล์ VB คุณสามารถคลิกขวาที่ฟังก์ชันหรือคลาสแล้วคลิก "แทรกความคิดเห็น" สำหรับ C # คุณสามารถใช้ StyleCop ซึ่งจะแจ้งให้คุณเขียนส่วนหัวเอกสารที่ดี
user1069816

GhostDoc เป็นเครื่องมือที่ยอดเยี่ยมที่สามารถเพิ่มข้อความจำนวนมากในความคิดเห็นให้คุณได้ submain.com/products/ghostdoc.aspx
Karl Gjertsen

75

สิ่งที่คุณต้องการคือความคิดเห็น xml - โดยทั่วไปแล้วจะเป็นไปตามไวยากรณ์นี้ (ตามที่ Solmead อธิบายไว้อย่างคลุมเครือ):

ค#

///<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

24

<c>text</c>- ข้อความที่คุณต้องการระบุเป็นรหัส แท็ก
< c > ช่วยให้คุณระบุได้ว่าข้อความในคำอธิบายควรถูกทำเครื่องหมายเป็นรหัส ใช้ < code > เพื่อระบุหลายบรรทัดเป็นรหัส

<code>content</code>- ข้อความที่คุณต้องการทำเครื่องหมายเป็นรหัส แท็ก
< code > ให้คุณระบุหลายบรรทัดเป็นโค้ด ใช้ < c > เพื่อระบุว่าข้อความในคำอธิบายควรถูกทำเครื่องหมายเป็นรหัส

<example>description</example>- คำอธิบายของตัวอย่างโค้ด แท็ก
< example > ช่วยให้คุณระบุตัวอย่างวิธีใช้เมธอดหรือสมาชิกไลบรารีอื่น ๆ สิ่งนี้มักเกี่ยวข้องกับการใช้แท็ก< code >

<exception cref="member">description</exception>- คำอธิบายของข้อยกเว้น แท็ก
< ข้อยกเว้น > ช่วยให้คุณระบุข้อยกเว้นที่สามารถโยนทิ้งได้ แท็กนี้สามารถนำไปใช้กับนิยามสำหรับเมธอดคุณสมบัติเหตุการณ์และตัวทำดัชนี

<include file='filename' path='tagpath[@name="id"]' />
แท็ก < รวม > ช่วยให้คุณอ้างถึงความคิดเห็นในไฟล์อื่นที่อธิบายประเภทและสมาชิกในซอร์สโค้ดของคุณ นี่เป็นอีกทางเลือกหนึ่งในการวางข้อคิดเห็นเกี่ยวกับเอกสารลงในไฟล์ซอร์สโค้ดของคุณโดยตรง คุณสามารถใช้การควบคุมแหล่งที่มากับเอกสารแยกต่างหากจากซอร์สโค้ดได้ด้วยการใส่เอกสารประกอบในไฟล์แยกต่างหาก บุคคลหนึ่งสามารถเช็คเอาต์ไฟล์ซอร์สโค้ดและบุคคลอื่นสามารถเช็คเอาต์ไฟล์เอกสารได้ แท็ก< include > ใช้ไวยากรณ์ XML XPath โปรดดูเอกสาร XPath สำหรับวิธีปรับแต่งการใช้ < include > ของคุณ

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

บล็อก< listheader > ใช้เพื่อกำหนดแถวหัวเรื่องของตารางหรือรายการนิยาม เมื่อกำหนดตารางคุณจะต้องใส่รายการสำหรับคำศัพท์ในส่วนหัวเท่านั้น แต่ละรายการในรายการถูกระบุด้วยบล็อก< item > เมื่อสร้างรายการคำจำกัดความคุณจะต้องระบุทั้งคำและคำอธิบาย อย่างไรก็ตามสำหรับตารางรายการสัญลักษณ์แสดงหัวข้อย่อยหรือรายการลำดับเลขคุณจะต้องใส่รายการสำหรับคำอธิบายเท่านั้น รายการหรือตารางสามารถมีบล็อก< item > ได้มากเท่าที่ต้องการ

<para>content</para>
แท็ก < para > สำหรับใช้ภายในแท็กเช่น < summary >, < หมายเหตุ > หรือ < return > และช่วยให้คุณสามารถเพิ่มโครงสร้างให้กับข้อความได้

<param name="name">description</param>
ควรใช้แท็ก < param > ในข้อคิดเห็นสำหรับการประกาศเมธอดเพื่ออธิบายพารามิเตอร์สำหรับเมธอด ในการจัดทำเอกสารพารามิเตอร์หลายรายการให้ใช้แท็ก< param > หลายแท็ก
ข้อความสำหรับแท็ก< param > จะแสดงใน IntelliSense, Object Browser และใน Code Comment Web Report

<paramref name="name"/>
แท็ก < paramref > ช่วยให้คุณระบุได้ว่าคำในความคิดเห็นของโค้ดตัวอย่างเช่นในบล็อก< summary > หรือ < หมายเหตุ > อ้างถึงพารามิเตอร์ ไฟล์ XML สามารถประมวลผลเพื่อจัดรูปแบบคำนี้ด้วยวิธีที่แตกต่างกันเช่นแบบอักษรตัวหนาหรือตัวเอียง

< แท็กpermission cref="member">description</permission>
< permission > ช่วยให้คุณสามารถบันทึกการเข้าถึงของสมาชิกได้ คลาส PermissionSet ให้คุณระบุการเข้าถึงสมาชิก

<remarks>description</remarks>
แท็ก < หมายเหตุ > ใช้เพื่อเพิ่มข้อมูลเกี่ยวกับประเภทโดยเสริมข้อมูลที่ระบุด้วย < summary > ข้อมูลนี้จะแสดงใน Object Browser

<returns>description</returns>
ควรใช้แท็ก < return > ในข้อคิดเห็นสำหรับการประกาศเมธอดเพื่ออธิบายค่าที่ส่งคืน

<see cref="member"/>
แท็ก < ดู > ช่วยให้คุณระบุลิงก์จากภายในข้อความ ใช้ < seealso > เพื่อระบุว่าควรวางข้อความไว้ในส่วนดูเพิ่มเติม ใช้แอตทริบิวต์ cref เพื่อสร้างไฮเปอร์ลิงก์ภายในไปยังหน้าเอกสารสำหรับองค์ประกอบโค้ด

<seealso cref="member"/>
แท็ก < seealso > ช่วยให้คุณระบุข้อความที่คุณอาจต้องการให้ปรากฏในส่วนดูเพิ่มเติม ใช้ < ดู > เพื่อระบุลิงก์จากภายในข้อความ

<summary>description</summary>
ควรใช้แท็ก < summary > เพื่ออธิบายประเภทหรือสมาชิกประเภท ใช้ < หมายเหตุ > เพื่อเพิ่มข้อมูลเพิ่มเติมในคำอธิบายประเภท ใช้แอตทริบิวต์ cref เพื่อเปิดใช้งานเครื่องมือเอกสารเช่น Sandcastle เพื่อสร้างไฮเปอร์ลิงก์ภายในไปยังหน้าเอกสารสำหรับองค์ประกอบโค้ด ข้อความสำหรับแท็ก< summary > เป็นแหล่งข้อมูลเดียวเกี่ยวกับประเภทใน IntelliSense และยังแสดงใน Object Browser

<typeparam name="name">description</typeparam>
ควรใช้แท็ก < typeparam > ในข้อคิดเห็นสำหรับการประกาศประเภททั่วไปหรือวิธีการเพื่ออธิบายพารามิเตอร์ type เพิ่มแท็กสำหรับพารามิเตอร์แต่ละประเภทของประเภททั่วไปหรือวิธีการ ข้อความสำหรับแท็ก< typeparam > จะแสดงใน IntelliSense ซึ่งเป็นเว็บรายงานข้อคิดเห็นเกี่ยวกับรหัส Object Browser

<typeparamref name="name"/>
ใช้แท็กนี้เพื่อให้ผู้ใช้งานของไฟล์เอกสารสามารถจัดรูปแบบคำในลักษณะที่แตกต่างกันได้เช่นในตัวเอียง

<value>property-description</value>
แท็ก < value > ช่วยให้คุณสามารถอธิบายค่าที่แสดงถึงคุณสมบัติ โปรดสังเกตว่าเมื่อคุณเพิ่มคุณสมบัติผ่านตัวช่วยสร้างโค้ดในสภาพแวดล้อมการพัฒนา Visual Studio .NET จะเพิ่มแท็ก< summary > สำหรับคุณสมบัติใหม่ จากนั้นคุณควรเพิ่มแท็ก< value > ด้วยตนเองเพื่ออธิบายค่าที่คุณสมบัติแสดง


12

แสดงความคิดเห็นแบบ XML เช่นนี้

/// <summary>
/// This does something that is awesome
/// </summary>
public void doesSomethingAwesome() {}

6
สำหรับพารามิเตอร์เพิ่ม:///<param name="paramName">Tralala</param>
The Oddler

10

ใช้ /// เพื่อเริ่มต้นแต่ละบรรทัดของข้อคิดเห็นและให้ข้อคิดเห็นมีxml ที่เหมาะสมสำหรับโปรแกรมอ่านข้อมูลเมตา

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

แม้ว่าโดยส่วนตัวแล้วฉันเชื่อว่าความคิดเห็นเหล่านี้มักจะเข้าใจผิดเว้นแต่คุณกำลังพัฒนาชั้นเรียนที่ผู้บริโภคไม่สามารถอ่านโค้ดได้


2
เหมาะสำหรับการแจ้งเตือนทางลัดหรือที่ใดก็ตามที่คุณมีรหัสไลบรารีซึ่งอาจจะอ่านรหัสได้ แต่ต้องใช้เวลาเพิ่มเล็กน้อยในการเข้าถึง
Joel Coehoorn

1
ฉันเห็นด้วยกับคุณในทางทฤษฎี แต่ถ้าคุณใช้สิ่งที่เป็น ghostdoc นั่นแสดงว่าคุณกำลังเพิ่มอัตราส่วนสัญญาณรบกวน / สัญญาณในระดับที่ความคิดเห็นที่เหลือนั้นไร้ประโยชน์
DevelopingChris

9

เหล่านี้จะเรียกว่าXML ความคิดเห็น พวกเขาเป็นส่วนหนึ่งของ Visual Studio มาตลอด

คุณสามารถทำให้กระบวนการจัดทำเอกสารของคุณง่ายขึ้นโดยใช้GhostDocซึ่งเป็น Add-in ฟรีสำหรับ Visual Studio ซึ่งสร้างข้อคิดเห็น XML-doc ให้กับคุณ เพียงวางคาเร็ตของคุณบนวิธีการ / คุณสมบัติที่คุณต้องการจัดทำเอกสารแล้วกด Ctrl-Shift-D

นี่คือตัวอย่างจากการโพสต์ของฉัน

หวังว่าจะช่วยได้ :)


6

ใน CSharp หากคุณสร้างโครงร่างวิธีการ / ฟังก์ชั่นโดยใช้ Parms เมื่อคุณเพิ่มเครื่องหมายทับสามตัวมันจะสร้างส่วนสรุปและพาร์มโดยอัตโนมัติ

ดังนั้นฉันจึงใส่:

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

จากนั้นฉันใส่สาม /// ก่อนหน้านั้นและ Visual Studio ก็ให้สิ่งนี้แก่ฉัน:

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

6

กำหนดวิธีการเช่นนี้และคุณจะได้รับความช่วยเหลือที่คุณต้องการ

    /// <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;
    }

ภาพหน้าจอของการใช้รหัส



2

คำตอบอื่น ๆ ทั้งหมดเหล่านี้มีเหตุผล แต่ไม่สมบูรณ์ Visual Studio จะประมวลผลความคิดเห็น XML แต่คุณต้องเปิดใช้งาน นี่คือวิธีการ:

Intellisense จะใช้ความคิดเห็น XML ที่คุณป้อนในซอร์สโค้ดของคุณ แต่คุณต้องเปิดใช้งานผ่านตัวเลือก Visual Studio ไปTools> >Options Text Editorสำหรับ Visual Basic เปิดใช้งานการตั้งค่าAdvanced> Generate XML documentation comments for '''สำหรับ C # เปิดใช้งานการตั้งค่าAdvanced> Generate XML documentation comments for ///Intellisense จะใช้ความคิดเห็นสรุปเมื่อป้อน พวกเขาจะพร้อมใช้งานจากโปรเจ็กต์อื่น ๆ หลังจากที่รวบรวมโปรเจ็กต์ที่อ้างอิงแล้ว

เพื่อสร้างภายนอกเอกสารคุณจะต้องสร้างไฟล์ XML ผ่านProject Settings> Build> XML documentation file:เส้นทางว่าการควบคุมคอมไพเลอร์ของ/docตัวเลือก คุณจะต้องมีเครื่องมือภายนอกที่จะรับไฟล์ XML เป็นอินพุตและสร้างเอกสารในรูปแบบเอาต์พุตที่คุณเลือก

โปรดทราบว่าการสร้างไฟล์ XML สามารถเพิ่มเวลาในการคอมไพล์ของคุณได้อย่างเห็นได้ชัด



โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.