2011-06-23 67 views
26

我正在使用Eclipse CDT編寫C++代碼。在StackOverflow上閱讀了關於是否將doxygen文檔放置在頭文件或實現文件中的幾處討論後,似乎大多數開發人員贊成將doxygen註釋放在頭文件中(儘管這絕不意味着達成共識)。但是,如果我在頭文件中放入doxygen註釋,當我將鼠標指針懸停在註釋的方法/成員的實例上時,我無法讓Eclipse顯示這些註釋。有沒有辦法讓Eclipse在Eclipse的懸停提示中使用我的頭文件中的Doxygen文檔?Eclipse的懸停技巧可以從頭文件中顯示Doxygen註釋嗎?

我在Preferences> C/C++> Editor中將「Documentation tool comments workspace default」設置爲「Doxygen」。

我在Ubuntu 11.04上使用Eclipse 3.6.2和CDT 7.0.2。寫入時

+0

我偶然發現了同樣的問題。 Eclipse CDT可以毫無問題地顯示來自頭文件的文檔,只要它沒有對實現源的訪問權限,因爲那樣它就更喜歡從那裏顯示文檔(即使沒有)。真的很煩人。 – kayahr

回答

1

Doxygen的註釋顯示在Eclipse上懸停:

  • CPP文件(或報頭)文件之前方法源(未聲明)類聲明之前
  • 頭文件
+4

是的,你的回答與我發現的一致。你知道是否有任何方法讓Eclipse從頭文件中顯示方法和成員變量的Doxygen註釋? –

+1

其實我覺得沒有意義。我認爲這是描述代碼的最好的地方,因爲只有在這種情況下才能看到你描述的內容。頭文件中的註釋僅在編寫/使用庫時有用。 –

+4

@Yuriy Petrovskiy在頭文件中的描述是非常有用的,因爲你不應該看執行代碼,只能在頭部的接口 – avim

0

我發現了一個解決這個問題的方法,但是這對於一般的使用來說很不方便。

如果你使用的是外部構建系統(make/cmake eg。),eclipse無法傳遞它的宏定義,那麼你所需要做的就是將實現放置在它自己的include guard中,並添加include保衛宏達到日食的符號定義。這會從eclipse中隱藏這段代碼,強制它在不影響構建的情況下使用預期的註釋。

例如:

#ifndef INCLUDE_GUARD_FOR_IMPLEMENTATION 
#define INCLUDE_GUARD_FOR_IMPLEMENTATION 

// Implementation code 

#endif 

,然後在項目 - >屬性 - > C/C++常規 - >路徑和符號下添加符號部分INCLUDE_GUARD_FOR_IMPLEMENTATION。

它當然有灰色部分的副作用,如果你不能或不想把實現代碼放在一個單獨的頭部,它可能看起來相當不合適。

相關問題