C#XMLドキュメントWebサイトリンク


144

XMLドキュメントにWebサイトへのリンクを含めることはできますか?たとえば、私の方法は次のように要約されます

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

と入力すると

SomeMathThing(

IntelliSenseに概要を表示して、[ここ]をクリックして外部のWebサイトにリンクするオプションを表示する必要があります。これは可能ですか?それはどのように行われますか?

回答:


149

試してください:

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

7
運が悪いとは思いません。「HERE」も表示されませんでした。
ジョン

5
うーん、ごめんなさい。私はもう少し調査しました(ここここを参照)-そして、VS IDEはそれらのハイパーリンクを表示しないようですが、SandCastleなどのドキュメントツールはそれらを表示することができます。
dizzwave、2011

2
サンドキャッスルについてはこちらで読むことができます。「Microsoftによって作成されたSandcastleは、.NETアセンブリおよび関連するXMLコメントファイルからMSDNスタイルのドキュメントを作成するために使用される無料のツールです。コマンドラインベースであり、GUIフロントエンド、プロジェクト管理機能、または自動化された機能はありませんビルドプロセス。」HTH!
dizzwave 2011

1
これはVisual Studioではサポートされておらず、href属性のIntellisenseもサポートされていません。
コナード

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.

更新 ThomasHagströmが指摘したように、Resharperはクリック可能なa-href URLをサポートするようになりました。それに応じてスクリーンショットを更新しました。


2
実際、ReSharperとCTRL + SHIFT + F1を使用すると、URLをクリック可能でHTMLリンクに互換性があるため、これが実際に最良のオプションです
ThomasHagström16年

1
ThomasHagströmに感謝し、回答とスクリーンショットを更新しました。
MHolzmayr 2016年

26

標準のHTML構文を使用できます。

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

テキストがVisual Studioに表示されます。


5
これが最良のアプローチです。出力はVisual Studio(テキストを表示するだけです)でも意味があり、リンクはSandcastleなどのドキュメントツールで機能します。
Snæbjørn

20

Innovasys Documentなどのツールが使用できるように、生成されたXmlドキュメントで!:プレフィックスをcrefに含めることができますXとSandcastleが使用します。例えば

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

Visual StudioのIntelliSenseはそれをIntelliSenseのリンクとして表示しませんが、それはツールチップであるためクリックできません。


2
オブジェクトブラウザが実際に<see/>クリック可能 かつ認識可能な WebサイトURIを何らかの方法で作成した場合、ポイントが存在します(オブジェクトブラウザはツールチップではないため)。言ってるだけ' ;-)。
binki 2014年

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.