C # XML 설명서 웹 사이트 링크


144

XML 문서에 웹 사이트에 대한 링크를 포함시킬 수 있습니까? 예를 들어, 내 방법은 다음과 같이 요약됩니다.

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

내가 입력하면

SomeMathThing(

IntelliSense가 "HERE"를 클릭하여 외부 웹 사이트에 연결하는 옵션과 함께 요약을 표시하기를 원합니다. 이게 가능해? 어떻게 하시겠습니까?

답변:


149

시험:

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

7
운이 없어요. "HERE"도 표시하지 않았습니다.
john

5
흠, 사과드립니다. 좀 더 연구를했습니다 ( herehere 참조 ) .VS IDE에는 이러한 하이퍼 링크가 표시되지 않는 것처럼 보이지만 SandCastle과 같은 문서 도구는이를 표시 할 수 있습니다.
dizzwave

2
여기서 Sandcastle에 대해 읽을 수 있습니다 . "Microsoft가 만든 Sandcastle은 .NET 어셈블리 및 관련 XML 주석 파일에서 MSDN 스타일 설명서를 만드는 데 사용되는 무료 도구입니다. 명령 줄 기반이며 GUI 프런트 엔드, 프로젝트 관리 기능 또는 자동화 된 기능이 없습니다. 빌드 프로세스. " HTH!
dizzwave

1
<see />를 콘텐츠 태그로 지원하는 데 약간의 차이가 있습니다. 원시 URL을 표시하는 자체 폐쇄 태그로 사용할 때 조금 더 일관성이 있음을 알았습니다. (어쨌든 더 나은 문서는 무엇입니까? "HERE"는 설명을 많이 제공하지 않기 때문에)
gremlin

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 및 텍스트를 숨 깁니다. 인텔리전스 툴팁의 스크린 샷

  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의 스크린 샷

결론 : Heiner가 지적했듯이 가장 좋은 것은

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

업데이트 Thomas Hagström이 지적했듯이 Resharper는 이제 클릭 가능한 a-href URL을 지원합니다. 이에 따라 스크린 샷이 업데이트되었습니다.


2
실제로 ReSharper와 CTRL + SHIFT + F1을 사용하면 URL을 클릭 할 수 있고 HTML 링크가 호환되므로 실제로 가장 좋은 옵션입니다.
Thomas Hagström

1
감사합니다 Thomas Hagström, anwer와 스크린 샷을 업데이트했습니다.
MHolzmayr 2016 년

26

표준 HTML 구문을 사용할 수 있습니다.

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

텍스트가 Visual Studio에 표시됩니다.


5
이것이 가장 좋은 방법입니다. 출력은 여전히 ​​Visual Studio에서 의미가 있으며 (텍스트 만 표시) 링크는 Sandcastle과 같은 문서 도구에서 작동합니다.
Snæbjørn

20

Cref에! : 접두사를 포함시켜 생성 된 Xml 문서에서 수정되지 않은 상태로 전달하여 Innovasys Document 와 같은 도구를 사용할 수 있습니다 ! X 와 Sandcastle이 사용합니다. 예 :

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

Visual Studio intellisense는 그것을 intellisense에 대한 링크로 표시하지 않습니다. 툴팁이므로 그다지 클릭 할 수는 없습니다.


2
오브젝트 브라우저가 실제로<see/> 툴팁이 아니기 때문에 클릭 하여 인식 할 수있는 웹 사이트 URI를 만든 경우에는 포인트가 있습니다 . 그냥 말하십시오; ;-).
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>

또는 "see"태그를 사용하십시오. 결과는 "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.