2011-08-05 5 views
84

Có thể bao gồm một liên kết đến một trang web trong tài liệu XML không? Ví dụ, phương pháp của tôi tóm tắt nhưC# Tài liệu XML Liên kết trang web

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

và khi tôi gõ

SomeMathThing(

Tôi muốn IntelliSense để hiển thị tóm tắt với các tùy chọn để bấm vào "ĐÂY" để liên kết đến một trang web bên ngoài. Điều này có thể không? Làm thế nào nó sẽ được thực hiện?

Trả lời

82

Hãy thử:

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

Không may mắn tôi sợ. Nó thậm chí còn không hiển thị "ĐÂY". – john

+4

Hmmm, lời xin lỗi của tôi. Tôi đã nghiên cứu thêm một chút (xem [tại đây] (http://social.msdn.microsoft.com/Forums/en-US/devdocs/thread/8af32a12-bebe-447b-9111-dbe5d970810d) và [tại đây] (http : //social.msdn.microsoft.com/Forums/en/csharpide/thread/82d85250-e5ac-48f2-a787-2ca441904c2c)) - và có vẻ như IDE VS sẽ không hiển thị các siêu liên kết đó, nhưng là công cụ tài liệu chẳng hạn như SandCastle sẽ có thể hiển thị chúng. – dizzwave

+1

Bạn có thể đọc về Sandcastle [tại đây] (http://elegantcode.com/2008/04/01/inline-xml-code-documentation-using-sandcastle/) btw. "Sandcastle, do Microsoft tạo ra, là một công cụ miễn phí được sử dụng để tạo tài liệu kiểu MSDN từ các hội đồng .NET và các tệp nhận xét XML liên quan của chúng. Nó dựa trên dòng lệnh và không có giao diện GUI, tính năng quản lý dự án hoặc tự động hóa xây dựng quy trình. " HTH! – dizzwave

17

Bạn có thể bao gồm: tiền tố trong một cref để có nó đi ngang qua hoang sơ trong tài liệu Xml tạo ra để các công cụ như Innovasys Document! X và Sandcastle sẽ sử dụng nó. ví dụ.

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

Visual Studio IntelliSense sẽ không hiển thị như một liên kết cho IntelliSense mặc dù - sẽ không có nhiều điểm như đó là một tooltip nên bạn không thể nhấp vào nó anyway.

+2

Sẽ là một điểm nếu [Trình duyệt đối tượng thực sự tạo ra ' 'có thể nhấp' (http://stackoverflow.com/q/20517119/429091) * và * các URI trang web được công nhận bằng cách nào đó (vì Trình duyệt đối tượng không phải là chú giải công cụ). Chỉ cần sayin ’;-). – binki

10

Bạn có thể sử dụng cú pháp HTML tiêu chuẩn:

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

Các văn bản sẽ được hiển thị trong Visual Studio.

+0

Đây là cách tiếp cận tốt nhất. Vì đầu ra vẫn có ý nghĩa trong Visual Studio (nó chỉ hiển thị văn bản) và liên kết sẽ hoạt động trong các công cụ tài liệu như Sandcastle. –

44

Một hơi muộn trên hype-đào tạo, nhưng đây là những gì tôi phát hiện ra cho Visual Studio 2015.

mẫu của tôi trông như thế này:

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

Kết quả là:

  1. Chú giải công cụ:
    • Hiển thị cref-u rl với:!, nhưng ẩn chứa "này"
    • Hides ahref-url nhưng hiển thị văn bản
    • Hides seehref url và văn bản Screenshot of intellisense tooltip

  1. Trình duyệt đối tượng:
    • Hiển thị url cref bằng !:, nhưng ẩn "này" (không nhấp vào thể)
    • Hides ahref-url nhưng hiển thị văn bản (không nhấp vào được) url và văn bản (không nhấp vào được)
    • Hides seehref Screenshot of ObjectBrowser

  1. ReSharper (CTRL + SHIFT + F1, Command ReSharper.ReSharper_QuickDoc)
    • Hides cref-url với:!, Nhưng cho thấy "này" (không thể nhấp)
    • Liệu giờ đây giải thích ahref-url (Phiên bản từ năm 2016 và mới hơn)
    • Hides seehref url và văn bản (không nhấp được) Screenshot of Resharper QuickHelp

Kết luận: tốt nhất một, như Heiner chỉ ra, sẽ là

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

Cập nhật Như Thomas Hagström đã chỉ ra, Resharper hiện hỗ trợ URL có thể nhấp a href. Đã cập nhật ảnh chụp màn hình tương ứng.

+1

Trên thực tế, với ReSharper và CTRL + SHIFT + F1, url có thể nhấp và liên kết HTML tương thích, vì vậy đó thực sự là tùy chọn tốt nhất –

+1

Cảm ơn Thomas Hagström, đã cập nhật ảnh chụp màn hình và ảnh chụp màn hình. – MHolzmayr