41

我使用Visual Studio 2010 Ultimate在C++中進行編程。我想記錄一些功能,我希望文檔在Intellisense中顯示。如何編寫在Intellisense中顯示的C++註釋?

根據MSDN,我只需要在聲明之前或在同一行之後放置註釋。所以,我想這一點:

// This is a test. 
void foo(); 
void bar() { foo(); } 

當過foo()移動我的鼠標,註釋不會出現在工具欄中。我也試過:

  • ///
  • <summary></summary>標籤
  • 建設與/doc(通過設置 「生成XML文檔文件」 選項,在項目設置)

我已經沒有運氣至今。有沒有人知道一種方法來完成這項工作?

+0

我認爲只適用於C++/CLI,.xml文件必須具有相同的名稱作爲*裝配*。 – 2011-12-23 20:23:03

+1

恰恰相反:C++ Intellisense應該可以工作,並且C++/CLI在VS2010中不支持(還?)。請參閱http://connect.microsoft.com/VisualStudio/feedback/details/501921/c-cli-intellisense – surfen 2012-03-14 10:08:16

+0

對此問題沒有確定的答案? – 2013-03-08 17:59:58

回答

7

嘗試安裝Visual Assist和使用doxigen風格:

/** 
* COMENT OF A CLASS 
**/ 
class Foo 
{ 
    public: 
     /** 
     * \brief A foo method. 
     * 
     * More complete description of foo. 
     * 
     * \param i A foo parameter. 
     * \return An int 
     * 
     **/ 
     int fooMethod(int i); 

    private: 
     int i; /*!< COMENT OF A MEMBER */ 

}; 
+1

這很好,但它不回答這個問題... – Drahakar 2011-12-23 17:05:16

+0

Visual Assist真棒!無法想象使用VS現在沒有它:) – Nerdtron 2011-12-23 17:05:29

+4

@Drahakar確定它。它提供了一種使其工作的方法。它需要第三方插件,但它是對這個問題的回答。這個問題不是,「我怎麼做,而不使用任何插件」:) – Nerdtron 2011-12-23 17:06:19

13

這現在支持在VS 2012!

以前,註釋中的XML標籤只能用C++/CLI讀入,而不是普通的舊C++。 VS 2012現在至少將其中一部分帶入常規C++ - 它在What's New in Visual Studio 2012和MSDN文檔中:XML Documentation (Visual C++)

我已經用我自己的應用程序在2012年最終測試了它,並且我可以確認摘要,段落和seealso標籤都被拉出格式化爲工具提示。

+1

啊,所以他們*可以*將其添加到重新架構的IDE畢竟。我想知道他們是否有足夠的考慮,通過Service Pack修復VS2010。 – Synetech 2013-06-06 13:56:37

+0

另外,如果你想快速添加這些評論,就像你可以在C#中輸入///一樣,你可以使用GhostDoc – Marcus10110 2013-11-23 02:36:53

+2

還有[CppTripleSlash](https://visualstudiogallery.msdn.microsoft.com/22333333-fd6f -4dcb-8223-52701eddd7ad)快速添加這些評論 – tcb 2015-04-16 16:42:43

2

我沒有使用VS2010太多年來記住這是否在那裏工作或沒有。但我已經在許多不同的版本VS的做了幾年的...:

#pragma region foo(float) 
/// <summary> .... </summary> 
/// <param name="bar"> .... </param> 
/// <returns> .... </returns> 
int foo(float bar) 
{ 
    // stuff 
} 
#pragma endregion 

換句話說,手動投入正是Visual Studio會自動地把在C#代碼你。

然後給Intellisense引擎一分鐘左右來重新分析文件。當然,進行構建會迫使它重新進行分解。

我記得,這在最新的VS2010 Express社區中有效,但我不記得它是否在VS2010旗艦版中工作。

6

我不知道它的Visual Studio版本的介紹,但在2015年VS,你可以簡單地把上面的註釋一functionmethodclassstructunionenum classnamespace甚至個別變量(當地人太),它將由Intellisense顯示。如果你想從另一個模塊中記錄某些東西,你必須在頭文件中寫一個註釋。例子: Function Class Variable

+0

另外,如果您希望Intellisense顯示來自不同模塊的文檔的doc,則必須在頭文件中寫入註釋。我在評論中寫了這個,因爲圖像的SO語法被破壞了。 – 2017-01-07 01:33:10