C # XML Belgeleri Web Sitesi Bağlantısı


144

XML belgelerine bir web sitesine bağlantı eklemek mümkün müdür? Örneğin, yöntemim şu şekilde özetlendi:

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

ve yazdığımda

SomeMathThing(

IntelliSense'in dışarıdaki bir web sitesine bağlanmak için "BURAYA" tıklatma seçeneğiyle özeti göstermesini istiyorum. Mümkün mü? Nasıl yapılır?

Yanıtlar:


149

Deneyin:

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

7
Şansım yok korkuyorum. Hatta "BURADA" göstermedi.
john

5
Hmmm, özür dilerim. Biraz daha araştırma yaptım ( buraya ve buraya bakın ) - VS IDE bu köprüleri göstermeyecek gibi görünüyor, ancak SandCastle gibi bir belge aracı bunları görüntüleyebilir.
dizzwave

2
Sen Sandcastle okuyabilirsiniz burada btw. "Microsoft tarafından oluşturulan Sandcastle, .NET derlemelerinden ve ilişkili XML yorum dosyalarından MSDN stili belgeler oluşturmak için kullanılan ücretsiz bir araçtır. Komut satırı tabanlıdır ve GUI ön ucu, proje yönetimi özellikleri veya otomatik inşa süreci. " HTH!
dizzwave

1
İçerik etiketi olarak <see /> desteğinde bazı değişkenlikler olduğunu unutmayın. Yalnızca kapalı URL'yi gösteren kendi kendine kapalı bir etiket olarak kullanıldığında biraz daha tutarlı buldum. (Bu zaten daha iyi bir dokümantasyon: "HERE" açıklamasında pek bir şey sağlamadığı için.)
gremlin

3
Bu VS 16.4.2'de çalışır. Hangi sürüme eklendiğinden emin değilsiniz, yalnızca yöntem bilgisi penceresindeki bağlantıları tıklayabilirsiniz.
JB06

71

Hype trende biraz geç, ama işte Visual Studio 2015 için bulduğum şey.

Benim örneğim şöyle:

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

Sonuçlar:

  1. İpucu:
    • ! İle cref-url gösterir, ancak "this" gizler
    • Ahref-url'yi gizler, ancak metni gösterir
    • Seehref URL'sini ve metnini gizler Intellisense araç ipucunun ekran görüntüsü

  1. Nesne Tarayıcısı:
    • ! İle cref-url gösterir, ancak "this" i gizler (tıklanabilir değil)
    • Ahref-url'yi gizler, ancak metni gösterir (tıklanabilir değil)
    • Seehref URL'sini ve metnini gizler (tıklanamaz) ObjectBrowser ekran görüntüsü

  1. ReSharper (CTRL + ÜST KRKT + F1, ReSharper Komutu. ReSharper_QuickDoc)
    • ! İle cref-url'yi gizler, ancak "this" i (tıklanabilir değil) gösterir
    • Şimdi ahref-url'ü yorumlamaktadır (2016 ve daha yeni sürümler)
    • Seehref URL'sini ve metnini gizler (tıklanamaz) Resharper QuickHelp ekran görüntüsü

Sonuç: Heiner'ın belirttiği gibi en iyisi,

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

Güncelle Thomas Hagström'ün işaret ettiği gibi, Resharper artık tıklanabilir a-href URL'lerini destekliyor. Ekran görüntüsü buna göre güncellendi.


2
Aslında, ReSharper ve CTRL + SHIFT + F1 ile bir url tıklanabilir ve HTML bağlantısı uyumludur, bu yüzden gerçekten en iyi seçenek
Thomas Hagström

1
Teşekkürler Thomas Hagström, anwer ve ekran görüntüsünü güncelledi.
MHolzmayr

26

Standart HTML sözdizimini kullanabilirsiniz:

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

Metin Visual Studio'da görüntülenecektir.


5
Bu en iyi yaklaşım. Çıktı yine de Visual Studio'da mantıklı olacağı için (sadece metni gösterir) ve bağlantı Sandcastle gibi dokümantasyon araçlarında çalışacaktır.
Snæbjørn

20

Innovasys Document gibi araçların oluşturulmuş Xml belgelerinde dokunulmadan geçirilmesi için bir cref içine bir!: Öneki ekleyebilirsiniz. X ve Sandcastle kullanacak. Örneğin

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

Visual Studio intellisense bunu intellisense için bir bağlantı olarak göstermez - bir araç ipucu olduğu için fazla bir nokta olmaz, bu yüzden yine de tıklayamazsınız.


2
Nesne Tarayıcısı bir<see/> şekilde tıklanabilir ve tanınan web sitesi URI'lerini bir şekilde oluşturduysa bir nokta olurdu (Nesne Tarayıcısı bir ipucu olmadığından). Sadece söylüyorum' ;-).
binki

6

Bir etiket kullanın. Mesela ben bu çözümü kullanılan Projemdeki

Sonuç burada

Benim xml kodum:

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

Veya "see" etiketini kullanın. Sonuç "a" etiketiyle aynı

/// <summary>
/// This is C# XML Documentation Website Link
/// <see href="/programming/6960426/c-sharp-xml-documentation-website-link">See more</see>
/// </summary>
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.