2011-08-05 19 views
84

¿Es posible incluir un enlace a un sitio web en la documentación XML? Por ejemplo, de mi método resumirse comoC# XML Documentación Enlace web

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

y cuando escribo

SomeMathThing(

Quiero IntelliSense para mostrar el resumen con la opción de hacer clic en "aquí" para vincular a un sitio web externo. es posible? ¿Cómo se haría?

Respuesta

82

Probar:

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

No tengo suerte, me temo. Ni siquiera mostró "AQUÍ". – john

+4

Hmmm, mis disculpas. Investigué un poco más (ver [aquí] (http://social.msdn.microsoft.com/Forums/en-US/devdocs/thread/8af32a12-bebe-447b-9111-dbe5d970810d) y [aquí] (http : //social.msdn.microsoft.com/Forums/en/csharpide/thread/82d85250-e5ac-48f2-a787-2ca441904c2c)), y parece que VS IDE no mostrará esos hipervínculos, sino una herramienta de documentación como SandCastle podría mostrarlos. – dizzwave

+1

Puede leer sobre Sandcastle [aquí] (http://elegantcode.com/2008/04/01/inline-xml-code-documentation-using-sandcastle/) btw. "Sandcastle, creado por Microsoft, es una herramienta gratuita utilizada para crear documentación al estilo de MSDN a partir de ensamblados .NET y sus archivos asociados de comentarios XML. Está basada en línea de comandos y no tiene interfaz gráfica de usuario, funciones de administración de proyectos o un sistema automatizado proceso de construcción ". HTH! – dizzwave

17

Se puede incluir un: prefijo en un CREF tener que pasar a través de tocar en la documentación XML generado por lo que las herramientas tales como Innovasys Document! X y Castillo de arena van a usar. p.ej.

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

Visual Studio IntelliSense no mostrará que como un enlace para intelisense sin embargo - no tendría mucho sentido, ya que es un texto de ayuda por lo que no puede hacer clic en él de todos modos.

+2

Habría un punto si [el navegador de objetos realmente hizo '' hacer clic en]] (http://stackoverflow.com/q/20517119/429091) * y * reconoció los URI de sitio web de alguna manera (ya que el Examinador de objetos no es una información sobre herramientas). Sólo digo' ;-). – binki

10

Usted puede utilizar la sintaxis HTML estándar:

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

El texto se mostrará en Visual Studio.

+0

Este es el mejor enfoque. Como la salida aún tendrá sentido en Visual Studio (solo muestra el texto) y el enlace funcionará en herramientas de documentación como Sandcastle. –

44

Un poco tarde en el bombo-tren, pero aquí es lo que he descubierto para Visual Studio 2015.

Mi ejemplo es el siguiente:

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

Los resultados son los siguientes:

  1. Información sobre la herramienta:
    • Muestra CREF-u rl con:!, pero oculta "este"
    • Pieles ahref-url pero muestra el texto
    • Pieles seehref URL y el texto Screenshot of intellisense tooltip

    navegador
  1. objeto:
    • Muestra CREF-url con:!, pero oculta "este" (no haga clic capaz)
    • Oculta ahref-url, pero muestra el texto (no se puede hacer clic) URL y el texto (no se puede hacer clic)
    • Pieles seehref Screenshot of ObjectBrowser

  1. ReSharper (CTRL + SHIFT + F1, Command ReSharper.ReSharper_QuickDoc)
    • Pieles CREF-url con:!, Pero muestra "este" (no se puede hacer clic)
    • hace ahora interpretar ahref-url (Versión de 2016 y posteriores) URL y el texto
    • Pieles seehref (no se puede hacer clic) Screenshot of Resharper QuickHelp

Conclusión: mejor, como Heiner señaló, habría

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

Actualización Como señaló Thomas Hagström, Resharper ahora admite URL a-href seleccionables. Captura de pantalla actualizada en consecuencia.

+1

En realidad, con ReSharper y CTRL + SHIFT + F1 se puede hacer clic en una url y el enlace HTML es compatible, por lo que es la mejor opción –

+1

Gracias a Thomas Hagström, se actualizó el anwer y la captura de pantalla. – MHolzmayr

Cuestiones relacionadas