ลิงค์เว็บไซต์เอกสาร C # XML


144

เป็นไปได้หรือไม่ที่จะรวมลิงค์ไปยังเว็บไซต์ในเอกสาร XML? ตัวอย่างเช่นวิธีการของฉันสรุปเป็น

///<Summary>
/// This is a math function I found HERE.
///</Summary>
public void SomeMathThing(Double[] doubleArray)
{
   ...
}

และเมื่อฉันพิมพ์

SomeMathThing(

ฉันต้องการให้ IntelliSense แสดงข้อมูลสรุปพร้อมตัวเลือกให้คลิกที่ "ที่นี่" เพื่อเชื่อมโยงไปยังเว็บไซต์ภายนอก เป็นไปได้ไหม มันจะทำยังไง?

คำตอบ:


149

ลอง:

///<Summary>
/// This is a math function I found <see href="http://stackoverflow.com">HERE</see>
///</Summary>

7
ไม่มีโชคฉันกลัว มันไม่แสดงแม้แต่ "ที่นี่"
จอห์น

5
อืมฉันขอโทษ ฉันทำการค้นคว้าเพิ่มเติมเล็กน้อย (ดูที่นี่และที่นี่ ) - และดูเหมือนว่า VS IDE จะไม่แสดงไฮเปอร์ลิงก์เหล่านั้น แต่เครื่องมือเอกสารเช่น SandCastle จะสามารถแสดงได้
dizzwave

2
คุณสามารถอ่านเกี่ยวกับ Sandcastle ได้ที่นี่ btw "Sandcastle สร้างขึ้นโดย Microsoft เป็นเครื่องมือฟรีที่ใช้สำหรับการสร้างเอกสารประกอบแบบ MSDN จากชุดประกอบ. NET และไฟล์ข้อคิดเห็น XML ที่เกี่ยวข้องซึ่งเป็นบรรทัดคำสั่งและไม่มีส่วนหน้า GUI คุณสมบัติการจัดการโครงการหรืออัตโนมัติ สร้างกระบวนการ " HTH!
dizzwave

1
หมายเหตุมีความผันแปรบางอย่างในการรองรับ <ดู /> เป็นแท็กเนื้อหา ฉันพบว่ามันสอดคล้องกันมากขึ้นเมื่อใช้เป็นแท็กปิดตัวเองที่เพิ่งแสดง URL ดิบ (ซึ่งเป็นเอกสารที่ดีกว่าอยู่แล้ว: เป็น "ที่นี่" ไม่ได้ให้มากในทางของคำอธิบาย.)
โสม

3
สิ่งนี้ใช้ได้ใน VS 16.4.2 ไม่แน่ใจว่าจะเพิ่มรุ่นใดเฉพาะตอนนี้คุณสามารถคลิกลิงก์ในหน้าต่างข้อมูลวิธีการ
JB06

71

มาช้าไปหน่อยบนรถไฟโฆษณา แต่นี่คือสิ่งที่ฉันค้นพบสำหรับ Visual Studio 2015

ตัวอย่างของฉันดูเหมือนว่า:

    /// <summary>
    ///     Retrieves information about the specified window. 
    ///     The function also retrieves the value at a specified offset into the extra window memory.
    ///     From <see cref="!:https://msdn.microsoft.com/en-us/library/windows/desktop/ms633585(v=vs.85).aspx">this</see> MSDN-Link.
    ///     AHref <a href="http://stackoverflow.com">here</a>.
    ///     see-href <see href="http://stackoverflow.com">here</see>.
    /// </summary>
    /// <param name="hwnd"></param>
    /// <param name="index"></param>
    /// <returns>
    ///     Testlink in return: <a href="http://stackoverflow.com">here</a>
    /// </returns>
    public static IntPtr GetWindowLongPtr(IntPtr hwnd, int index)
    {
        return IntPtr.Size == 4 ? GetWindowLongPtr32(hwnd, index) : GetWindowLongPtr64(hwnd, index);
    }

ผลลัพธ์ที่ได้คือ:

  1. เคล็ดลับเครื่องมือ:
    • แสดง cref-url ด้วย!: แต่ซ่อน "this"
    • ซ่อน ahref-url แต่แสดงข้อความ
    • ซ่อน seehref url และข้อความ สกรีนช็อตของคำแนะนำเครื่องมือ Intellisense

  1. เบราว์เซอร์วัตถุ:
    • แสดง cref-url ด้วย!: แต่ซ่อน "this" (ไม่สามารถคลิกได้)
    • ซ่อน ahref-url แต่แสดงข้อความ (ไม่สามารถคลิกได้)
    • ซ่อน seehref url และข้อความ (ไม่สามารถคลิกได้) สกรีนช็อตของ ObjectBrowser

  1. ReSharper (CTRL + SHIFT + F1, คำสั่ง ReSharper.ReSharper_QuickDoc)
    • ซ่อน cref-url ด้วย!: แต่แสดง "this" (ไม่สามารถคลิกได้)
    • ตอนนี้ตีความ ahref-url (เวอร์ชั่นตั้งแต่ 2016 และใหม่กว่า) หรือไม่
    • ซ่อน seehref url และข้อความ (ไม่สามารถคลิกได้) สกรีนช็อตของ Resharper QuickHelp

บทสรุป: หนึ่งที่ดีที่สุดในขณะที่ไฮเนอร์ชี้ให้เห็นจะเป็น

See <a href="link">this link</a> for more information.

อัปเดต ตามที่ Thomas Hagströmชี้ให้เห็นตอนนี้ Resharper รองรับ URL a-href ที่คลิกได้ อัปเดตภาพหน้าจอตามนั้น


2
จริงๆแล้วด้วย ReSharper และ CTRL + SHIFT + F1 url สามารถคลิกได้และลิงค์ HTML เข้ากันได้ดังนั้นจึงเป็นตัวเลือกที่ดีที่สุดแน่นอน
Thomas Hagström

1
ขอบคุณ Thomas Hagströmอัปเดต anwer และสกรีนช็อต
MHolzmayr

26

คุณสามารถใช้ไวยากรณ์ HTML มาตรฐาน:

<a href="http://stackoverflow.com">here</a>

ข้อความจะปรากฏใน Visual Studio


5
นี่เป็นวิธีการที่ดีที่สุด ในขณะที่เอาต์พุตจะยังคงสมเหตุสมผลใน Visual Studio (เพียงแสดงข้อความ) และลิงก์จะทำงานในเครื่องมือเอกสารเช่น Sandcastle
Snæbjørn

20

คุณสามารถรวมคำนำหน้า!: ใน cref เพื่อให้ผ่านไม่ถูกแตะต้องในเอกสาร XML ที่สร้างขึ้นเพื่อให้เครื่องมือเช่นเอกสาร Innovasys! Xและ Sandcastle จะใช้มัน เช่น

/// <summary>
/// This is a math function I found <see cref="!:http://stackoverflow.com">HERE</see>
/// </summary>

Visual Studio Intellisense จะไม่แสดงว่าเป็นลิงก์สำหรับ Intellisense แต่จะไม่เป็นประเด็นเพราะเป็นคำแนะนำเครื่องมือดังนั้นคุณจึงไม่สามารถคลิกได้


2
อาจมีบางจุดที่Object Browser ทำให้<see/> URIs สามารถคลิกได้และเป็นที่ยอมรับของเว็บไซต์อย่างใดอย่างหนึ่ง (เนื่องจาก Object Browser ไม่ใช่คำแนะนำเครื่องมือ) เพียงแค่พูดว่า ';-)
binki

6

ใช้แท็ก ตัวอย่างเช่นฉันใช้โซลูชันนี้ในโครงการของฉัน

ผลลัพธ์อยู่ที่นี่

รหัส xml ของฉันคือ:

/// <summary>
/// This is C# XML Documentation Website Link
/// <a href="/programming/6960426/c-sharp-xml-documentation-website-link">See more</a>
/// </summary>

หรือใช้แท็ก "ดู" ผลลัพธ์เหมือนกับแท็ก "a"

/// <summary>
/// This is C# XML Documentation Website Link
/// <see href="/programming/6960426/c-sharp-xml-documentation-website-link">See more</see>
/// </summary>
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.